Felo API PlatformFelo API Platform
v0.4.0
OpenAPI 3.1.0

Prześlij zadanie generowania wideo

Serwer:https://openapi.felo.ai
Biblioteki klienckie

Prześlij zadanie generowania wideo

​

Tworzy asynchroniczne zadanie generowania wideo i od razu zwraca task_id (HTTP 202). Odpytuj GET /api/v1/videos/generations/{task_id}, aż zadanie zakończy się powodzeniem. Treść żądania można podać w formie spłaszczonej ({model, prompt, ...}) lub zagnieżdżonej ({model, input: {prompt, ...}}); obiekt input ma pierwszeństwo, jeśli jest obecny. Pola callback (callBackUrl / callback_url / callbackUrl) są ignorowane.

Trzy wykluczające się tryby wejścia:

  • text-to-video: tylko prompt;
  • image-to-video (pierwsza/ostatnia klatka): first_frame_url (+ opcjonalny last_frame_url);
  • omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. Połączenie pierwszej/ostatniej klatki z dowolnym multimodalnym wejściem referencyjnym zwraca 400 invalid_request_error.
Nagłówki
  • X-Request-Id
    Typ: string

    Opcjonalny identyfikator żądania wywołującego, zwracany w celach diagnostycznych.

  • X-Felo-Channel
    Typ: string

    Uporządkowane kody publicznych kanałów rozdzielone przecinkami. Pomiń ten nagłówek, aby użyć wartości domyślnej; wartość domyślna musi być używana samodzielnie. W trybie portfela wartość domyślna przegląda efektywną kolejność publicznych kanałów modelu od końca, pomija kanały nieopublikowane lub niedostępne i wybiera dostawcę pierwszego dostępnego kanału. Obejmuje dostępne endpointy tego dostawcy o tym samym identyfikatorze modelu upstream i tym samym poziomie usługi. Jawne kanały są weryfikowane w kolejności podanej przez klienta; przesyłana jest tylko grupa dostawcy pierwszego kanału. Brak automatycznego przełączania na innych dostawców. Przestarzałe nagłówki dostawcy nie mogą nadpisać routingu kanałów.

Treść·VideoGenerationRequest
wymagane
application/json

Dane wejściowe generowania wideo. Albo spłaszczone ({model, prompt, ...}), albo zagnieżdżone ({model, input: {...}}). Pierwszeństwo ma input. Należy użyć dokładnie jednego trybu wejścia; połączenie pierwszej/ostatniej klatki z multimodalnymi wejściami referencyjnymi jest odrzucane.

  • model
    Typ: string
    wymagane

    Nazwa modelu widoczna w Felo, np. seedance-2.0-mini.

  • aspect_ratio
    Typ: string enum
    wartości
    • 16:9
    • 9:16
    • 1:1
    • 4:3
    • 3:4
    • 21:9
    • adaptive
  • duration
    Typ: integer
    min.:  
    4
    maks.:  
    15

    Integer numbers.

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

    Opcjonalny zagnieżdżony obiekt wejściowy; jeśli jest obecny, jego pola mają pierwszeństwo przed polami na tym samym poziomie.

    • aspect_ratio
      Typ: string enum

      Proporcje wyjścia; wartość adaptive zachowuje proporcje obrazu wejściowego.

      wartości
      • 16:9
      • 9:16
      • 1:1
      • 4:3
      • 3:4
      • 21:9
      • adaptive
    • duration
      Typ: integer
      min.:  
      4
      maks.:  
      15

      Czas trwania wyjścia w sekundach.

    • first_frame_url
      Typ: string Format: uri

      Adres URL obrazu pierwszej klatki (tryb image-to-video).

    • generate_audio
      Typ: boolean

      Czy generować zsynchronizowaną ścieżkę audio.

    • last_frame_url
      Typ: string Format: uri

      Adres URL obrazu ostatniej klatki; musi być używany razem z first_frame_url.

    • prompt
      Typ: string
      maks. długość:  
      2000

      Prompt. Wymagany w trybie text-to-video i omni-reference.

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

      Klipy audio omni-reference.

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

      Obrazy omni-reference. Wykluczają się wzajemnie z pierwszą/ostatnią klatką.

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

      Wideo omni-reference. Wykluczają się wzajemnie z pierwszą/ostatnią klatką. Podanie wideo zmienia jednostkową cenę rozliczeniową i dodaje czas trwania wejścia do liczby tokenów.

    • resolution
      Typ: string enum

      Rozdzielczość wyjściowa. Wyższa rozdzielczość zużywa więcej tokenów i kosztuje więcej.

      wartości
      • 480p
      • 720p
      • 1080p
      • 4k
    • service_tier
      Typ: string | null

      Obecnie obsługiwana jest tylko wartość default (standard). Pominięcie, null, aliasy i nieobsługiwane ciągi znaków powodują powrót do wartości default; inne typy zwracają HTTP 400. Skonfigurowane kanały i ceny pozostają bez zmian. Interfejsy API modeli tekstowych wysyłają standardową wartość dostawcy; interfejsy Decisions i generowania pomijają pole upstream.

  • last_frame_url
    Typ: string Format: uri
  • prompt
    Typ: string
    maks. długość:  
    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
    wartości
    • 480p
    • 720p
    • 1080p
    • 4k
  • service_tier
    Typ: string | null

    Obecnie obsługiwana jest tylko wartość default (standard). Pominięcie, null, aliasy i nieobsługiwane ciągi znaków powodują powrót do wartości default; inne typy zwracają HTTP 400. Skonfigurowane kanały i ceny pozostają bez zmian. Interfejsy API modeli tekstowych wysyłają standardową wartość dostawcy; interfejsy Decisions i generowania pomijają pole upstream.

Odpowiedzi
  • 202
    Typ: object · VideoGenerationAccepted

    Zadanie przyjęte

    • kind
      enum
      const:  
      video
      wymagane
      wartości
      • video
    • outputs
      Typ: array string[]
      wymagane

      Puste, dopóki zadanie się nie powiedzie.

    • status
      enum
      const:  
      queued
      wymagane
      wartości
      • queued
    • task_id
      Typ: string
      wymagane

      Identyfikator zadania używany do odpytywania.

    application/json
  • 400
    Typ: object · GenerationError

    Nieprawidłowe żądanie (nieznany model, mieszane tryby wejścia, nieprawidłowe pola)

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 401
    Typ: object · GenerationError

    Nieprawidłowy lub brakujący klucz API Felo

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 402
    Typ: object · GenerationError

    Niewystarczające saldo / niespełniony warunek rozliczeniowy

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 403
    Typ: object · GenerationError

    Konto nie ma uprawnień (wymagana subskrypcja lub użytkownik zablokowany). Wyłączone modele są również odrzucane przed wywołaniami upstream. Istniejące przyjęte żądania i zadania są kontynuowane.

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 429
    Typ: object · GenerationError

    Osiągnięto limit żądań lub wydatków

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 502
    Typ: object · GenerationError

    Błąd dostawcy upstream

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza null
    application/json
  • 503
    Typ: object · GenerationError

    Usługa generowania lub usługa rozliczeniowa tymczasowo niedostępna

    Koperta błędu zgodna z OpenAI.

    • error
      Typ: object
      • message
        Typ: string
        wymagane
      • type
        Typ: string enum
        wymagane
        wartości
        • invalid_request_error
        • server_error
      • code
        Typ: string
      • param
        Typ: string dopuszcza 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