Guía de uso
FLUX.3 Video para videos cortos: borradores, renderizado y continuaciones mediante la API
Un corto vertical 9:16 con audio nativo: prueba la idea con un borrador de $0.45, renderiza el video final en 720p y prolóngalo hasta 10 segundos, todo con el mismo id de modelo y con salidas reales.
FLUX.3 Video (en hiapi es flux-3-video) cubre con el mismo id de modelo las tres cosas que necesita un flujo de trabajo de video corto: salida vertical 9:16, una pista de audio generada sincronizada con la imagen y la continuación de video a partir del último fotograma de un clip existente. Esta guía usa las tres funciones en una tarea pequeña: crear un corto vertical de 10 segundos para una ramen-ya de madrugada. Primero valida el concepto con un borrador barato, después renderiza el video final en 720p y luego prolonga la toma más allá de los 5 segundos mediante la continuación. Cada clip a continuación es una salida real de la API sin editar, y cada precio proviene de la tabla de precios en vivo de hiapi.
Para consultar la referencia completa de parámetros y un primer recorrido de solicitud, véase la guía de la API de FLUX.3 Video. Si se prefieren endpoints separados de imagen a video y de fotograma clave, con un precio por segundo más bajo, el flujo de trabajo de video corto FLUX 3 Max cubre ese modelo. Este artículo trata de lo que flux-3-video ofrece adicionalmente: audio, vista previa en borrador y continuación.
Un flujo de trabajo en tres llamadas
| Paso | Función | Campos clave | Precio (por segundo) | Costo de 5 segundos |
|---|---|---|---|---|
| 1. Borrador | Comprobar si el prompt se presenta como se espera | draft: true |
$0.09 | $0.45 |
| 2. Video final | Renderizar el clip que se va a publicar | resolution: "720p" |
$0.25 | $1.25 |
| 3. Continuación | Prolongar el clip final 5 segundos más | start_video + draft: true |
$0.18 | $0.90 |
Las tres usan el mismo id de modelo y la misma estructura de solicitud en el endpoint de tareas asíncronas. El costo total de esta ejecución es de $2.60, y se obtiene un corto vertical de 10 segundos con sonido. En 1080p, la tarifa del renderizado normal sube a $0.42/s, la de la continuación a $0.76/s y la de la continuación en 720p sin borrador a $0.59/s. Las tarifas actuales están en la página del modelo flux-3-video y en la página de precios.
Pasos 1 y 2: borrador y video final, enviados como un lote
El prompt describe la toma en un bloque de una frase y usa una línea Audio: independiente para el sonido. Con generate_audio: true activado, el modelo devuelve un .mp4 con una pista AAC integrada, en lugar de un archivo de audio separado.
{
"model": "flux-3-video",
"input": {
"prompt": "Toma vertical en mano, de noche: el vapor de un tazón de ramen tonkotsu sube, unos palillos levantan fideos brillantes hacia la cámara, detrás hay una barra de ramen con solo seis asientos, farolillos de papel cálidos, la lluvia deja marcas en la ventana, profundidad de campo reducida. Audio: el borboteo del caldo, suaves sorbos de fideos, la lluvia contra el cristal, conversaciones en voz baja.",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
"draft": true,
"generate_audio": true
}
}
La solicitud del video final es el mismo cuerpo, solo que sin "draft": true. Ambas solicitudes se envían seguidas. Ninguna espera a la otra, porque cada llamada devuelve inmediatamente un taskId:
| Borrador | Final 720p | |
|---|---|---|
| Creación → finalización (marcas de tiempo del servidor) | 29 s | 64 s |
| Tamaño de salida | 704×1280 | 704×1280 |
| Duración | 5.04 s | 5.04 s |
| Nivel máximo de audio | −23 dB | −5 dB |
| Costo | $0.45 | $1.25 |
Este es el borrador:
Y este es el video final en 720p del mismo prompt:
Estos dos clips muestran qué puede decirte el borrador y qué no:
- El borrador es otra versión, no una vista previa a baja resolución del video final. El borrador encuadra un tazón blanco liso con los fideos ya levantados. El video final elige un tazón estampado, con huevo poché, cebolleta, comensales en la barra y vapor. El esquema de la solicitud no tiene campo seed, así que no puedes fijar la composición del borrador y volver a renderizarla a plena calidad.
- Las dimensiones en píxeles son exactamente iguales. Ambas salidas son 704×1280. La diferencia está en el detalle: el borrador es claramente más suave y el fondo está desenfocado, mientras que el video final conserva la textura de los fideos y las letras de los farolillos.
- La pista de audio del borrador tiene mucho menos volumen. Su pico es de aproximadamente −23 dB, frente a −5 dB del video final. No uses el borrador para juzgar la mezcla de audio.
Por lo tanto, usa el borrador para comprobar el concepto en varias variantes de prompt a un costo de $0.45 cada una (¿el prompt logra un primer plano vertical de ramen de noche con el gesto de levantar los fideos?). Después renderiza el video final solo para los prompts que pasen la prueba y elige entre los videos finales.
Paso 3: prolongar la toma con la continuación
Un gancho de 5 segundos suele ser demasiado corto para una publicación. En lugar de generar otro clip sin relación, pasa la URL pública del video final como start_video y describe lo que ocurre a continuación:
{
"model": "flux-3-video",
"input": {
"prompt": "Continúa la misma toma: los fideos salen de plano al ser sorbidos, la cámara en mano se desplaza hacia arriba y a la derecha, pasa por encima del tazón humeante y se dirige a la ventana con marcas de lluvia, los farolillos de papel brillantes se reflejan en el cristal, fuera hay un letrero de neón desenfocado. Audio: sorbos de fideos, luego la lluvia contra la ventana y las conversaciones de la barra suben suavemente de volumen.",
"start_video": "https://static.hiapi.ai/blog/flux-3-video-short-form-video/hook-final.mp4",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
"draft": true,
"generate_audio": true
}
}
La tarea tardó 119 segundos desde su creación hasta su finalización y costó $0.90 (5 s × $0.18 de continuación en borrador). El resultado es el siguiente:
Hay dos comportamientos que conviene prever:
- La salida solo contiene los segundos nuevos. El archivo devuelto dura 5.0 segundos. Empieza en el último fotograma del clip de origen (los fideos levantados frente al farolillo) y luego se desplaza hacia la ventana según lo solicitado. No incluye los 5 segundos originales, así que debes unir los dos archivos tú mismo.
- Como el primer fotograma coincide, la unión es continua. Un simple concat genera una toma continua de 10 segundos:
ffmpeg -i hook-final.mp4 -i extend-draft.mp4 \
-filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" -c:v libx264 -crf 20 -c:a aac -movflags +faststart cut-10s.mp4
Aquí la continuación se renderizó en modo borrador para ahorrar costos, y la segunda mitad es más suave que la primera, igual que ocurre con un borrador independiente. Para el clip que se va a publicar, la continuación en 720p sin borrador cuesta $0.59/s ($2.95 por 5 segundos). Prolongar en pasos de 5 segundos te permite confirmar tramo a tramo antes de pagar el siguiente; en cambio, renderizar de una vez un video final de 20 segundos en 720p requiere pagar $5.00 por adelantado.
Script de procesamiento por lotes asíncrono
El siguiente script envía en paralelo cualquier número de tareas, consulta cada taskId hasta que se completa y descarga la salida de inmediato. Las URL de resultados en temp.hiapi.ai llevan una marca de tiempo expireAt, así que copia los archivos a tu propio almacenamiento en lugar de enlazarlos directamente. La documentación de los endpoints está en Create Task y Get Task Detail.
import os, time, requests
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}
BASE = {"duration": 5, "resolution": "720p", "aspect_ratio": "9:16",
"generate_audio": True}
jobs = {
"ramen_draft": {**BASE, "draft": True, "prompt": "Toma vertical en mano, de noche: …"},
"coffee_draft": {**BASE, "draft": True, "prompt": "Primer plano vertical: café expreso goteando…"},
"ramen_final": {**BASE, "prompt": "Toma vertical en mano, de noche: …"},
}
# 1. Enviar todo; cada llamada devuelve un taskId de inmediato
task_ids = {}
for name, inp in jobs.items():
r = requests.post(API, headers=HEADERS,
json={"model": "flux-3-video", "input": inp}, timeout=60)
r.raise_for_status()
task_ids[name] = r.json()["data"]["taskId"]
# 2. Consultar hasta que cada tarea alcance un estado final
pending = dict(task_ids)
while pending:
time.sleep(10)
for name, tid in list(pending.items()):
data = requests.get(f"{API}/{tid}", headers=HEADERS, timeout=30).json()["data"]
if data["status"] == "success":
url = data["output"][0]["url"]
with open(f"{name}.mp4", "wb") as f:
f.write(requests.get(url, timeout=120).content)
print(name, "guardado")
pending.pop(name)
elif data["status"] in ("fail", "failed"):
print(name, "falló:", data.get("error"))
pending.pop(name)
Para el paso de continuación, añade "start_video": "<URL pública del video final aprobado>" al input. Esa URL debe ser accesible públicamente, así que primero sube el video final aprobado a tu propio almacenamiento.
Reglas de solicitud que conviene conocer antes de enviar por lotes
Estas respuestas las devolvió la API durante esta ejecución. Las solicitudes no válidas se rechazan en el momento del envío con 400 INVALID_REQUEST, y no se crea ninguna tarea:
aspect_ratioaceptaauto,21:9,2:1,16:9,4:3,1:1,3:4,9:16. Cualquier otro valor se rechaza.durationtiene un máximo de 20 (maximum: got 99, want 20).start_videodebe ser una URL en forma de cadena.- Los campos desconocidos se rechazan (
additional properties ... not allowed), así que los errores de escritura generan un error explícito en lugar de ignorarse.
A la inversa: una solicitud que pasa la validación es una tarea real y facturable. No envíes prompts de "prueba" sin draft: true. Un simple {"prompt": "test"} es válido y renderiza un clip a precio completo.
Preguntas frecuentes
¿Cuál es la forma más económica de probar prompts de flux-3-video? El modo borrador en 720p: $0.09/s, por lo que un clip de 5 segundos cuesta $0.45. Muestra si el concepto es viable, pero el renderizado del video final será otra versión.
¿flux-3-video genera sonido?
Sí. Con generate_audio: true, la pista de audio se integra en el .mp4 devuelto. En esta prueba, describir el sonido con una línea Audio: independiente en el prompt produjo ambiente coincidente (borboteo, sorbos de fideos, lluvia, conversaciones).
¿Cuánto puede durar un clip de flux-3-video?
Hasta 20 segundos por solicitud. Con la continuación mediante start_video, puedes prolongarlo por tramos y aprobar cada uno antes de pagar el siguiente.
¿La continuación devuelve el video completo ya unido? No. En esta prueba, solo devolvió los 5 segundos nuevos, a partir del último fotograma del clip de origen. Une los archivos tú mismo.
Empieza a construir
Abre la página del modelo flux-3-video para consultar los precios actuales y usar el playground. Después usa el script de procesamiento por lotes de arriba para esbozar varios ganchos verticales, renderizar el video final de los que sean viables y prolongar el mejor.
Artículos relacionados
Ver todos los artículos →-
Guía de uso
¿Qué es GPT Image 2.6? Edición con markup y especificaciones conocidas
Toda la información de la especificación de la API de OpenAI sobre GPT Image 2.6, cómo usar el nuevo parámetro de edición markup y qué partes aún no se han anunciado.
-
Guía de uso
¿Cuánto cuesta la API de Vidu Q4 Preview? 540p por segundo $0.0515
Ambos modos tienen el mismo precio: cómo se factura en cinco resoluciones y de 3 a 16 segundos, cuántos clips salen con $10 y una comparativa de precios con otros modelos de video de la plataforma.
-
Guía de uso
Recraft V4.1 Flash 电商产品图:每张 $0.01 批量目录图
在 recraft-v4.1-flash/text-to-image 上的一次真实并行批量:商品列表图与场景图、实测背景白度、耗时以及批量脚本。