Odeslat úlohu generování videa
Vytvoří asynchronní úlohu generování videa a okamžitě vrátí task_id (HTTP 202). Opakovaně dotazujte GET /api/v1/videos/generations/{task_id}, dokud úloha neuspěje. Tělo požadavku lze zadat buď ploše ({model, prompt, ...}), nebo vnořeně ({model, input: {prompt, ...}}); pokud je objekt input přítomen, má přednost. Pole pro zpětné volání (callBackUrl / callback_url / callbackUrl) se ignorují.
Tři vzájemně výlučné režimy vstupu:
- text-to-video: pouze prompt;
- image-to-video (první/poslední snímek): first_frame_url (+ volitelný last_frame_url);
- omni-reference: reference_image_urls / reference_video_urls / reference_audio_urls. Kombinace režimu prvního/posledního snímku s jakýmkoli multimodálním referenčním vstupem vrací 400 invalid_request_error.
- Typ: stringX
- Request - Id Volitelné ID požadavku volajícího, které se vrací pro diagnostiku.
- Typ: stringX
- Felo - Channel Seřazené kódy veřejných kanálů oddělené čárkami. Pokud tuto hlavičku vynecháte, použije se default; default lze použít pouze samostatně. V režimu peněženky prochází default efektivní pořadí veřejných kanálů modelu v opačném směru, přeskakuje nepublikované nebo nedostupné kanály a vybere poskytovatele prvního dostupného kanálu. Zahrnuje dostupné endpointy tohoto poskytovatele se stejným ID modelu v upstreamu a stejnou úrovní služby. Explicitní kanály se ověřují v pořadí zadaném klientem; odešle se pouze skupina poskytovatele prvního kanálu. K automatickému přepnutí na jiné poskytovatele nedochází. Starší hlavičky poskytovatele nemohou přepsat směrování kanálů.
Vstup pro generování videa. Buď plochý ({model, prompt, ...}), nebo vnořený ({model, input: {...}}). Přednost má input. Musí se použít právě jeden režim vstupu; kombinace prvního/posledního snímku s multimodálními referenčními vstupy se odmítá.
- Typ: stringmodelpovinné
Název modelu vystavený přes Felo, např. seedance-2.0-mini.
- Typ: string enumaspect
_ratio hodnoty- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- Typ: integerdurationmin:4max:15
Integer numbers.
- Typ: string Formát: urifirst
_frame _url - Typ: booleangenerate
_audio - Typ: objectinput
Volitelný vnořený objekt vstupu; pokud je přítomen, mají jeho pole přednost před sourozeneckými poli.
- aspectTyp: string enum
_ratio Poměr stran výstupu; adaptive sleduje poměr vstupního obrázku.
hodnoty- 16:9
- 9:16
- 1:1
- 4:3
- 3:4
- 21:9
- adaptive
- durationTyp: integermin:4max:15
Délka výstupu v sekundách.
- firstTyp: string Formát: uri
_frame _url URL obrázku prvního snímku (režim image-to-video).
- generateTyp: boolean
_audio Zda generovat synchronizovanou zvukovou stopu.
- lastTyp: string Formát: uri
_frame _url URL obrázku posledního snímku; musí se použít společně s first_frame_url.
- promptTyp: stringmaximální délka:2000
Prompt. Povinný pro režimy text-to-video a omni-reference.
- referenceTyp: array string[] …3Formát: uri
_audio _urls Zvukové klipy pro omni-reference.
- referenceTyp: array string[] …9Formát: uri
_image _urls Obrázky pro omni-reference. Vzájemně se vylučují s režimem prvního/posledního snímku.
- referenceTyp: array string[] …3Formát: uri
_video _urls Videa pro omni-reference. Vzájemně se vylučují s režimem prvního/posledního snímku. Uvedení videa mění jednotkovou cenu fakturace a připočítává délku vstupu k počtu tokenů.
- resolutionTyp: string enum
Rozlišení výstupu. Vyšší rozlišení spotřebovává více tokenů a je dražší.
hodnoty- 480p
- 720p
- 1080p
- 4k
- serviceTyp: string | null
_tier V současnosti je podporována pouze hodnota default (standard). Vynechaná hodnota, null, aliasy a nepodporované řetězce se převedou na default; jiné typy vrací HTTP 400. Nakonfigurované kanály a ceny zůstávají beze změny. Textová API odesílají standardní hodnotu poskytovatele; rozhraní Decisions a rozhraní generování pole upstreamu vynechávají.
- Typ: string Formát: urilast
_frame _url - Typ: stringpromptmaximální délka:2000
- Typ: array string[] …3Formát: urireference
_audio _urls - Typ: array string[] …9Formát: urireference
_image _urls - Typ: array string[] …3Formát: urireference
_video _urls - Typ: string enumresolutionhodnoty
- 480p
- 720p
- 1080p
- 4k
- Typ: string | nullservice
_tier V současnosti je podporována pouze hodnota default (standard). Vynechaná hodnota, null, aliasy a nepodporované řetězce se převedou na default; jiné typy vrací HTTP 400. Nakonfigurované kanály a ceny zůstávají beze změny. Textová API odesílají standardní hodnotu poskytovatele; rozhraní Decisions a rozhraní generování pole upstreamu vynechávají.
- Typ: object · VideoGenerationAccepted202
Úloha přijata
- enumkindconst:videopovinnéhodnoty
- video
- Typ: array string[]outputspovinné
Prázdné, dokud úloha neuspěje.
- enumstatusconst:queuedpovinnéhodnoty
- queued
- Typ: stringtask
_id povinnéID úlohy pro dotazování stavu.
application/json - Typ: object · GenerationError400
Neplatný požadavek (neznámý model, smíšené režimy vstupu, neplatná pole)
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError401
Neplatný nebo chybějící API klíč Felo
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError402
Nedostatečný zůstatek / nesplněná podmínka fakturace
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError403
Účet nemá oprávnění (vyžadováno předplatné nebo je uživatel zablokován). Zakázané modely se odmítají ještě před voláním upstreamu. Již přijaté požadavky a úlohy pokračují.
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError429
Dosažen limit požadavků nebo utrácení
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError502
Selhání poskytovatele upstream
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
application/json - Typ: object · GenerationError503
Služba generování nebo fakturační služba je dočasně nedostupná
Obálka chyb kompatibilní s OpenAI.
- Typ: objecterror
- messageTyp: stringpovinné
- typeTyp: string enumpovinnéhodnoty
- invalid
_request _error - server
_error
- codeTyp: string
- paramTyp: string může být null
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"
]
}