Black Forest Labs
FLUX 3 Max
flux-3-max/keyframes-to-video
Modelo de generación de video que admite texto a video e imagen a video, enfocado en una baja latencia y una producción rápida; según sus benchmarks públicos, un clip de 10 segundos se genera en aproximadamente 11–12 segundos, ideal para la iteración creativa y el material de video corto
Probar flux-3-max/keyframes-to-video
Entrada
Creaciones
Ver todas las creacionesSalida
videoPrecios
flux-3-max/keyframes-to-video per second
| Especificaciones | Precio unitario |
|---|---|
| 720P | $0.0608 |
| 1080P | $0.1036 |
Descripción general
flux-3-max/keyframes-to-video es la línea de generación de video a partir de imágenes guiada por fotogramas clave de la familia flux-3-max: el desarrollador proporciona un prompt y hasta 10 imágenes de fotogramas clave, las ancla mediante índices de fotograma en posiciones concretas de una línea temporal de 24 fps, y el modelo completa el movimiento y las transiciones entre los fotogramas clave, generando un video de 5 a 20 segundos en 720p o 1080p. Es adecuada para equipos de previsualización de storyboards, publicidad y producción de material de cortometrajes que necesitan controlar con precisión el ritmo visual, y se invoca a través de la interfaz unificada de HiAPI.ai.
Aspectos destacados
- Control puntual del ritmo visual mediante fotogramas clave: hasta 10 imágenes se sitúan en cualquier posición de la línea temporal según su índice de fotograma, y el modelo completa el proceso intermedio en lugar de recibir solo el primer fotograma.
- Los fotogramas clave admiten audio sincronizado: la generación de audio está activada de forma predeterminada y produce sonido sincronizado con la imagen, lo que reduce el trabajo de doblaje posterior.
- Intensidad de razonamiento conmutable: reasoning_level ofrece dos niveles, low y high; el nivel alto mejora la calidad de interpretación en escenas complejas y el nivel bajo permite reducir la latencia en escenas sencillas.
Descripción de capacidades
Composición de la línea temporal de fotogramas clave: tomando 24 fps como base temporal, se usa frame_index para indicar la posición en la que aparece cada fotograma clave; el índice de fotograma debe ser único y no superar la duración multiplicada por 24, lo que permite una narración visual precisa segmento a segmento.
Duración de 5 a 20 segundos y doble resolución: duration abarca de 5 a 20 segundos y resolution permite elegir entre 720p o 1080p; la facturación se calcula por segundos de salida, lo que facilita el control de costes según la longitud del clip.
Ocho relaciones de aspecto y seguimiento automático: aspect_ratio ofrece ocho proporciones como 21:9, 16:9, 1:1 y 9:16, mientras que auto mantiene la proporción de la imagen de entrada; una sola línea cubre publicaciones horizontales, verticales y cuadradas.
Prompt e intensidad de razonamiento combinados: el prompt admite hasta 6000 caracteres y, junto con reasoning_level, controla la profundidad de interpretación de escenas complejas, equilibrando la calidad de imagen y la latencia de respuesta.
Casos de uso
- Storyboardistas y equipos publicitarios: imágenes clave más guion: se colocan los storyboards ya aprobados como fotogramas clave en la línea temporal para producir previsualizaciones animadas de ritmo controlado, destinadas a propuestas a clientes y revisiones previas al rodaje.
- Producción de cortometrajes de marca: imágenes de producto y texto de locución: usando fotogramas fijos del producto como fotogramas clave y describiendo en el prompt el movimiento de cámara y la atmósfera, se generan clips breves con audio sincronizado listos para publicaciones en redes sociales y para la web oficial.
- Equipos creativos: comparación de varias propuestas de fotogramas clave: con el mismo prompt se sustituyen combinaciones de fotogramas clave y relaciones de aspecto para generar lotes de videos, obteniendo varias propuestas candidatas para una selección iterativa rápida.
- Creadores de contenido vertical: secuencias de fotogramas clave en 9:16: con formato vertical y duraciones cortas de 5 a 10 segundos se generan clips para publicar o como material intermedio para un montaje posterior.
Limitaciones y recomendaciones de elección
Esta línea solo acepta entrada de imagen a video: requiere al menos una imagen de fotograma clave, por lo que para iniciar un video solo con texto debe elegirse la línea text-to-video de la misma familia. La resolución de salida se limita a 720p y 1080p, la duración máxima es de 20 segundos, y los videos finales más largos o de mayor especificación deben generarse por segmentos y unirse después. La intensidad de razonamiento high introduce mayor latencia, por lo que en materiales de ritmo sencillo puede usarse low. Las imágenes de fotogramas clave deben ser direcciones HTTPS públicas; un error en la planificación de los índices de fotograma hará que la secuencia no coincida con lo esperado, por lo que conviene verificar la línea temporal antes de enviar la solicitud.
Novedades
Ver el registro de cambios →- Nuevo modelo Ya está disponible el modelo de generación de video flux-3-max/text-to-video
- Actualización de precio Ajuste de precio de flux-3-max/text-to-video
- Actualización de precio Ajuste de precio de flux-3-max/image-to-video: nueva tarifa de $0.0608
Preguntas frecuentes
Ver todas las preguntas →-
¿Qué entradas requiere FLUX 3 Max para generar video a partir de una imagen?
Son obligatorios prompt e image_url (imagen del primer fotograma, compatible con PNG/JPEG/WebP). De forma opcional, end_image_url como fotograma final, así como duration, resolution, aspect_ratio, generate_audio y reasoning_level.
-
¿Se puede configurar la duración del vídeo?
Sí. duration acepta un número entero de segundos entre 5 y 20, en pasos de 1 segundo, con un valor predeterminado de 5 segundos; la generación de vídeo a partir de imagen y la de texto a vídeo comparten la misma tarifa por segundo. Primero confirma con 5 segundos si la imagen de origen es estable y luego amplía la duración.
-
¿De qué depende la relación de aspecto?
aspect_ratio es auto por defecto y la salida sigue la proporción de la imagen del primer fotograma; también se puede especificar manualmente 21:9, 2:1, 16:9, 4:3, 1:1, 3:4 o 9:16. Si la especificación manual no coincide con la proporción de la imagen, la imagen puede recortarse.
-
¿Cómo se usa el fotograma final?
Pasa el primer fotograma en image_url y el fotograma final en end_image_url; el video hará la transición del primer fotograma al fotograma final. En el prompt, describe solo los cambios que ocurren en el medio; cuanto más similares sean el encuadre y la iluminación de las dos imágenes, más fluida será la transición.
Crear una tarea de generación
https://api.hiapi.ai/v1/tasks Encabezados
AuthorizationstringObligatorioClave API de la cuenta. Obligatoria en cada solicitud. Ejemplo: Bearer YOUR_HIAPI_API_KEY. Obtener clave API
Content-TypestringOpcionalEl cuerpo de la solicitud siempre se analiza como JSON; si se envía, solo se acepta application/json (charset opcional) — cualquier otro valor devuelve 415. Ejemplo: application/json.
Idempotency-KeystringOpcionalClave de idempotencia, hasta 255 bytes. Los reintentos con la misma clave de la misma cuenta crean la tarea una sola vez; las repeticiones devuelven el taskId original.
Ante timeouts de red o reintentos automáticos del cliente, la misma clave crea la tarea una sola vez, sin doble cobro (alcance = la cuenta de la clave API). Usa un identificador de negocio único (p. ej. "order-42"); las repeticiones devuelven el taskId original y las claves caducan 24 h después de la primera solicitud. La matriz completa de escenarios está en la introducción de la API asíncrona unificada.
Cuerpo
modelstringObligatorioValor fijo actual: flux-3-max/keyframes-to-video
routestringOpcionalValor fijo actual: default
inputobjectObligatorio
Objeto de parámetros de negocio para flux-3-max/keyframes-to-video y la ruta default; consulta la tabla de parámetros a continuación.
promptstringObligatoriominLength 1maxLength 6000Texto de indicación que describe el contenido del vídeo que se va a generar; determina la imagen y la evolución del contenido del vídeo.
durationintegerOpcionalPredeterminado: 5min 5max 20Duración del vídeo de salida, en segundos; el rango de valores va de 5 a 20, por defecto 5.
keyframesarrayObligatoriominItems 1maxItems 10
Matriz de fotogramas clave colocados a lo largo de la línea temporal del vídeo, máximo 10; cada fotograma clave contiene la dirección de la imagen y el número de fotograma, y cada número de fotograma debe ser único y no puede superar la duración multiplicada por 24.
Array [ object ]
Elementos del array
image_urlstringObligatorioDirección HTTPS pública de la imagen de ese fotograma clave; admite formatos PNG, JPEG o WebP.
frame_indexintegerObligatoriomin 0Número de fotograma de ese fotograma clave en la línea temporal de 24 fps; el valor máximo es la duración multiplicada por 24 y no puede repetirse dentro del mismo arreglo.
resolutionstringOpcionalPredeterminado: "720p"Resolución del vídeo de salida, por defecto 720p.
720p1080paspect_ratiostringOpcionalPredeterminado: "auto"Relación de aspecto del vídeo de salida; si se establece en auto, sigue la relación de aspecto de la imagen de entrada; por defecto auto.
auto21:92:116:94:31:13:49:16generate_audiobooleanOpcionalPredeterminado: trueIndica si se genera audio sincronizado junto con el vídeo; activado (true) por defecto.
reasoning_levelstringOpcionalPredeterminado: "high"Controla el grado de razonamiento invertido al interpretar la indicación; establecerlo en high puede mejorar la generación de escenas complejas, pero con mayor latencia; por defecto high.
lowhighcallbackobjectOpcional
Configuración de notificación de estado terminal. Si se omite, no hay callback: consulta la tarea por tu cuenta.
Indica callback.url al crear y HiAPI hará POST a tu servicio en el estado terminal, sin necesidad de sondeo. El cuerpo del callback replica la estructura del detalle de la tarea; firma, reintentos e idempotencia se detallan en la introducción de la API asíncrona unificada.
urlstringObligatorioObligatorio si se incluye callback. Al estado terminal se envía un POST a esta URL; debe ser una URL http(s) válida.
whenstringOpcionalPredeterminado: "final"Actualmente solo se admite final: notifica tanto en success como en fail.
finalstoragestringOpcionalPredeterminado: "temp"Nivel de almacenamiento de artefactos: temp (por defecto, ~7 días) o persistent (largo plazo, facturado por tamaño). Saldo insuficiente o exceso de límite ⇒ degradación silenciosa a temp; el nivel efectivo se muestra en la respuesta del detalle.
temppersistentEjemplos de solicitud
# Envía una tarea asíncrona; devuelve un taskId de inmediato (sin esperar la generación)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-max/keyframes-to-video",
"input": {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true,
"reasoning_level": "high"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "flux-3-max/keyframes-to-video",
input: {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true,
"reasoning_level": "high"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "flux-3-max/keyframes-to-video",
"input": {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": True,
"reasoning_level": "high"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtener el detalle de la tarea
https://api.hiapi.ai/v1/tasks/:id Campos de respuesta
taskIdstringObligatorioID de tarea, siempre con prefijo tk-hiapi-.
modelstringObligatorioNombre completo resuelto del modelo. Las tareas enviadas con el parámetro route devuelven base@route (p. ej. gpt-image-2/text-to-image@ext); si no, coincide con el nombre enviado.
routestringOpcionalSolo aparece si se usó el parámetro route explícito; repite el valor enviado.
statusstringObligatorioEstado de la tarea.
queued En cola, sin iniciar.
handling Procesando.
archiving Proceso terminado, preparando artefactos.
success Terminal: completado, artefactos disponibles (se devuelve output).
fail Terminal: error (se devuelve error).
Tras el envío, guíate por status: success y fail son terminales; el resto, no. Sondea cada 1–3 s hasta el estado terminal. Con éxito, descarga los artefactos desde output[].url y transfiérelos antes de expireAt; para retención larga usa storage: "persistent" al crear.
creatednumberObligatorioHora de creación de la tarea (segundos Unix).
completednumberObligatorioSegundos Unix al alcanzar estado terminal; 0 mientras no sea terminal.
outputarrayOpcional
Solo con status == success. Lista de artefactos — siempre un array; una tarea puede devolver varios types a la vez (p. ej. video + first_frame).
Array [ object ]
Elementos del array
urlstringObligatorioURL del artefacto, descargable directamente.
typestringObligatorioValores posibles actuales: video, image, audio, first_frame, last_frame, thumbnail; podrían ampliarse más adelante.
expireAtnumberObligatorioSegundos Unix hasta los que el artefacto es accesible; descárgalo o transfiérelo antes.
errorobjectOpcional
Solo con status == fail.
codestringObligatorioCódigo de error de negocio.
messagestringObligatorioDescripción del error.
Ejemplos de respuesta
Éxito
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En proceso (no terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Fallido
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artículos
Ver todos los artículos →-
Tutorial
Uso de Kandinsky 6.0 Pro texto a video en HiAPI: tutorial con curl y Python
Demostración práctica centrada en la solicitud: construir la llamada de prompt a clip de video, enviar la solicitud, sondear el estado de finalización y descargar el resultado
-
Comparativa
hailuo-2.3-fast/image-to-video comparativa horizontal: cómo elegir un modelo de imagen a video y puntos clave para migrar
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video en HiAPI: curl + Python
Realiza una solicitud de imagen a video funcional en HiAPI: desde la carga del primer fotograma hasta el sondeo asíncrono y la descarga final
-
Tutorial
Cómo usar kling-4.0/text-to-video a través de la API de HiAPI: curl, Python y un ejemplo de solicitud ejecutable
Guía práctica para desarrolladores: prompts cinematográficos, audio sincronizado, sondeo asíncrono y descarga de resultados
-
Tutorial
Cómo llamar a kling-4.0/image-to-video en HiAPI: curl, Python y sondeo
-
Tutorial
Cómo llamar a hailuo-2.3-fast/image-to-video a través de la API de HiAPI: práctica con curl y Python
La primera solicitud ejecutable del nivel rápido y de bajo coste de imagen a vídeo: del ID del modelo a la descarga del MP4
-
Tutorial
Cómo llamar a hailuo-2.3/text-to-video mediante la API de HiAPI: curl, Python y ejemplos de solicitud ejecutables
-
Comparativa
Recraft v4.1 Flash comparativa horizontal de texto a imagen: guía de selección y migración para desarrolladores
Con un coste de $0.01 por imagen y capacidad pura de texto a imagen, evalúa si encaja en tu pipeline de generación de imágenes
Modelos relacionados
Ver todos los modelos →Mismo tipo
-
PixVerse V6 PixVerse $0.036 /segundo -
FLUX 3 Video Black Forest Labs $0.090 /segundo -
Runway Gen 4.5 Runway $0.172 /segundo -
Kling 4.0 Kuaishou $0.330 /segundo -
Wan 2.7 Video Alibaba $0.100 /segundo -
Veo 3.1 Lite Google $0.060 /segundo -
HappyHorse 1.1 Alibaba $0.160 /segundo -
FLUX 3 Max Black Forest Labs $0.061 /segundo -
Gemini Omni Google -- -
Vidu Q3 Vidu $0.149 /segundo -
HeyGen Avatar IV HeyGen $0.150 /segundo -
Kling 2.5 Kuaishou $0.060 /segundo
Mismo proveedor
-
FLUX 3 Image Black Forest Labs $0.041 /imagen -
FLUX 3 Video Black Forest Labs $0.090 /segundo -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /imagen -
FLUX.1 Fill Pro Black Forest Labs $0.071 /imagen -
FLUX 1.1 Pro Black Forest Labs $0.050 /imagen -
FLUX.2 Black Forest Labs $0.035 /imagen -
FLUX.1 Schnell Black Forest Labs $0.005 /imagen -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /imagen -
FLUX.1 Kontext Max Black Forest Labs $0.071 /imagen -
FLUX 3 Max Black Forest Labs $0.061 /segundo




















