Felo API PlatformFelo API Platform
v0.3.0
OpenAPI 3.1.0

Submit a video generation task

Сервер:https://openapi.felo.ai
Клиентские библиотеки

Submit a video generation task

​

Creates an async video generation task and returns a task_id immediately (HTTP 202). Poll GET /api/v1/videos/generations/{task_id} until it succeeds. The request body can be provided either flattened ({model, prompt, ...}) or nested ({model, input: {prompt, ...}}); the input object takes precedence when present. callback fields (callBackUrl / callback_url / callbackUrl) are ignored.

Three mutually exclusive input modes:

  • text-to-video: prompt only;
  • image-to-video (first/last frame): first_frame_url (+ optional last_frame_url);
  • omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. Mixing first/last-frame with any multimodal reference input returns 400 invalid_request_error.
Заголовки
  • X-Request-Id
    Тип: string

    Optional caller request ID echoed back for diagnostics.

Тело·VideoGenerationRequest
обязательно
application/json

Video generation input. Either flattened ({model, prompt, ...}) or nested ({model, input: {...}}). input takes precedence. Exactly one input mode must be used; mixing first/last-frame with multimodal reference inputs is rejected.

  • model
    Тип: string
    обязательно

    Felo-facing model name, e.g. seedance-2.0-mini.

  • aspect_ratio
    Тип: string enum
    значения
    • 16:9
    • 9:16
    • 1:1
    • 4:3
    • 3:4
    • 21:9
    • adaptive
  • duration
    Тип: integer
    мин.:  
    4
    макс.:  
    15

    Integer numbers.

  • first_frame_url
    Тип: string Формат: uri
  • generate_audio
    Тип: boolean
  • input
    Тип: object

    Optional nested input object; when present, its fields take precedence over sibling fields.

    • aspect_ratio
      Тип: string enum

      Output aspect ratio; adaptive follows the input image ratio.

      значения
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      Тип: integer
      мин.:  
      4
      макс.:  
      15

      Output duration in seconds.

    • first_frame_url
      Тип: string Формат: uri

      First frame image URL (image-to-video mode).

    • generate_audio
      Тип: boolean

      Whether to generate a synchronized audio track.

    • last_frame_url
      Тип: string Формат: uri

      Last frame image URL; must be used together with first_frame_url.

    • prompt
      Тип: string
      макс. длина:  
      2000

      Prompt. Required for text-to-video and omni-reference modes.

    • reference_audio_urls
      Тип: array string[] …3Формат: uri

      Omni-reference audio clips.

    • reference_image_urls
      Тип: array string[] …9Формат: uri

      Omni-reference images. Mutually exclusive with first/last-frame.

    • reference_video_urls
      Тип: array string[] …3Формат: uri

      Omni-reference videos. Mutually exclusive with first/last-frame. Supplying video changes the billing unit price and adds input duration to the token count.

    • resolution
      Тип: string enum

      Output resolution. Higher resolution consumes more tokens and costs more.

      значения
      • 480p
      • 720p
      • 1080p
      • 4k
  • last_frame_url
    Тип: string Формат: uri
  • prompt
    Тип: string
    макс. длина:  
    2000
  • reference_audio_urls
    Тип: array string[] …3Формат: uri
  • reference_image_urls
    Тип: array string[] …9Формат: uri
  • reference_video_urls
    Тип: array string[] …3Формат: uri
  • resolution
    Тип: string enum
    значения
    • 480p
    • 720p
    • 1080p
    • 4k
Ответы
  • 202
    Тип: object · VideoGenerationAccepted

    Task accepted

    • kind
      enum
      константа:  
      video
      обязательно
      значения
      • video
    • outputs
      Тип: array string[]
      обязательно

      Empty until the task succeeds.

    • status
      enum
      константа:  
      queued
      обязательно
      значения
      • queued
    • task_id
      Тип: string
      обязательно

      Task id to use for polling.

    application/json
  • 400
    Тип: object · GenerationError

    Invalid request (unknown model, mixed input modes, invalid fields)

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 401
    Тип: object · GenerationError

    Invalid or missing Felo API key

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 402
    Тип: object · GenerationError

    Insufficient balance / billing requirement not met

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 403
    Тип: object · GenerationError

    Account not permitted (subscription required or user banned). Disabled models are also rejected before upstream calls. Existing accepted requests and tasks continue.

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 429
    Тип: object · GenerationError

    Request or spending limit reached

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 502
    Тип: object · GenerationError

    Upstream provider failed

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть null
    application/json
  • 503
    Тип: object · GenerationError

    Generation service or billing service temporarily unavailable

    OpenAI-compatible error envelope.

    • error
      Тип: object
      • message
        Тип: string
        обязательно
      • type
        Тип: string enum
        обязательно
        значения
        • invalid_request_error
        • server_error
      • code
        Тип: string
      • param
        Тип: string может быть 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