MCP Tools

Video

Texto → video, imagen → video, o primer fotograma → último fotograma. Muchos modelos de primer nivel a través de un solo punto de entrada.

Genera video a partir de texto o de una imagen. La plataforma ofrece dos motores: fal es el principal (muchos modelos), y Higgsfield es una opción de imagen a video estilo DoP.

Qué puedes hacer

Tres formas de generar video:

  • Texto → video (t2v) — describe una escena, obtén un clip.
  • Imagen → video (i2v) — anima una imagen estática.
  • Primer fotograma → último fotograma — interpola el movimiento entre dos imágenes estáticas.

Algunos modelos también admiten referencia a video, extender/continuar y editar. Los modos disponibles dependen del modelo que elijas:

MotorTexto → videoImagen → videoPrimer / último fotogramaReferencia / Extender
fal (Veo, Seedance, Kling, Grok, Happy-horse)✓ (Veo, Kling)✓ (varía según el modelo)
Higgsfield (DoP)tejiendo una imagen

Cómo elegir un modelo

fal_generate_video es el caballo de batalla: un solo punto de entrada a muchos modelos de primer nivel. Elige un modelo con model_id, y pasa los parámetros de ese modelo en input. Cada familia admite modos y campos distintos:

FamiliaEjemplos de model_idModosCampos destacados de input
Veo 3.1 (Google)fal-ai/veo3.1, fal-ai/veo3.1/image-to-video, .../first-last-frame-to-video, .../reference-to-video, .../extend-videot2v, i2v, primer/último fotograma, referencia, extenderprompt, image_url, duration (4s/6s/8s), resolution (720p/1080p/4k), generate_audio, aspect_ratio
Seedance 2.0 (ByteDance)bytedance/seedance-2.0/text-to-video, .../image-to-video, .../reference-to-videot2v, i2v, referenciaprompt, image_url, resolution (480p/720p), duration (auto/"4""15"), aspect_ratio, generate_audio
Kling 3.0fal-ai/kling-video/v3/pro/text-to-video, .../pro/image-to-videot2v, i2vprompt, start_image_url (i2v), end_image_url, duration ("3""15", por defecto "5"), generate_audio
Grok Imagine (xAI)xai/grok-imagine-video/text-to-video, .../image-to-videot2v, i2v, referencia, editar, extenderprompt, image_url, duration (entero 115), resolution (480p/720p), aspect_ratio
Happy-horse (Alibaba)alibaba/happy-horse/text-to-video, .../image-to-videot2v, i2v, referencia, editarimage_url, prompt, resolution (720p/1080p), duration (315, por defecto 5)

higgsfield_generate_video — imagen a video estilo DoP. Modelos: higgsfield-ai/dop/lite / dop/standard / dop/turbo (cada uno con una variante /first-last-frame). No tiene texto a video puro — para texto → video, teje una imagen primero (ver más abajo).

El nombre del campo del primer fotograma varía según el modelo. Kling usa start_image_url; el resto de familias (Veo, Seedance, Grok, Happy-horse) usan image_url. Pasa el que espera el modelo que elegiste.

El formato de duration varía según el modelo. Veo quiere "8s", Seedance "auto" o "8", Kling "5", Grok y Happy-horse usan enteros. Sigue la fila de tu modelo.

Interfaz

fal_generate_video — envía un trabajo. Entradas: model_id (un endpoint id) e input (el objeto de parámetros completo de ese modelo, pasado tal cual). Devuelve un request_id.

fal_get_video_status — consulta el estado de un trabajo. Pasa ambos, model_id y request_id. Devuelve IN_QUEUE / IN_PROGRESS, o COMPLETED con la URL del video.

higgsfield_generate_video — envía. Entradas: prompt, image_url (obligatorio), model_id, params (específico del modelo, pasado tal cual). Devuelve un request_id.

higgsfield_get_video_status — consulta el estado. Pasa solo request_id. Devuelve in_progress, completed (con la URL del video), o failed / nsfw.

Cómo usarlo en un Skill

La generación de video es asíncrona — dos pasos:

  1. Envía con *_generate_video → obtén un request_id.
  2. Consulta *_get_video_status hasta que esté COMPLETED → obtén la URL del video.

La generación puede tardar unos minutos — sigue consultando hasta que termine. Para fal, pasa ambos, model_id y request_id, al consultar; para Higgsfield, solo request_id.

Texto → video en un motor que solo admite imagen a video (o siempre que quieras un encuadre dirigido artísticamente): genera primero una imagen, y luego pásala como el fotograma inicial.

# Texto → video (Veo 3.1, con audio, 8 segundos)
fal_generate_video(
  model_id="fal-ai/veo3.1",
  input={ "prompt": "A cinematic drone shot over a misty mountain lake at dawn",
          "duration": "8s", "resolution": "1080p", "generate_audio": true }
)

# Imagen → video (Kling — nota que es start_image_url, no image_url)
fal_generate_video(
  model_id="fal-ai/kling-video/v3/pro/image-to-video",
  input={ "prompt": "the character slowly turns and smiles",
          "start_image_url": "https://…", "duration": "5" }
)

Tejido para imagen → video:

1. google_generate_image / openai_generate_image(prompt)        → imagen
2. fal_generate_video(model_id=".../image-to-video",
     input={ prompt: movimiento, image_url: <imagen> })          → request_id
   (o higgsfield_generate_video, con image_url)
3. consulta *_get_video_status hasta COMPLETED                   → URL del video