ByteDance: Seedance 2.0
Seedance 2.0 genereert en bewerkt video met tekst-, afbeeldings-, video- en audioreferenties. Het kan bestaande beelden voortzetten en gesynchroniseerd geluid genereren, met een duur van 4–15 seconden, uitvoer in 480p of 720p en expliciete referentierollen.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Seedance 2.0 genereert video vanuit een geschreven scène of een combinatie van afbeeldings-, video- en audioreferenties. De specifieke selector doubao-seedance-2-0-260128 benoemt het standaardprofiel 2.0. De gedocumenteerde werkwijzen omvatten nieuwe videogeneratie, bewerking en verlenging van bestaande beelden. Gebruik referenties om uiterlijk, beweging, camerataal en geluid over te brengen en geef vervolgens aan welke delen van de scène ze moeten sturen.
Tekst kan zelfstandig worden aangeleverd. De gedocumenteerde multimodale combinaties staan ook afbeeldingen of video met optionele tekst toe, afbeeldingen met audio, video met audio en afbeeldingen, video en audio samen. Audio begeleidt in die vermelde combinaties dus visuele media; een zelfstandige audio-naar-video-aanvraag wordt niet beschreven. Schrijf het beoogde resultaat duidelijk op, ook wanneer tekst optioneel is, zodat de rol van elke referentie expliciet is en niet uit ongerelateerde bestanden hoeft te worden afgeleid.
De content-array onderscheidt items van het type text, image_url, video_url en audio_url. Multimodale referenties gebruiken rollen zoals reference_image, reference_video en reference_audio. Een afbeelding kan de persoon, het object, de locatie of de uitstraling bepalen. Een video kan een uitvoering, beweging of camerabeeld demonstreren en audio kan een muzieknummer of timing vastleggen. Geef de taakverdeling in de beschrijving aan: behoud het onderwerp uit de afbeelding, volg het camerabeeld van de video en gebruik de audio als achtergrond. Vraag niet elke referentie tegelijk elke eigenschap te bepalen.
Het gedocumenteerde reclamevoorbeeld combineert twee productafbeeldingen met een video- en een audioreferentie. Het beschrijft een openingsbeeld, een reeks handelingen, een productdetail van dichtbij en een eindcompositie, met behoud van een consistente achtergrondstem. Dezelfde structuur kan een korte presentatie ordenen: introduceer het object, toon één handeling en eindig op het herkenbare kenmerk. Benoem voor een bewerking de bronbeelden en het te wijzigen element; leg voor een verlenging de handeling uit die voorbij de bestaande scène doorgaat, met behoud van het onderwerp en de bewegingsrichting.
Het 2.0-profiel documenteert een duur in gehele seconden van vier tot vijftien of -1 voor een automatisch gekozen duur binnen dat bereik. De standaard is vijf seconden. De resolutieopties zijn 480p en 720p, met 720p als standaard; 1080p is voor 2.0 uitgesloten. De vaste beeldverhoudingen omvatten 16:9, 4:3, 1:1, 3:4, 9:16 en 21:9. De verhouding adaptive kan kadrering uit de prompt of referentie kiezen: werk met een eerste beeld volgt de openingsafbeelding en multimodaal werk gebruikt de beoogde scène of de eerste relevante media, waarbij video voorrang krijgt op afbeeldingen. Controleer het taakresultaat op de werkelijke beeldverhouding en duur.
Gegenereerd geluid wordt afzonderlijk van referentiemedia geregeld. generate_audio=true vraagt om gesynchroniseerde stemmen, effecten en achtergrondmuziek op basis van de tekst en visuele inhoud; false vraagt om een video zonder geluid. De gedocumenteerde standaard is true en dialoog tussen aanhalingstekens wordt aanbevolen voor spraak. Specificeer wie spreekt en hoe het geluid bij de zichtbare handeling aansluit en controleer vervolgens de werkelijke formulering, stemtoewijzing en timing. Het aanleveren van een audioreferentie en het inschakelen van gegenereerd geluid zijn afzonderlijke aanvraagkeuzes.
De 2.0-handleiding sluit de oudere instellingen frames en camera_fixed uit en ondersteunt geen flex-offlineverwerking. Gebruik het veld duration en beschrijf de camerabeweging in de scène zelf. Seed en watermark blijven gedocumenteerde instellingen; de handleiding vermeldt dat dezelfde aanvraag en seed vergelijkbare resultaten kunnen opleveren zonder exacte gelijkheid te garanderen. Behandel een seed niet als bewijs van reproduceerbaarheid of een herhaalde aanvraag als een al gecontroleerde clip.
Het verbruik van videotokens wordt berekend als (duur invoervideo + duur uitvoervideo) × uitvoerbreedte × uitvoerhoogte × beeldsnelheid uitvoer / 1024. Aanvragen met invoervideo en aanvragen zonder invoervideo hebben afzonderlijke factureringscategorieën. De taakopvraag rapporteert usage.completion_tokens en usage.total_tokens; bewaar die gerapporteerde hoeveelheden bij de voltooide clip.
De werkwijze is asynchroon: indienen geeft een taakidentificator terug en de voltooide taak levert content.video_url samen met de gerapporteerde duur, resolutie, beeldverhouding, beeldsnelheid en tokenverbruik. Bewaar de identificator en sla de voltooide video op met de oorspronkelijke referenties en prompt. Het vervalveld is standaard 172800 seconden en accepteert 3600–259200 seconden vanaf het aanmaken van de taak; een taak die het interval overschrijdt, vervalt. Controleer de volledige uitvoer, inclusief de aansluiting van een bewerking of voortzetting, op het uiterlijk van personages, objectdetails, ruimtelijke relaties, cameracontinuïteit en de timing tussen geluid en beeld.
Ailoot Ultra · Videogeneratie POST /v1/videos doubao-seedance-2-0-260128
doubao-seedance-2-0-260128Aan de slag
Seedance 2.0 genereert en bewerkt video met tekst-, afbeeldings-, video- en audioreferenties. Het kan bestaande beelden voortzetten en gesynchroniseerd geluid genereren, met een duur van 4–15 seconden, uitvoer in 480p of 720p en expliciete referentierollen.
- Toegestane invoer
- Tekst · Afbeeldingen · Video · Audio
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Videogeneratie POST /v1/videos
- Invoer
text,image,video,audio- Uitvoer
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten doubao-seedance-2-0-260128 | Standaard— |
Veldcontent | Typearray | VereisteVereist | Waarden en limieten Voorwaarden: Natieve tekst- en mediaobjecten; de buitenste array mag niet leeg zijn. Deze generieke constructor van Ailoot valideert de types van geneste knooppunten niet. | Standaard— |
Veldgenerate_audio | Typeboolean | VereisteOptioneel | Waarden en limieten Voorwaarden: Gesynchroniseerd geluid dat in de video is opgenomen. | Standaardtrue |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten Voorwaarden: Geheel getal 4–15 of -1; de werkelijke uitvoerduur wordt teruggestuurd. | Standaard5 |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten 480p, 720p Voorwaarden: 1080p is uitdrukkelijk niet ondersteund voor 2.0/fast. | Standaard720p |
Veldratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Voorwaarden: De adaptieve instelling is uitdrukkelijk beperkt tot 2.0/fast/1.5; het voorbeeld voor 2.5 gebruikt alleen 16:9. | Standaardadaptive |
Veldwatermark | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Veldseed | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: -1 Maximum: 4.294.967.295 | Standaard-1 |
Veldexecution_expires_after | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 3.600 Maximum: 259.200 Eenheid: seconden | Standaard172.800 |
Veldservice_tier | Typestring | VereisteOptioneel | Waarden en limieten default Voorwaarden: 2.0/fast ondersteunen geen offline flex; het toepassingsgebied voor 2.5 is niet vastgesteld. | Standaarddefault |
Veldsafety_identifier | Typestring | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldtools | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: Alleen 2.0/fast; gedocumenteerd type=web_search. | Standaard— |
Combinaties van invoermaterialen
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractcontent, model |
Parameteroptional | Contractgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parametermaterial_types | Contracttext, image, video, audio |
Parameteradditional_properties | Contracttrue |
Parametervalidation_scope | ContractAiloot controleert de verplichte veldtypes en of model en de content-array niet leeg zijn. Andere aanvraagvelden blijven behouden voor het geselecteerde model. |
Parametermaterial_combinations | Contracttext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Contracttrue |
Parameterreference_media_count_and_size_limits | Contractnull |
Methodealiasnamen: /v1/videos/generations
Levenscyclus: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Maak eenmaal aan en bewaar de teruggestuurde openbare id/polling_url.
Vraag de oorspronkelijke opdracht herhaaldelijk op; download de werkelijke content.video_url die je toebehoort na succeeded.
Tarieven
Zo worden de uiteindelijke kosten berekend
De getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Rekeneenheid | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Rekeneenheid— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieDe invoer bevat een videoreferentie. | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0096 per 1K videotokens |
| ConfiguratieDe invoer bevat geen videoreferentie. | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.015768 per 1K videotokens |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Rekeneenheid— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.822402 schatting vóór generatie Deze raming is geen extra kost of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Videogeneratie
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
index=$((index + 1))
done < asset-urls.txt
Resultaten ophalen en opslaan
Ailoot Ultra · Videogeneratie
Natieve JSON met openbare id/polling_url. Na publicatie bevat content.video_url ondertekende URL's van Ailoot; vóór publicatie worden geselecteerde uitvoer-URL's leeggemaakt.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar elke werkelijke URL in content.video_url; index moet naar een werkelijk teruggestuurd uitvoerbestand verwijzen.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar het oorspronkelijke antwoord, de headers en de id en vraag de status van die operatie herhaaldelijk op; dien een aanmaakaanvraag met onbekende uitkomst nooit opnieuw in.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldprovider_task_id | Typestring |
Veldpolling_url | Typestring |
Veldstatus | Typestring when supplied |
Veldcontent.video_url | Typestring|string[] |
Veldusage | Typeobject when supplied |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige JSON, ongeldig model, ongeldige types van verplichte velden of ongeldige inhoudsindex. | Volgende stap |
Antwoord401 · authentication_error | VoorwaardeOngeldige Ailoot API-sleutel. | Volgende stap |
Antwoord404 · not_found_error | VoorwaardeTaak/uitvoer ontbreekt of behoort niet toe aan dezelfde gebruiker/API-sleutel/groep. | Volgende stap |
Antwoord502 · result_pending_check | VoorwaardeOorspronkelijke indiening/status onvolledig; bewaar de oorspronkelijke ID en dien niet opnieuw in. | Volgende stap |
Antwoord503 · result_pending_check | VoorwaardeDe oorspronkelijke media/route/afrekening worden gecontroleerd; zet de oorspronkelijke operatie voort. | Volgende stap |
Aliasnamen
Modelaliasnamen
Ailoot Ultra doubao-seedance-2-0-260128
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · ByteDance: Seedance 2.0
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·doubao-seedance-2-0-260128:text,image,video,audio→video- Welke velden gebruikt het verzoek?
POST /v1/videos·doubao-seedance-2-0-260128:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier,tools- Welke limieten gelden?
POST /v1/videos·doubao-seedance-2-0-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200