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.
- Type: stringX
- Request - Id Optionele verzoek-ID van de aanroeper die voor diagnostiek wordt teruggegeven.
- Type: stringX
- Felo - Channel 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.
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.
- Type: stringmodelverplicht
Modelnaam zoals Felo die toont, bijv. seedance-2.0-mini.
- Type: string enumaspect
_ratio waarden- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- Type: integerdurationmin.:4max.:15
Integer numbers.
- Type: string Formaat: urifirst
_frame _url - Type: booleangenerate
_audio - Type: objectinput
Optioneel genest input-object; wanneer aanwezig hebben de velden ervan voorrang op velden van hetzelfde niveau.
- aspectType: string enum
_ratio 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
- durationType: integermin.:4max.:15
Uitvoerduur in seconden.
- firstType: string Formaat: uri
_frame _url URL van de afbeelding van het eerste frame (modus afbeelding-naar-video).
- generateType: boolean
_audio Of er een gesynchroniseerde audiotrack moet worden gegenereerd.
- lastType: string Formaat: uri
_frame _url URL van de afbeelding van het laatste frame; moet samen met first_frame_url worden gebruikt.
- promptType: stringmax. lengte:2000
Prompt. Vereist voor de modi tekst-naar-video en omni-referentie.
- referenceType: array string[] …3Formaat: uri
_audio _urls Omni-referentie-audioclips.
- referenceType: array string[] …9Formaat: uri
_image _urls Omni-referentieafbeeldingen. Niet te combineren met eerste/laatste frame.
- referenceType: array string[] …3Formaat: uri
_video _urls 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.
- resolutionType: string enum
Uitvoerresolutie. Een hogere resolutie verbruikt meer tokens en kost meer.
waarden- 480p
- 720p
- 1080p
- 4k
- serviceType: string | null
_tier 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.
- Type: string Formaat: urilast
_frame _url - Type: stringpromptmax. lengte:2000
- Type: array string[] …3Formaat: urireference
_audio _urls - Type: array string[] …9Formaat: urireference
_image _urls - Type: array string[] …3Formaat: urireference
_video _urls - Type: string enumresolutionwaarden
- 480p
- 720p
- 1080p
- 4k
- Type: string | nullservice
_tier 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.
- Type: object · VideoGenerationAccepted202
Taak geaccepteerd
- enumkindconstante:videoverplichtwaarden
- video
- Type: array string[]outputsverplicht
Leeg totdat de taak slaagt.
- enumstatusconstante:queuedverplichtwaarden
- queued
- Type: stringtask
_id verplichtTaak-ID om te gebruiken voor polling.
application/json - Type: object · GenerationError400
Ongeldig verzoek (onbekend model, gemengde invoermodi, ongeldige velden)
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError401
Ongeldige of ontbrekende Felo API-sleutel
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError402
Onvoldoende saldo / factureringsvoorwaarde niet voldaan
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError403
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.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError429
Limiet voor verzoeken of bestedingen bereikt
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError502
Upstream-aanbieder is mislukt
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json - Type: object · GenerationError503
Generatiedienst of factureringsdienst tijdelijk niet beschikbaar
OpenAI-compatibele foutenvelop.
- Type: objecterror
- messageType: stringverplicht
- typeType: string enumverplichtwaarden
- invalid
_request _error - server
_error
- codeType: string
- paramType: string null toegestaan
application/json
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"
]
}