Guía de uso
Crear vídeos cortos con la API de texto a vídeo happyhorse-1.1: flujo de trabajo de extremo a extremo
El vídeo corto es un juego de volumen. TikTok, Reels y Shorts recompensan a las cuentas que publican cada día, y el mayor cuello de botella de producción suele ser el B-roll: esos clips verticales de 3–8 segundos que sostienen un gancho, un momento destacado de producto o un bucle satisfactorio.HappyHorse 1.1 texto a vídeo encaja especialmente bien en este escenario porque genera audio nativo en la misma llamada —sin necesidad de música ni foley por separado— y admite directamente salida vertical 9:16, así que no hay que recortar en posproducción.
Esta guía es un flujo de trabajo de extremo a extremo: patrones de prompt ajustados para vídeo corto, el ciclo de vida de las tareas asíncronas, un script de producción por lotes que renderiza una semana de clips en una sola ejecución, y el cálculo de costes por plataforma. Cada clip incrustado a continuación se generó con la petición exacta que se muestra al lado: con el audio activado, directamente desde la API.
Requisitos previos. Necesitas una clave de hiapi (
Authorization: Bearer sk-…). Si nunca has llamado a/v1/tasks, consulta primero la documentación de creación de la API asíncrona o el tutorial de curl + Python de happyhorse-1.1; este artículo se basa en ese tutorial y se centra en el flujo de trabajo para vídeo corto.
Por qué este modelo es adecuado para vídeo corto
Tres características importan para este formato:
- Audio nativo. El sonido ambiente, el foley y los efectos puntuales se generan junto con el vídeo. Para el contenido de «satisfacción inexplicable» y de B-roll, el sonido es el contenido: los clips con audio real superan claramente a los clips de IA mudos que los creadores rellenan con música de stock.
- 9:16 como ciudadano de primera clase.
aspect_ratioacepta9:16(además de16:9,1:1,4:5,21:9,9:21, etc.), así que puedes renderizar en vertical de forma nativa en lugar de recortar un máster horizontal y perder la composición. - Rango de 3–15 segundos.
durationacepta cualquier entero de 3 a 15, justo el intervalo del vídeo corto. Un gancho son 3 segundos, un momento destacado de producto son 4–6 segundos, y una microhistoria completa cabe en 12–15 segundos.
El esquema de entrada se mantiene deliberadamente pequeño. Solo prompt es obligatorio; los parámetros útiles son:
| Campo | Valores | Valor predeterminado para vídeo corto |
|---|---|---|
prompt |
cadena (obligatorio) | ver los patrones de abajo |
aspect_ratio |
16:9, 9:16, 3:4, 4:3, 4:5, 5:4, 1:1, 9:21, 21:9 |
9:16 |
resolution |
720p, 1080p |
720p para borradores, 1080p para publicaciones destacadas |
duration |
entero 3–15 (segundos) | 3–5 |
Hay dos cosas que no acepta, para que no desperdicies una petición en descubrirlo: no hay interruptor audio (el audio siempre está activado) ni seed. Enviar cualquiera de los dos devuelve un error de validación 400.
Tres clips reales, tres tipos de vídeo corto
Estos son los tres formatos dominantes en los feeds de vídeo corto, y cada uno se genera en una sola llamada a la API. Los prompts siguen un patrón repetible que puedes adaptar: etiqueta de formato → sujeto y acción → composición → iluminación → indicación de audio.
1. B-roll de estilo de vida (el clásico de cafetería)
{
"model": "happyhorse-1.1/text-to-video",
"input": {
"prompt": "Prueba de vídeo corto vertical: un barista crea latte art en una cafetería luminosa, composición vertical estilo móvil, audio natural de leche vaporizándose y conversaciones de cafetería.",
"duration": 4,
"resolution": "720p",
"aspect_ratio": "9:16"
}
}
Fíjate en la indicación de audio al final del prompt («leche vaporizándose y conversaciones de cafetería»). Decir explícitamente qué sonidos quieres es el truco de mayor impacto al usar este modelo: sin indicarlo, seguirá generando audio, pero describirlo da como resultado una pista ambiental utilizable.
2. Avance de lanzamiento de producto
{
"model": "happyhorse-1.1/text-to-video",
"input": {
"prompt": "Avance de lanzamiento de producto, vertical 9:16: una zapatilla retro de suela gruesa en tonos crema y naranja tostado gira lentamente sobre un plato giratorio negro mate, una luz de contorno dura recorta su silueta, sutiles partículas de polvo flotan en el haz de luz, fondo oscuro de estudio, amplio espacio vacío arriba para superponer un título. Impactante, cinematográfico. Audio nativo: un zumbido grave de bajo y un suave silbido cuando la zapatilla completa el giro.",
"duration": 3,
"resolution": "720p",
"aspect_ratio": "9:16"
}
}
Aquí hay dos trucos específicos del vídeo corto. Primero, «amplio espacio vacío arriba para superponer un título»: vas a colocar texto sobre este clip en el editor, así que pide al modelo que deje espacio negativo en lugar de dejar que tus subtítulos compitan con la imagen. Segundo, el audio está diseñado, no es ambiente: un zumbido grave de bajo más un silbido sincronizado con el ritmo de la acción, que es exactamente lo que usan los avances de producto.
3. Bucle macro de satisfacción inexplicable
{
"model": "happyhorse-1.1/text-to-video",
"input": {
"prompt": "Macro de satisfacción inexplicable, vertical 9:16: una espátula afilada corta limpiamente un bloque de arena cinética de color menta pálido sobre una mesa blanca, la superficie cortada se desmorona en cámara lenta, los gránulos se derraman, iluminación de estudio suave y uniforme, primerísimo plano que llena el encuadre. Audio nativo: un crujido seco y granular al cortar, sin música.",
"duration": 3,
"resolution": "720p",
"aspect_ratio": "9:16"
}
}
«sin música» importa: para contenido de tipo ASMR, el modelo debería gastar su presupuesto de audio en foley (el crujido granular), y decirlo explícitamente evita que añada una banda sonora genérica.
Patrones de prompt para vídeo corto
Destilados de los clips anteriores y de las ejecuciones que los produjeron:
- Empieza por el formato. Abre con «vídeo corto vertical», «avance de lanzamiento de producto, vertical 9:16», «macro de satisfacción inexplicable». El modelo compone para el encuadre que especifiques: una composición estilo móvil no se ve igual que un plano cinematográfico de pantalla ancha.
- Un sujeto, una acción. 3–5 segundos son un solo compás. «Un barista crea latte art» funciona; contar una historia de tres actos en 4 segundos solo te da una masa confusa. Si necesitas varios tiempos, genera varios clips y móntalos juntos; así es como se edita el vídeo corto real.
- Guioniza el audio en una frase. Termina cada prompt con
Audio nativo: <los 1–3 sonidos que quieres>. El fondo ambiente («conversaciones de cafetería»), el foley («un crujido seco y granular») o los efectos puntuales diseñados («un zumbido grave de bajo y un suave silbido») funcionan. - Reserva espacio para superposiciones. Si el clip va a llevar subtítulos o un título, pide «espacio vacío arriba» o «espacio negativo limpio en el tercio superior». Es más barato que recomponer en posproducción.
- Termina en un estado que pueda enlazar en bucle. El feed reproduce en bucle automáticamente. Un prompt que termina donde empezó («la zapatilla completa el giro») enlaza en bucle de forma limpia y acumula silenciosamente reproducciones repetidas.
Flujo de trabajo asíncrono: enviar, consultar, descargar
Cada generación es una tarea asíncrona: POST /v1/tasks devuelve inmediatamente un taskId, consultas GET /v1/tasks/:id hasta que status sea success, y luego descargas output[0].url. Un clip de 4 segundos en 720p suele renderizarse en unos 1–3 minutos.
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1/text-to-video",
"input": {
"prompt": "Prueba de vídeo corto vertical: un barista crea latte art en una cafetería luminosa, composición vertical estilo móvil, audio natural de leche vaporizándose y conversaciones de cafetería.",
"duration": 4,
"resolution": "720p",
"aspect_ratio": "9:16"
}
}'
# → {"code":200,"data":{"taskId":"tk-hiapi-…"},"message":"success"}
Una regla operativa que pilla a la gente: las URL de salida caducan. El output[0].url de la respuesta lleva una expireAt; descarga el mp4 inmediatamente después de que la tarea tenga éxito y guárdalo en tu propio almacenamiento. No pongas la URL de enlace directo en un CMS ni en una herramienta de programación.
Producción por lotes: renderizar una semana de clips en una sola ejecución
La API de tareas brilla cuando envías en paralelo. Como la creación devuelve inmediatamente, el patrón de escala correcto es enviar todas las tareas primero y luego consultarlas todas: cinco clips se renderizan aproximadamente en el tiempo real de uno solo.
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
BATCH = [
("mon-coffee", "Vídeo corto vertical: café de filtro floreciendo en cámara lenta, vapor enrollándose, luz cálida de mañana. Audio nativo: sonido de agua fluyendo, ambiente suave de cafetería.", 4),
("tue-sneaker", "Avance de lanzamiento de producto, vertical 9:16: una zapatilla deportiva de neón salpica en agua poco profunda, gotas congeladas en el aire, fondo oscuro. Audio nativo: un salpicado profundo.", 3),
("wed-sand", "Macro de satisfacción inexplicable, vertical 9:16: un bloque de arena cinética color lavanda cortado por un hilo fino, la superficie cortada se desmorona. Audio nativo: un crujido seco y granular, sin música.", 3),
("thu-city", "Vídeo corto vertical: calle de neones lluviosa de noche, paraguas pasando, reflejos ondulando. Audio nativo: sonido de lluvia y tráfico lejano.", 5),
("fri-dessert", "Macro de vídeo corto vertical: una cuchara rompe la costra de caramelo de una crème brûlée, la crema de debajo cede. Audio nativo: un crujido nítido y luego silencio.", 3),
]
def submit(prompt, duration):
r = requests.post(API, headers=HEADERS, json={
"model": "happyhorse-1.1/text-to-video",
"input": {"prompt": prompt, "duration": duration,
"resolution": "720p", "aspect_ratio": "9:16"},
}, timeout=60)
return r.json()["data"]["taskId"]
# 1) enviar todas las tareas primero
tasks = {key: submit(p, d) for key, p, d in BATCH}
# 2) consultar hasta que todas estén en estado terminal
while tasks:
time.sleep(10)
for key, tid in list(tasks.items()):
t = requests.get(f"{API}/{tid}", headers=HEADERS, timeout=30).json()["data"]
if t["status"] == "success":
url = t["output"][0]["url"] # caduca: descargar inmediatamente
open(f"{key}.mp4", "wb").write(requests.get(url, timeout=180).content)
print(f"done: {key}.mp4")
del tasks[key]
elif t["status"] == "fail":
print(f"FAILED {key}: {t.get('error')}")
del tasks[key]
Notas de producción para ejecutar este tipo de script a escala:
- Reenvía tras un fallo en lugar de volver a consultar. Una tarea fallida es terminal; envía una nueva con la misma entrada (si falla dos veces por motivos de contenido, reescribe el prompt ocasionalmente).
- Mantén un manifiesto. Escribe
{key, prompt, taskId, local_path}en un archivo JSON sobre la marcha, y al reiniciar omite las claves cuyo mp4 ya existe. Los trabajos por lotes se interrumpen; la recuperabilidad es gratis si lo planificas con antelación. - Ojo con los límites de concurrencia. Si vas a enviar decenas de tareas, espacia los envíos uno o dos segundos en lugar de lanzar 50 en el mismo instante.
Cuánto cuesta
La facturación se calcula por segundos de vídeo de salida (página de precios): $0.16/segundo en 720p y $0.21/segundo en 1080p, independientemente del aspecto. La duración es la única palanca de coste, lo que hace del vídeo corto el lugar más barato para usar este modelo:
| Clip | Especificación | Coste |
|---|---|---|
| Gancho / bucle de satisfacción | 3 s · 720p | $0.48 |
| Compás de B-roll estándar | 4 s · 720p | $0.64 |
| Avance de producto | 5 s · 720p | $0.80 |
| Publicación destacada | 5 s · 1080p | $1.05 |
| Publicación diaria, 30 × 4 s de borradores al mes | 720p | ~$19.20 |
Un flujo práctico de dos niveles: itera los prompts a 3 s/720p (unos medio dólar por intento) y vuelve a renderizar en 1080p solo los ganadores para publicarlos. Los prompts se trasladan limpiamente entre resoluciones, así que no rehaces el trabajo creativo: solo pagas por píxeles cuando ya sabes que el clip merece la pena.
De la salida de la API a la publicación publicada
El modelo te entrega un clip vertical terminado con audio; lo que queda es el envoltorio:
- Duración por plataforma: los clips de 3–5 segundos funcionan muy bien como bucle en TikTok y Reels; para Shorts, empalmar dos o tres compases en 10–15 segundos suele retener a la audiencia más tiempo.
durationadmite hasta 15 segundos para cubrir una microhistoria completa en una sola llamada, si no quieres editar. - Superposición de texto: añade subtítulos en el editor (CapCut, Premiere, ffmpeg drawtext). Por eso importa el truco del prompt de «reservar espacio vacío».
- Conserva el audio nativo como capa base, incluso si añades música: el foley real bajo una cama musical comunica más valor de producción que solo música.
- Series coherentes: el vídeo corto premia la repetición de formato. Fija el esqueleto del prompt (composición, iluminación, estilo de audio) y cambia solo el sujeto: las tres plantillas de género anteriores están diseñadas precisamente para reutilizarse.
Si tu serie gira en torno a activos de marca —fotos reales de producto, mascotas, rostros—, combina este flujo de trabajo con happyhorse-1.1 imagen a vídeo: genera o fotografía un fotograma clave una vez y luego dirige el movimiento a partir de él, manteniendo el mismo sujeto en cada publicación.
Empieza a renderizar
El camino más rápido: consigue una clave, copia la petición del barista de esta página y en pocos minutos tendrás tu primer clip vertical con audio. La página del modelo happyhorse-1.1 texto a vídeo tiene la referencia de parámetros en vivo y los precios, y la guía de inicio rápido cubre la autenticación si es tu primera llamada a hiapi. Renderiza tres borradores, quédate con el mejor y tendrás la publicación de mañana por menos que un café.
Artículos relacionados
Ver todos los artículos →-
Guía de uso
seedream-5.0-pro/image-to-image: guía de introducción — capacidades, precios y puntos clave de integración
Límites de capacidad, modelo de facturación y prácticas de integración técnica del modelo de edición de imágenes de ByteDance
-
Guía de uso
Guía de inicio de seedream-5.0-pro texto a imagen: límites de capacidad, integración de API y control de costes
Perspectiva práctica para desarrolladores: desde los puntos clave de los parámetros hasta la estimación de coste de $0.05 por imagen
-
Guía de uso
Guía de inicio de Hailuo 2.3 Fast de imagen a video: límites de capacidad, precios e integración práctica
Claves de selección e integración del modelo MiniMax de imagen a video para desarrolladores