Generar vídeos con Wan2.1-T2V-14B e Inference Providers

Generar vídeos con Wan2.1-T2V-14B e Inference Providers Generar vídeos con Wan2.1-T2V-14B e Inference Providers

Hugging Face Inference Providerslink image 0

Está claro que el mayor hub de modelos de inteligencia artificial es Hugging Face. Y ahora están dando la posibilidad de hacer inferencia de alguno de sus modelos en proveedores de GPUs serverless

Uno de esos modelos es Wan-AI/Wan2.1-T2V-14B que a día de escribir este post es el mejor modelo de generación de vídeo open source, como se puede ver en la Artificial Analysis Video Generation Arena Leaderboard

video generation arena leaderboard

Si nos fijamos en su modelcard podemos ver a la derecha un botón que pone Replicate.

Wan2.1-T2V-14B modelcard

Inference providerslink image 1

Si vamos a la página de configuración de los Inference providers veremos algo como esto

Inference Providers

Dónde podemos darle al botón con una llave para introducir la API KEY del proveedor que queramos usar, o dejar seleccionado el camino con dos puntos. Si hacemos la primera opción será el proveedor el que nos cobre por la inferencia, mientras que en el segundo será Hugging Face quien nos cobre la inferencia. Así que haz lo que mejor te convenga

Inferencia con Replicatelink image 2

En mi caso he obtenido una API KEY de Replicate y la he introducido en un archivo llamado .env que es donde guardaré las API KEYS y que no debes subir a GitHub, GitLab o el repositorio de tu proyecto.

El .env tiene que tener este formato

HUGGINGFACE_TOKEN_INFERENCE_PROVIDERS="hf_aL...AY"
REPLICATE_API_KEY="r8_Sh...UD"

Donde HUGGINGFACE_TOKEN_INFERENCE_PROVIDERS es un token que tienes que obtener desde Hugging Face y REPLICATE_API_KEY es la API KEY de Replicate que puedes obtener desde Replicate.

Lectura de las API Keyslink image 3

Lo primero que tenemos que hacer es leer las API KEYS desde el archivo .env

	
import os
import dotenv
dotenv.load_dotenv()
REPLICATE_API_KEY = os.getenv("REPLICATE_API_KEY")
HUGGINGFACE_TOKEN_INFERENCE_PROVIDERS = os.getenv("HUGGINGFACE_TOKEN_INFERENCE_PROVIDERS")
Copy

Logging en el hub de Hugging Facelink image 4

Para poder usar el modelo de Wan-AI/Wan2.1-T2V-14B, como está en el hub de Hugging Face, necesitamos loguearnos.

	
from huggingface_hub import login
login(HUGGINGFACE_TOKEN_INFERENCE_PROVIDERS)
Copy

Cliente de Inferencialink image 5

Ahora creamos un cliente de inferencia, tenemos que especificar el proveedor, la API KEY y en este caso, además, vamos a establecer un tiempo de timeout de 1000 segundos, porque por defecto es de 60 segundos y el modelo tarda bastante en generar el vídeo.

	
from huggingface_hub import InferenceClient
client = InferenceClient(
provider="replicate",
api_key=REPLICATE_API_KEY,
timeout=1000
)
Copy

Generación del vídeolink image 6

Ya tenemos todo para generar nuestro video. Usamos el método text_to_video del cliente, le pasamos el prompt y le decimos cuál modelo del hub queremos usar, si no usará el que está por defecto.

	
video = client.text_to_video(
"Funky dancer, dancing in a rehearsal room. She wears long hair that moves to the rhythm of her dance.",
model="Wan-AI/Wan2.1-T2V-14B",
)
Copy

Guardando el vídeolink image 7

Por último guardamos el video, que es de tipo bytes, en un fichero en nuestro disco

	
output_path = "output_video.mp4"
with open(output_path, "wb") as f:
f.write(video)
print(f"Video saved to: {output_path}")
Copy
	
Video saved to: output_video.mp4

Video generadolink image 8

Este es el video generado por el modelo

Seguir leyendo

Últimos posts -->

¿Has visto estos proyectos?

Subtify

Subtify Subtify

Generador de subtítulos para videos en el idioma que desees. Además a cada persona le pone su subtítulo de un color

Ver todos los proyectos -->

¿Quieres aplicar la IA en tu proyecto? Contactame!

¿Quieres mejorar con estos tips?

Últimos tips -->

Usa esto en local

Los espacios de Hugging Face nos permite ejecutar modelos con demos muy sencillas, pero ¿qué pasa si la demo se rompe? O si el usuario la elimina? Por ello he creado contenedores docker con algunos espacios interesantes, para poder usarlos de manera local, pase lo que pase. De hecho, es posible que si pinchas en alún botón de ver proyecto te lleve a un espacio que no funciona.

Flow edit

Flow edit Flow edit

Edita imágenes con este modelo de Flow. Basándose en SD3 o FLUX puedes editar cualquier imagen y generar nuevas

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
Ver todos los contenedores -->

¿Quieres aplicar la IA en tu proyecto? Contactame!

¿Quieres entrenar tu modelo con estos datasets?

short-jokes-dataset

Dataset de chistes en inglés

opus100

Dataset con traducciones de inglés a español

netflix_titles

Dataset con películas y series de Netflix

Ver más datasets -->