Felo API PlatformFelo API Platform
v0.4.0
OpenAPI 3.1.0

Een videogeneratietaak indienen

Server:https://openapi.felo.ai
Clientbibliotheken

Een videogeneratietaak indienen

​

Maakt een asynchrone videogeneratietaak aan en retourneert direct een task_id (HTTP 202). Poll GET /api/v1/videos/generations/{task_id} totdat de taak slaagt. De verzoekbody kan plat ({model, prompt, ...}) of genest ({model, input: {prompt, ...}}) worden aangeleverd; het input-object heeft voorrang wanneer het aanwezig is. Callbackvelden (callBackUrl / callback_url / callbackUrl) worden genegeerd.

Drie elkaar uitsluitende invoermodi:

  • tekst-naar-video: alleen prompt;
  • afbeelding-naar-video (eerste/laatste frame): first_frame_url (+ optionele last_frame_url);
  • omni-referentie: reference_image_urls / reference_video_urls / reference_audio_urls. Het combineren van eerste/laatste frame met multimodale referentie-invoer geeft 400 invalid_request_error.
Headers
  • X-Request-Id
    Type: string

    Optionele verzoek-ID van de aanroeper die voor diagnostiek wordt teruggegeven.

  • X-Felo-Channel
    Type: string

    Geordende, door komma's gescheiden openbare kanaalcodes. Laat deze header weg om default te gebruiken; default moet alleen worden gebruikt. In walletmodus scant default de effectieve openbare kanaalvolgorde van het model in omgekeerde volgorde, slaat niet-gepubliceerde of niet-beschikbare kanalen over en kiest de aanbieder van het eerste beschikbare kanaal. Het omvat beschikbare endpoints van die aanbieder met hetzelfde upstream-model-ID en hetzelfde serviceniveau. Expliciete kanalen worden gevalideerd in de door de client opgegeven volgorde; alleen de aanbiedergroep van het eerste kanaal wordt ingediend. Geen automatische fallback naar andere aanbieders. Verouderde providerheaders kunnen de kanaalroutering niet overschrijven.

Body·VideoGenerationRequest
verplicht
application/json

Invoer voor videogeneratie. Ofwel plat ({model, prompt, ...}) ofwel genest ({model, input: {...}}). input heeft voorrang. Er moet precies één invoermodus worden gebruikt; het combineren van eerste/laatste frame met multimodale referentie-invoer wordt geweigerd.

  • model
    Type: string
    verplicht

    Modelnaam zoals Felo die toont, bijv. seedance-2.0-mini.

  • aspect_ratio
    Type: string enum
    waarden
    • 16:9
    • 9:16
    • 1:1
    • 4:3
    • 3:4
    • 21:9
    • adaptive
  • duration
    Type: integer
    min.:  
    4
    max.:  
    15

    Integer numbers.

  • first_frame_url
    Type: string Formaat: uri
  • generate_audio
    Type: boolean
  • input
    Type: object

    Optioneel genest input-object; wanneer aanwezig hebben de velden ervan voorrang op velden van hetzelfde niveau.

    • aspect_ratio
      Type: string enum

      Beeldverhouding van de uitvoer; adaptive volgt de verhouding van de invoerafbeelding.

      waarden
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      Type: integer
      min.:  
      4
      max.:  
      15

      Uitvoerduur in seconden.

    • first_frame_url
      Type: string Formaat: uri

      URL van de afbeelding van het eerste frame (modus afbeelding-naar-video).

    • generate_audio
      Type: boolean

      Of er een gesynchroniseerde audiotrack moet worden gegenereerd.

    • last_frame_url
      Type: string Formaat: uri

      URL van de afbeelding van het laatste frame; moet samen met first_frame_url worden gebruikt.

    • prompt
      Type: string
      max. lengte:  
      2000

      Prompt. Vereist voor de modi tekst-naar-video en omni-referentie.

    • reference_audio_urls
      Type: array string[] …3Formaat: uri

      Omni-referentie-audioclips.

    • reference_image_urls
      Type: array string[] …9Formaat: uri

      Omni-referentieafbeeldingen. Niet te combineren met eerste/laatste frame.

    • reference_video_urls
      Type: array string[] …3Formaat: uri

      Omni-referentievideo's. Niet te combineren met eerste/laatste frame. Het aanleveren van video wijzigt de prijs per factureringseenheid en telt de invoerduur op bij het tokental.

    • resolution
      Type: string enum

      Uitvoerresolutie. Een hogere resolutie verbruikt meer tokens en kost meer.

      waarden
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      Type: string | null

      Momenteel wordt alleen default (standaard) ondersteund. Weggelaten, null, aliassen en niet-ondersteunde tekenreeksen vallen terug op default; andere typen retourneren HTTP 400. Geconfigureerde kanalen en prijzen blijven ongewijzigd. Tekst-API's sturen de standaardwaarde van de aanbieder; Decisions- en generatie-API's laten het upstream-veld weg.

  • last_frame_url
    Type: string Formaat: uri
  • prompt
    Type: string
    max. lengte:  
    2000
  • reference_audio_urls
    Type: array string[] …3Formaat: uri
  • reference_image_urls
    Type: array string[] …9Formaat: uri
  • reference_video_urls
    Type: array string[] …3Formaat: uri
  • resolution
    Type: string enum
    waarden
    • 480p
    • 720p
    • 1080p
    • 4k
  • service_tier
    Type: string | null

    Momenteel wordt alleen default (standaard) ondersteund. Weggelaten, null, aliassen en niet-ondersteunde tekenreeksen vallen terug op default; andere typen retourneren HTTP 400. Geconfigureerde kanalen en prijzen blijven ongewijzigd. Tekst-API's sturen de standaardwaarde van de aanbieder; Decisions- en generatie-API's laten het upstream-veld weg.

Responsen
  • 202
    Type: object · VideoGenerationAccepted

    Taak geaccepteerd

    • kind
      enum
      constante:  
      video
      verplicht
      waarden
      • video
    • outputs
      Type: array string[]
      verplicht

      Leeg totdat de taak slaagt.

    • status
      enum
      constante:  
      queued
      verplicht
      waarden
      • queued
    • task_id
      Type: string
      verplicht

      Taak-ID om te gebruiken voor polling.

    application/json
  • 400
    Type: object · GenerationError

    Ongeldig verzoek (onbekend model, gemengde invoermodi, ongeldige velden)

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 401
    Type: object · GenerationError

    Ongeldige of ontbrekende Felo API-sleutel

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 402
    Type: object · GenerationError

    Onvoldoende saldo / factureringsvoorwaarde niet voldaan

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 403
    Type: object · GenerationError

    Account heeft geen toestemming (abonnement vereist of gebruiker geblokkeerd). Uitgeschakelde modellen worden ook vóór upstream-aanroepen geweigerd. Bestaande geaccepteerde verzoeken en taken lopen door.

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 429
    Type: object · GenerationError

    Limiet voor verzoeken of bestedingen bereikt

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 502
    Type: object · GenerationError

    Upstream-aanbieder is mislukt

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    application/json
  • 503
    Type: object · GenerationError

    Generatiedienst of factureringsdienst tijdelijk niet beschikbaar

    OpenAI-compatibele foutenvelop.

    • error
      Type: object
      • message
        Type: string
        verplicht
      • type
        Type: string enum
        verplicht
        waarden
        • invalid_request_error
        • server_error
      • code
        Type: string
      • param
        Type: string null toegestaan
    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