Felo API PlatformFelo API Platform
v0.4.0
OpenAPI 3.1.0

Eine Videogenerierungsaufgabe einreichen

Server:https://openapi.felo.ai
Client-Bibliotheken

Eine Videogenerierungsaufgabe einreichen

​

Erstellt eine asynchrone Videogenerierungsaufgabe und gibt sofort eine task_id zurück (HTTP 202). Fragen Sie GET /api/v1/videos/generations/{task_id} ab, bis die Aufgabe erfolgreich ist. Der Anfrage-Body kann entweder flach ({model, prompt, ...}) oder verschachtelt ({model, input: {prompt, ...}}) angegeben werden; das input-Objekt hat Vorrang, wenn es vorhanden ist. Callback-Felder (callBackUrl / callback_url / callbackUrl) werden ignoriert.

Drei sich gegenseitig ausschließende Eingabemodi:

  • text-to-video: nur prompt;
  • image-to-video (erstes/letztes Bild): first_frame_url (+ optional last_frame_url);
  • omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. Die Kombination von first/last-frame mit beliebigen multimodalen Referenzeingaben liefert 400 invalid_request_error.
Header
  • X-Request-Id
    Typ: string

    Optionale Anfrage-ID des Aufrufers, die zu Diagnosezwecken zurückgegeben wird.

  • X-Felo-Channel
    Typ: string

    Geordnete, durch Kommas getrennte öffentliche Kanalcodes. Lassen Sie diesen Header weg, um default zu verwenden; default muss allein verwendet werden. Im Wallet-Modus durchsucht default die effektive öffentliche Kanalreihenfolge des Modells in umgekehrter Reihenfolge, überspringt nicht veröffentlichte oder nicht verfügbare Kanäle und wählt den Anbieter des ersten verfügbaren Kanals. Der Wert default schließt verfügbare Endpunkte dieses Anbieters mit derselben Upstream-Modell-ID und demselben Service-Tier ein. Explizite Kanäle werden in der vom Client angegebenen Reihenfolge validiert; nur die Anbietergruppe des ersten Kanals wird übermittelt. Kein automatischer Fallback auf andere Anbieter. Legacy-Anbieter-Header können das Kanal-Routing nicht überschreiben.

Body·VideoGenerationRequest
erforderlich
application/json

Eingabe für die Videogenerierung. Entweder flach ({model, prompt, ...}) oder verschachtelt ({model, input: {...}}). Das Feld input hat Vorrang. Es muss genau ein Eingabemodus verwendet werden; die Kombination von first/last-frame mit multimodalen Referenzeingaben wird abgelehnt.

  • model
    Typ: string
    erforderlich

    Felo-seitiger Modellname, z. B. seedance-2.0-mini.

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

    Integer numbers.

  • first_frame_url
    Typ: string Format: uri
  • generate_audio
    Typ: boolean
  • input
    Typ: object

    Optionales verschachteltes input-Objekt; wenn vorhanden, haben seine Felder Vorrang vor gleichrangigen Feldern.

    • aspect_ratio
      Typ: string enum

      Seitenverhältnis der Ausgabe; adaptive folgt dem Seitenverhältnis des Eingabebildes.

      Werte
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      Typ: integer
      min.:  
      4
      max.:  
      15

      Ausgabedauer in Sekunden.

    • first_frame_url
      Typ: string Format: uri

      URL des ersten Bildes (Modus image-to-video).

    • generate_audio
      Typ: boolean

      Ob eine synchronisierte Audiospur generiert werden soll.

    • last_frame_url
      Typ: string Format: uri

      URL des letzten Bildes; muss zusammen mit first_frame_url verwendet werden.

    • prompt
      Typ: string
      max. Länge:  
      2000

      Prompt. Erforderlich für die Modi text-to-video und omni-reference.

    • reference_audio_urls
      Typ: array string[] …3Format: uri

      Audioclips für die Omni-Referenz.

    • reference_image_urls
      Typ: array string[] …9Format: uri

      Bilder für die Omni-Referenz. Nicht mit first/last-frame kombinierbar.

    • reference_video_urls
      Typ: array string[] …3Format: uri

      Videos für die Omni-Referenz. Nicht mit first/last-frame kombinierbar. Die Angabe von Video ändert den Abrechnungseinheitspreis und addiert die Eingabedauer zur Token-Anzahl.

    • resolution
      Typ: string enum

      Auflösung der Ausgabe. Eine höhere Auflösung verbraucht mehr Token und kostet mehr.

      Werte
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      Typ: string | null

      Derzeit wird nur default (standard) unterstützt. Weggelassene Werte, null, Aliase und nicht unterstützte Zeichenfolgen fallen auf default zurück; andere Typen liefern HTTP 400. Konfigurierte Kanäle und Preise bleiben unverändert. Text-APIs senden den Standardwert des Anbieters; Decisions- und Generierungs-APIs lassen das Upstream-Feld weg.

  • last_frame_url
    Typ: string Format: uri
  • prompt
    Typ: string
    max. Länge:  
    2000
  • reference_audio_urls
    Typ: array string[] …3Format: uri
  • reference_image_urls
    Typ: array string[] …9Format: uri
  • reference_video_urls
    Typ: array string[] …3Format: uri
  • resolution
    Typ: string enum
    Werte
    • 480p
    • 720p
    • 1080p
    • 4k
  • service_tier
    Typ: string | null

    Derzeit wird nur default (standard) unterstützt. Weggelassene Werte, null, Aliase und nicht unterstützte Zeichenfolgen fallen auf default zurück; andere Typen liefern HTTP 400. Konfigurierte Kanäle und Preise bleiben unverändert. Text-APIs senden den Standardwert des Anbieters; Decisions- und Generierungs-APIs lassen das Upstream-Feld weg.

Antworten
  • 202
    Typ: object · VideoGenerationAccepted

    Aufgabe angenommen

    • kind
      enum
      Konstante:  
      video
      erforderlich
      Werte
      • video
    • outputs
      Typ: array string[]
      erforderlich

      Leer, bis die Aufgabe erfolgreich ist.

    • status
      enum
      Konstante:  
      queued
      erforderlich
      Werte
      • queued
    • task_id
      Typ: string
      erforderlich

      Aufgaben-ID für die Statusabfrage.

    application/json
  • 400
    Typ: object · GenerationError

    Ungültige Anfrage (unbekanntes Modell, gemischte Eingabemodi, ungültige Felder)

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 401
    Typ: object · GenerationError

    Ungültiger oder fehlender Felo-API-Schlüssel

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 402
    Typ: object · GenerationError

    Unzureichendes Guthaben / Abrechnungsvoraussetzung nicht erfüllt

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 403
    Typ: object · GenerationError

    Konto nicht berechtigt (Abonnement erforderlich oder Benutzer gesperrt). Deaktivierte Modelle werden ebenfalls vor Upstream-Aufrufen abgelehnt. Bereits angenommene Anfragen und Aufgaben werden fortgesetzt.

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 429
    Typ: object · GenerationError

    Anfrage- oder Ausgabenlimit erreicht

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 502
    Typ: object · GenerationError

    Upstream-Anbieter fehlgeschlagen

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    application/json
  • 503
    Typ: object · GenerationError

    Generierungsdienst oder Abrechnungsdienst vorübergehend nicht verfügbar

    OpenAI-kompatibles Fehler-Envelope.

    • error
      Typ: object
      • message
        Typ: string
        erforderlich
      • type
        Typ: string enum
        erforderlich
        Werte
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string nullable
    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