Felo API PlatformFelo API Platform
v0.4.0
OpenAPI 3.1.0

Enviar una tarea de generación de vídeo

Servidor:https://openapi.felo.ai
Bibliotecas cliente

Enviar una tarea de generación de vídeo

​

Crea una tarea asíncrona de generación de vídeo y devuelve un task_id de inmediato (HTTP 202). Consulta GET /api/v1/videos/generations/{task_id} hasta que finalice correctamente. El cuerpo de la solicitud puede enviarse plano ({model, prompt, ...}) o anidado ({model, input: {prompt, ...}}); el objeto input tiene prioridad cuando está presente. Los campos callback (callBackUrl / callback_url / callbackUrl) se ignoran.

Tres modos de entrada mutuamente excluyentes:

  • texto a vídeo: solo prompt;
  • imagen a vídeo (primer/último fotograma): first_frame_url (+ last_frame_url opcional);
  • referencia omni: reference_image_urls / reference_video_urls / reference_audio_urls. Combinar primer/último fotograma con cualquier entrada de referencia multimodal devuelve 400 invalid_request_error.
Encabezados
  • X-Request-Id
    Tipo: string

    ID de solicitud opcional del cliente que se devuelve para diagnóstico.

  • X-Felo-Channel
    Tipo: string

    Códigos de canal públicos separados por comas y en orden. Omite este encabezado para usar default; default debe usarse solo. En modo monedero, default recorre en orden inverso el orden efectivo de canales públicos del modelo, omite los canales no publicados o no disponibles y selecciona el proveedor del primer canal disponible. Incluye los endpoints disponibles de ese proveedor con el mismo ID de modelo upstream y el mismo nivel de servicio. Los canales explícitos se validan en el orden indicado por el cliente; solo se envía el grupo de proveedores del primer canal. No hay respaldo automático a otros proveedores. Los encabezados de proveedor heredados no pueden anular el enrutamiento por canales.

Cuerpo·VideoGenerationRequest
obligatorio
application/json

Entrada de generación de vídeo. Puede ser plana ({model, prompt, ...}) o anidada ({model, input: {...}}). input tiene prioridad. Debe usarse exactamente un modo de entrada; se rechaza combinar primer/último fotograma con entradas de referencia multimodales.

  • model
    Tipo: string
    obligatorio

    Nombre del modelo expuesto por Felo, por ejemplo seedance-2.0-mini.

  • aspect_ratio
    Tipo: string enum
    valores
    • 16:9
    • 9:16
    • 1:1
    • 4:3
    • 3:4
    • 21:9
    • adaptive
  • duration
    Tipo: integer
    mín.:  
    4
    máx.:  
    15

    Integer numbers.

  • first_frame_url
    Tipo: string Formato: uri
  • generate_audio
    Tipo: boolean
  • input
    Tipo: object

    Objeto input anidado opcional; cuando está presente, sus campos tienen prioridad sobre los campos hermanos.

    • aspect_ratio
      Tipo: string enum

      Relación de aspecto de salida; adaptive sigue la relación de la imagen de entrada.

      valores
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      Tipo: integer
      mín.:  
      4
      máx.:  
      15

      Duración de salida en segundos.

    • first_frame_url
      Tipo: string Formato: uri

      URL de la imagen del primer fotograma (modo imagen a vídeo).

    • generate_audio
      Tipo: boolean

      Indica si se genera una pista de audio sincronizada.

    • last_frame_url
      Tipo: string Formato: uri

      URL de la imagen del último fotograma; debe usarse junto con first_frame_url.

    • prompt
      Tipo: string
      longitud máx.:  
      2000

      Prompt. Obligatorio en los modos de texto a vídeo y de referencia omni.

    • reference_audio_urls
      Tipo: array string[] …3Formato: uri

      Clips de audio de referencia omni.

    • reference_image_urls
      Tipo: array string[] …9Formato: uri

      Imágenes de referencia omni. Mutuamente excluyentes con el primer/último fotograma.

    • reference_video_urls
      Tipo: array string[] …3Formato: uri

      Vídeos de referencia omni. Mutuamente excluyentes con el primer/último fotograma. Enviar vídeo cambia el precio unitario de facturación y suma la duración de entrada al recuento de tokens.

    • resolution
      Tipo: string enum

      Resolución de salida. Una resolución mayor consume más tokens y cuesta más.

      valores
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      Tipo: string | null

      Actualmente solo se admite default (estándar). Si se omite, es null, es un alias o es una cadena no admitida, se usa default; otros tipos devuelven HTTP 400. Los canales y precios configurados no cambian. Las API de texto envían el valor estándar del proveedor; las API Decisions y de generación omiten el campo upstream.

  • last_frame_url
    Tipo: string Formato: uri
  • prompt
    Tipo: string
    longitud máx.:  
    2000
  • reference_audio_urls
    Tipo: array string[] …3Formato: uri
  • reference_image_urls
    Tipo: array string[] …9Formato: uri
  • reference_video_urls
    Tipo: array string[] …3Formato: uri
  • resolution
    Tipo: string enum
    valores
    • 480p
    • 720p
    • 1080p
    • 4k
  • service_tier
    Tipo: string | null

    Actualmente solo se admite default (estándar). Si se omite, es null, es un alias o es una cadena no admitida, se usa default; otros tipos devuelven HTTP 400. Los canales y precios configurados no cambian. Las API de texto envían el valor estándar del proveedor; las API Decisions y de generación omiten el campo upstream.

Respuestas
  • 202
    Tipo: object · VideoGenerationAccepted

    Tarea aceptada

    • kind
      enum
      constante:  
      video
      obligatorio
      valores
      • video
    • outputs
      Tipo: array string[]
      obligatorio

      Vacío hasta que la tarea finaliza correctamente.

    • status
      enum
      constante:  
      queued
      obligatorio
      valores
      • queued
    • task_id
      Tipo: string
      obligatorio

      ID de tarea que se usará para consultar el estado.

    application/json
  • 400
    Tipo: object · GenerationError

    Solicitud no válida (modelo desconocido, modos de entrada mezclados, campos no válidos)

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 401
    Tipo: object · GenerationError

    Clave de API de Felo no válida o ausente

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 402
    Tipo: object · GenerationError

    Saldo insuficiente o requisito de facturación no cumplido

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 403
    Tipo: object · GenerationError

    La cuenta no tiene permiso (se requiere suscripción o el usuario está bloqueado). Los modelos deshabilitados también se rechazan antes de las llamadas upstream. Las solicitudes y tareas ya aceptadas continúan.

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 429
    Tipo: object · GenerationError

    Se alcanzó el límite de solicitudes o de gasto

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 502
    Tipo: object · GenerationError

    Error del proveedor upstream

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
  • 503
    Tipo: object · GenerationError

    Servicio de generación o servicio de facturación no disponible temporalmente

    Envoltorio de error compatible con OpenAI.

    • error
      Tipo: object
      • message
        Tipo: string
        obligatorio
      • type
        Tipo: string enum
        obligatorio
        valores
        • invalid_request_error
        • server_error
      • code
        Tipo: string
      • param
        Tipo: string admite null
    application/json
Request Example for post/api/v1/videos/generations
curl https://openapi.felo.ai/api/v1/videos/generations \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "model": "seedance-2.0-mini",
  "prompt": "a cinematic trailer shot, 720p",
  "resolution": "720p",
  "duration": 5,
  "generate_audio": true
}'
{
  "task_id": "string",
  "status": "queued",
  "kind": "video",
  "outputs": [
    "string"
  ]
}
Submit a video generation task