ByteDance: Seedance 2.0
ByteDance Seedance 2.0 kombinerar inbyggd ljud- och videogenerering med bild-, video- och ljudreferenser. Regissera nya scener, redigera befintligt material eller förläng en sekvens; standardversionen omfattar dokumenterade utdata i 1080p och 10-bitars 4K.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Seedance 2.0 är ByteDance Seeds standardmodell för multimodalt ljud- och videoskapande. Den kombinerar text, bilder, video och ljud i en gemensam genereringsarkitektur, med separata kreativa arbetsflöden för referensstyrda scener, videoredigering och videoförlängning. Den är användbar när uppdraget behöver både ett sammanhängande framförande och specifik visuell eller ljudmässig information från förberett material.
Multimodal referens och regikontroll
Bilder kan definiera motivets utseende, visuell stil och komposition. Videoreferenser kan styra handling, kamerarörelse och effekter. Ljud kan styra röstklang, musik eller dialog. Definiera varje materials roll och beskriv sedan scenen som ska bli resultatet. Tillverkaren betonar kontroll över framförande, ljussättning, skuggor och kameraspråk.
Förbered en produktbild, en referens för kamerarörelsen och en ljudsignal för en produktberättelse. Ett uppdrag kan vara: ”Bevara den blå glasvasen från Image 1. Använd den långsamma sidledes åkningen från Video 1. Vasen står på en solbelyst hylla med mjuk instrumentalmusik baserad på Audio 1.” Avsedda utdata är en nyiscensatt scen som kombinerar utvald referensinformation.
Referensindata kan kombinera bild och ljud, bild och video, video och ljud eller alla tre. Enbart ljudindata och text plus ljud utan bild eller video stöds inte. Traditionell text-till-video, generering med första bildrutan och generering med första och sista bildrutan dokumenteras också. Använd det särskilda arbetsflödet för slutpunkter om fasta öppnings- och slutkompositioner är viktiga: att namnge en referensbild som slutpunkt i en omni-referensprompt är bara ett indirekt sätt att styra den.
Redigera material
Modellen kan ersätta ett motiv, lägga till eller ta bort objekt, ändra element och rita om eller reparera delar av en video. Beskriv den specifika förändringen och identifiera källmaterialet. Inkludera tidpunkten då objektet ska visas och dess position vid ett tillägg; ange objektet exakt vid borttagning eller ersättning och namnge vad som ska vara kvar.
Till exempel: ”Ersätt skrivbordslampan i Video 1 med mässingslampan i Image 1. Behåll kamerarörelsen, skrivbordsarrangemanget och ljusriktningen.” Det önskade resultatet är en redigerad version av scenen med den avsedda ersättningen. Granska oförändrade områden liksom det nya objektet, särskilt när objekt skyms, vid rörelse och vid byte av tagning.
Förläng och koppla ihop en sekvens
Seedance 2.0 kan förlänga en video framåt eller bakåt och koppla ihop upp till tre angivna klipp med genererade övergångar. Ange tidsriktning och den nya händelsen. Ordna klippen för en brygga och beskriv övergången mellan varje par, till exempel att kameran går in genom en dörröppning i en tagning och kommer fram i nästa miljö.
En enkel förlängning returnerar vanligtvis fortsättningen som utvecklats runt källmaterialet; inkludera en tydlig instruktion om slutresultatet också ska upprepa originalsegmentet. När en koppling mellan två eller tre klipp slutförs kan det dokumenterade arbetsflödet inkludera både originalmaterial och nytt övergångsinnehåll. Det är användbart för att utveckla en öppning eller ett avslut eller koppla ihop förberedda scener utan att lämna den förenande handlingen ospecificerad.
Standardversionens utdata och 4K
Standardversionen dokumenterar MP4 vid 24 fps och längder från 4 till 15 sekunder. Utdatanivåerna är 480p, 720p och 1080p med 8-bitars färgdjup samt 4K med 10-bitars färgdjup. Bildförhållandena som stöds är 21:9, 16:9, 4:3, 1:1, 3:4 och 9:16. Anpassningsbart bildutsnitt och automatiskt längdval dokumenteras också. Fast-versionen har en egen snävare utdataspecifikation för 480p/720p.
4K-utdata använder H.265/HEVC-kodning. Tiobitarskodning bevarar fler tonnyanser och jämnare färgövergångar, vilket är viktigt för material med subtila ljus- eller färggradienter. Kontrollera att avsedd uppspelnings- och redigeringsmiljö kan avkoda formatet; vissa webbläsare och enheter spelar inte upp det direkt. En kompatibel behållare garanterar inte i sig kompatibel videoavkodning.
Modellen kan generera synkroniserat ljud eller en tyst video, och den kan returnera den sista genererade bildrutan för en efterföljande scen. Genererat ljud är mono. Familjen 2.0 stöder inte det separata Draft-förhandsvisningsläget i två steg, så funktionen ska inte härledas från en annan Seedance-version.
Referensförberedelse och väsentliga begränsningar
Dokumenterad referenskapacitet är upp till nio bilder, tre videor och tre ljudklipp. Direktuppladdningar av referensbilder eller videor med verkliga mänskliga ansikten accepteras inte i den dokumenterade producentprofilen; porträttarbete använder dess stödda arbetsflöde för porträttresurser. Varje video- och ljudklipp måste vara 2–15 sekunder långt. Alla videoreferenser tillsammans måste rymmas inom 15 sekunder och alla ljudreferenser tillsammans har ett eget totalvärde på 15 sekunder. Videofiler använder MP4 eller MOV vid 24–60 fps, upp till 200 MB vardera; ljudfiler använder WAV eller MP3, upp till 15 MB vardera. De listade bildformaten är JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC och HEIF. Bilder måste vara mindre än 30 MB vardera och begärans meddelandekropp får inte överstiga 64 MB. I den dokumenterade referensindataprofilen måste bildbredd och höjd vardera vara strikt mellan 300 och 6 000 pixlar, med ett bredd-höjd-förhållande strikt mellan 0,4 och 2,5. Referensvideor tillåter 300–6 000 pixlar i varje dimension och förhållanden på 0,4–2,5 inklusive gränserna, med totalt 407 696–8 295 044 pixlar. MP4- eller MOV-videor använder H.264/AVC- eller H.265/HEVC-video och AAC- eller MP3-ljud.
Ordna filerna medvetet och hänvisa till varje fil med medietyp och nummer: Image 1, Video 1 och Audio 1. Numret följer ordningen mellan filer av samma typ. Förklara vilka egenskaper som ska överföras och vilket källinnehåll som inte ska definiera den nya scenen. Dokumenterade promptspråk omfattar engelska, spanska, indonesiska, portugisiska och japanska. Håll det talade språket konsekvent inom en dialog; guiden avråder från att blanda språk utom för egennamn. Skilj på talaren, den exakta repliken och framförandeanvisningen för röststyrt arbete.
Förbered första och sista bild med kompatibelt bildutsnitt. En avvikelse mellan indatabilden och utdatadimensionerna kan orsaka beskärning eller en abrupt visuell ändring; matchande dimensioner och anpassningsbart bildutsnitt är dokumenterade lösningar. Håll beskrivningen koncentrerad på händelsen och referensrollerna. Tillverkaren varnar för att långa promptar kan sprida information och göra att detaljer ignoreras. Granska resulterande rörelse, referenskontinuitet, ljudframförande och skarvar mellan scener som separata delar av det kreativa resultatet.
Tagningsplanering och textregi
Organisera uppdraget för en komplex scen som Shot 1, Shot 2 och Shot 3 och ange kamera, motivets handling, position och ljud i ordning. Guiden rekommenderar en kamerarörelse per tagning och prioritering av långsamma, sammanhängande handlingar. Exakta tidsstämplar per tagning är instabila, så ett händelseförlopp är bättre kontroll än att tvinga fram flera exakta tidsfönster.
Modellen genererar också vanlig text, inklusive slagord, undertexter och pratbubblor. Du kan styra textens färg, visuella behandling, plats och entré. Använd vanliga tecken i stället för sällsynta tecken eller specialsymboler och granska ordalydelsen under rörelsen. Koppla tydligt varje resurs till avsedd karaktär eller objekt för motivreferenser. Produktvinklar kan tillhandahålla olika visuell information; kollage med karaktären från flera vinklar kan förvirra ansiktsidentiteten. En separat tydlig porträttbild och helkroppsbild är den dokumenterade rekommendationen för karaktärsreferenser.
Beteenden att granska före en redigering
Guiden dokumenterar oönskade undertexter, logotyper, dubblerade karaktärer och stilglidning. Rent källmaterial, konsekventa etiketter och uttryckliga begränsningar minskar riskerna men garanterar inte att oönskad text eller dubbla figurer försvinner. Fler än fyra referenspersoner rapporteras som en stabilitetsrisk, skild från antalet filer modellen tar emot.
Videoförlängning kan skapa ett hopp eller en tillbakagång i skarven, och upprepade fortsättningar kan förstärka försämringen av bildkvaliteten. Granska gränsbildrutorna och begränsa staplade förlängningar. En refererad röst kan avvika från källans klang; berättarröst kan sluta med ett klick eller abrupt avbrott, där ljuduttoning är en dokumenterad lösning. Kinesiska polyfona, ovanliga eller likformiga tecken kan uttalas fel. För en exakt animerad effekt, till exempel en nedräkning, är en rörelsereferens mer informativ än enbart en verbal begäran. Det är konkreta skäl att kontrollera identitet, text, rörelse och ljud separat när klippet väljs.
Ailoot Ultra · Video POST /v1/videos bytedance/seedance-2.0
bytedance/seedance-2.0Start
ByteDance Seedance 2.0 kombinerar inbyggd ljud- och videogenerering med bild-, video- och ljudreferenser. Regissera nya scener, redigera befintligt material eller förläng en sekvens; standardversionen omfattar dokumenterade utdata i 1080p och 10-bitars 4K.
- Godkända indata
- Text · Bilder · Ljud
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text,image,audio- Utdatatyper
video- Utdataformat
- ursprungliga MP4-byte; ingen normalisering/omkodning
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser bytedance/seedance-2.0 | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maximum: 600 | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser 480p, 720p, 1080p, 4K | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | Standard— |
Fältgenerate_audio | Typboolean | KravValfritt | Värden & gränser false, true Villkor: Vid 480p och 720p väljer ett utelämnat generate_audio priset med ljud, medan false väljer priset utan ljud. Vid 1080p och 4K gäller upplösningens pris för båda inställningarna. Kontrollera has_audio i resultatet för det returnerade ljudspåret. | Standard— |
Fältframe_images | Typarray | KravValfritt | Värden & gränser Minsta antal objekt: 1 Maximalt antal objekt: 2 Indatainnehåll: Array med bildruteobjekt. Varje objekt har type=image_url, image_url som innehåller url och frame_type=first_frame eller last_frame. Varje roll förekommer högst en gång. Använd offentliga HTTPS-länkar. Exakta nycklar: type, image_url, frame_type Villkor: Dessa nycklar gäller varje bildruteobjekt. Utelämna frame_images för en begäran med enbart text. | Standard— |
Fältinput_references | Typarray | KravValfritt | Värden & gränser Indatainnehåll: Array med bild- eller ljudreferensobjekt. Sätt type till image_url eller audio_url och ange motsvarande URL-objekt som innehåller url. Videoreferenser kan fortfarande inte prissättas. Villkor: Utelämna frame_images för att använda referensläge. Använd offentliga HTTPS-länkar. | Standard— |
Fältsize | Typstring | KravValfritt | Värden & gränser 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160 Mönster: ^[1-9][0-9]*x[1-9][0-9]*$ | Standard— |
Fältseed | Typinteger | KravValfritt | Värden & gränser Minimum: −9 223 372 036 854 775 808 Maximum: 9 223 372 036 854 775 807 | Standard— |
Fältcallback_url | Typstring | KravValfritt | Värden & gränser Mönster: ^https:// | Standard— |
Fältsession_id | Typstring | KravValfritt | Värden & gränser | Standard— |
Fälttrace | Typobject | KravValfritt | Värden & gränser | Standard— |
Fältuser | Typstring | KravValfritt | Värden & gränser | Standard— |
Kombinationer av indatamaterial
Text till video · En skriven prompt. · Krävs: model, prompt, duration
Ange en textprompt och en längd i hela sekunder som stöds. Använd en exakt angiven storlek, eller en upplösning och ett bildförhållande som motsvarar angivna dimensioner.
model: Typ: string · bytedance/seedance-2.0
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Bild till video · En skriven prompt och en bildruta. · Krävs: model, prompt, duration, frame_images
frame_images är en array med objekt som har type=image_url, image_url som innehåller url samt frame_type. Använd en offentlig HTTPS URL till en bild; first_frame och last_frame får förekomma en gång vardera. Använd en angiven utdatastorlek eller kompatibla dimensioner. Lägg inte till videoreferenser.
Exakta nycklar: type, image_url, frame_type
model: Typ: string · bytedance/seedance-2.0
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Reference to video · En skriven prompt och bild- eller ljudreferenser. · Krävs: model, prompt, duration, input_references
input_references är en array. Varje objekt har type=image_url eller type=audio_url och ett motsvarande URL-objekt som innehåller url. Använd offentliga HTTPS-länkar. Utelämna frame_images för att välja referensläge. Videoreferenser kan inte prissättas.
model: Typ: string · bytedance/seedance-2.0
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration |
Parametermaterial_types | Avtaltext, image, audio |
Parameteradditional_properties | Avtalfalse |
Parameteroptional_controls | Avtalresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Livscykel: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Utdata · Pris per videotoken · Uppskattning endast för jämförelse $0.014 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorresolution: 1080p | Avgift Utdata · Pris per videotoken · Uppskattning endast för jämförelse $0.0154 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorindata: with_video_input; upplösning: 1080p | Avgift reference · Pris per videotoken · Uppskattning endast för jämförelse $0.0094 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorresolution: 4k | Avgift Utdata · Pris per videotoken · Uppskattning endast för jämförelse $0.008 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorindata: with_video_input; upplösning: 4k | Avgift reference · Pris per videotoken · Uppskattning endast för jämförelse $0.0048 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorindata: with_video_input | Avgift reference · Pris per videotoken · Uppskattning endast för jämförelse $0.0086 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Prislista— | Prognostiserad mängd— | Debiteringsenhetper 1K videotoken | Debiteringsvillkorljud: without_audio | Avgift Utdata · Pris per videotoken · Uppskattning endast för jämförelse $0.014 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.3024 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
Prisreferenser för videokonfigurationer
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| KonfigurationPris för videotoken | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Utdata · Pris per videotoken $0.014 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorresolution: 4k | Avgift Utdata · Pris per videotoken $0.008 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorresolution: 1080p | Avgift Utdata · Pris per videotoken $0.0154 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorljud: without_audio | Avgift Utdata · Pris per videotoken $0.014 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorindata: with_video_input | Avgift reference · Pris per videotoken $0.0086 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorindata: with_video_input; upplösning: 4k | Avgift reference · Pris per videotoken $0.0048 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
| KonfigurationPris för videotoken | Debiteringsvillkorindata: with_video_input; upplösning: 1080p | Avgift reference · Pris per videotoken $0.0094 per 1K videotoken Priset per videotoken är den huvudsakliga prisreferensen. De övergripande uppskattningarna per sekund är separata referenser och innebär ingen extra avgift. |
Exempelbegäranden
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Ta emot och spara resultat
Ailoot Ultra · Video
signerade innehållslänkar som du äger
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Kontrollera jobbstatus
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Andra innehållsläsningar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll varje faktiskt resultat som du äger och dess returnerade, uppmätta metadata.
Om det ursprungliga svaret behöver kontrolleras
503 result_pending_check + ursprungligt id + X-Should-Retry:false; upprepa aldrig originalet
Svarsfält
| Fält | Typ | Betydelse |
|---|---|---|
Fältindex | Typinteger | BetydelseNollbaserad position för denna video i utdatalistan. |
Fältcontent_url | Typstring | BetydelseSignerad HTTPS URL för hämtning av denna färdiga video. |
Fältsha256 | Typstring | null | BetydelseSHA-256-kontrollsumma för den ursprungliga videons byte; null om den inte är tillgänglig. |
Fältsize_bytes | Typinteger | null | BetydelseStorleken på den ursprungliga videofilen i byte; null om den inte är tillgänglig. |
Fältduration_ms | Typinteger | null | BetydelseUppmätt videolängd i millisekunder; null om den inte är tillgänglig. |
Fältwidth | Typinteger | null | BetydelseVideobredd i pixlar; null om den inte är tillgänglig. |
Fältheight | Typinteger | null | BetydelseVideohöjd i pixlar; null om den inte är tillgänglig. |
Fältvideo_codec | Typstring | null | BetydelseIdentifierare för videokodek; null om ingen har registrerats. |
Fälthas_audio | Typboolean | null | BetydelseOm videon innehåller ett ljudspår; null om detta inte har mätts. |
Fältaudio_codec | Typstring | null | BetydelseIdentifierare för ljudkodek; null när ingen identifierare har registrerats. |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar404 · not_found_error | VillkorVideoåtkomst är inte tillgänglig eller detta video-ID hittades inte. | Nästa stegKontrollera videoåtkomst. För en befintlig video använder du dess ursprungliga offentliga ID och samma API-nyckel. |
Svar401 · authentication_error | VillkorAPI-nyckeln motsvarar inte det autentiserade kontot. | Nästa stegKontrollera din API-nyckel och kontoåtkomst innan du skickar in. |
Svar400 · invalid_request_error | VillkorBegäran kunde inte läsas eller hämtningsindexet är ogiltigt. | Nästa stegKorrigera begäranskroppen. Vid hämtning väljer du ett utdataindex som returnerats av den ursprungliga uppgiften. |
Svar422 · price_unavailable | VillkorDen valda videokonfigurationen kan inte prissättas. | Nästa stegVälj en videokonfiguration som stöds och fyll i dess obligatoriska alternativ innan du skickar en korrigerad begäran. |
Svar422 · invalid_request_error | VillkorVideoindata eller den ursprungliga fortsättningsuppgiften är ogiltig. | Nästa stegAnvänd giltiga HTTPS-indata. För fortsättning använder du det färdiga originalets offentliga video-ID med samma API-nyckel. |
Svar402 · billing_error | VillkorDet tillgängliga saldot eller gränserna medger ingen reservation. | Nästa stegKontrollera ditt tillgängliga saldo och dina gränser innan du skickar en ny begäran. |
Svar503 · server_error | VillkorVideoverifiering, lagring eller tjänsteåtkomst är tillfälligt otillgänglig. | Nästa stegVänta tills tjänsten är tillgänglig. Om du redan har ett video-ID kontrollerar du den ursprungliga uppgiften i stället för att skapa en ny generering. |
Svar503 · result_pending_check | VillkorDet ursprungliga videoresultatet och debiteringen behöver kontrolleras. | Nästa stegBehåll det returnerade video-ID:t och kontrollera den uppgiften. Skicka ingen ersättande genereringsbegäran medan den kontrolleras. |
Svar503 · owned_result_unavailable | VillkorHämtningen av den befintliga videon är tillfälligt otillgänglig. | Nästa stegKontrollera samma videouppgift senare och hämta dess befintliga resultat. En ny generering skapar en separat operation. |
Svar409 · video_not_ready | VillkorVideoinnehållet har inte publicerats. | Nästa stegKontrollera den ursprungliga uppgiftens status. Hämta när den rapporterar completed; om den rapporterar failed följer du dess meddelande om debiteringskontroll. |
Alias
Modellalias
Ailoot Ultra bytedance/seedance-2.0
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · ByteDance: Seedance 2.0
- Vilka indata och resultat finns?
POST /v1/videos·bytedance/seedance-2.0:text,image,audio→video- Vilka fält använder begäran?
POST /v1/videos·bytedance/seedance-2.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Vilka gränser gäller?
POST /v1/videos·bytedance/seedance-2.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807