ByteDance: Seedance 2.5
Seedance 2.5 maakt video vanuit tekst en afbeeldings-, video- of audioreferenties, met gedocumenteerde werkwijzen voor bewerking en verlenging. Het specifieke 2.5-voorbeeld combineert een productafbeelding met meerdere bewegingsreferenties en schakelt gegenereerd geluid in voor een samenhangende reclamesequentie.
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.5 maakt video met een geschreven scène en multimodale referenties. De specifieke selector doubao-seedance-2-5-260628 heeft een eigen gedocumenteerde bewerking en een eigen voorbeeld. Die bewerking beschrijft videogeneratie, videobewerking en videoverlenging, met afbeeldingen, video, audio en tekst als invoermedia. Gebruik de referenties om het uiterlijk van het onderwerp, de handeling, camerabeweging, stijl en geluid over te brengen en leg vervolgens uit welk resultaat daarmee moet worden gemaakt.
De invoercombinaties omvatten alleen tekst, afbeeldingen of video met optionele tekst, afbeeldingen met audio, video met audio en afbeeldingen, video en audio samen. De vermelde combinaties voegen audio aan visuele media toe, in plaats van een aanvraag met uitsluitend audio te beschrijven. Orden elk item volgens zijn rol: een afbeelding bepaalt een onderwerp of uitstraling, een video toont beweging of een bestaande scène en audio levert een geluidsreferentie. Geef aan welke rol voor de gevraagde opname van belang is, zodat een achtergrondreferentie niet voor het hoofdpersonage wordt aangezien.
Het specifieke 2.5-voorbeeld is een productreclamesequentie. Het levert een afbeelding en meerdere videoreferenties aan en beschrijft vervolgens een openingsfocus, geordende productopstellingen, detailopnamen, een handeling in slow motion en een eindcompositie met het merk. De aanvraag kent de rollen reference_image en reference_video toe en gebruikt afzonderlijke referenties voor compositie, beweging, camerawerk en impact. Dit biedt een praktische structuur voor een campagneconcept: plan de zichtbare actiemomenten, benoem de referentie voor elk moment en specificeer de eindopstelling.
Een geschreven reeks kan onderscheiden wat er gebeurt en hoe het wordt gefilmd. Beschrijf eerst de producthandeling en vervolgens de shotgrootte, cameraroute, het tempo en de overgang naar het volgende beeld. Als één referentie het product bepaalt en een andere een camerabeweging toont, benoem die afzonderlijke verantwoordelijkheden. Leg bij een scène met meerdere objecten hun posities en de volgorde van interacties uit. Controleer het gegenereerde resultaat op de werkelijke productvorm, opstelling en beweging, in plaats van aan te nemen dat elk referentiedetail ongewijzigd verschijnt.
Benoem voor een bewerking de bestaande video en het te herzien element, zoals de omgeving, een handeling of de visuele stijl, en geef daarbij de te behouden continuïteit aan. Beschrijf voor verlenging hoe de scène vanuit de aangeleverde beelden moet doorgaan. Controleer zowel de aansluiting als het nieuwe segment: het uiterlijk van het onderwerp, de bewegingsrichting, camerapositie en geluidstiming bepalen samen of het resultaat als één scène overkomt. Bewaar de oorspronkelijke video en de voltooide herziening bij elkaar, zodat de wijziging aan de beoogde continuïteit kan worden getoetst.
Het gedocumenteerde multimodale 2.5-voorbeeld stelt generate_audio=true in en vraagt om een reeks van vijftien seconden met 16:9-kadrering. Die waarden beschrijven dat voorbeeld, geen universele bovengrens voor de duur of limiet voor referentiemateriaal. Geef de gevraagde scène een duidelijke geluidsbedoeling, inclusief de relatie tussen muziek, effecten en zichtbare handeling, en beoordeel vervolgens de werkelijke audiovisuele uitvoer. Een geluidsreferentie en de gegenereerde soundtrack moeten samen op het beoogde tempo en de uitvoering worden gecontroleerd.
Kies duur, kadrering en resolutie uit de instellingen die voor dit specifieke profiel worden aangeboden. Bewaar de gevraagde configuratie bij de prompt en vergelijk die met de werkelijk teruggegeven taakvelden. Gebruik de teruggegeven duur, resolutie en beeldverhouding om de voltooide clip voor zijn bestemming voor te bereiden. Bewaar de exacte profielidentificator in het herzieningsdossier, zodat een latere vergelijking dezelfde geselecteerde editie gebruikt.
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.
Generatie verloopt asynchroon. Indienen geeft een identificator terug en de geconfigureerde taakstroom levert een status, gevolgd door content.video_url na succes. Bewaar de voltooide clip bij de bronmedia en de sequentiebeschrijving. Controleer alle geplande actiemomenten, objectinteracties, het uiterlijk van personages, kadrering en geluidsafstemming in het volledige resultaat. Benoem bij een herziening het concrete gemiste detail en behoud de geslaagde delen van de scène, in plaats van de volledige beschrijving door ongerelateerde instructies te vervangen.
Ailoot Ultra · Videomateriaal POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Aan de slag
Seedance 2.5 maakt video vanuit tekst en afbeeldings-, video- of audioreferenties, met gedocumenteerde werkwijzen voor bewerking en verlenging. Het specifieke 2.5-voorbeeld combineert een productafbeelding met meerdere bewegingsreferenties en schakelt gegenereerd geluid in voor een samenhangende reclamesequentie.
- Toegestane invoer
- Tekst · Afbeeldingen · Video · Audio
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Videomateriaal POST /v1/videos
- Invoertypen
text,image,video,audio- Uitvoertypen
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten doubao-seedance-2-5-260628 | Standaard— |
Veldcontent | Typearray | VereisteVereist | Waarden en limieten Voorwaarden: Native tekst-/mediaobjecten; de buitenste array mag niet leeg zijn. Geneste nodetypen worden niet gevalideerd door deze generieke Ailoot-constructor. | Standaard— |
Veldgenerate_audio | Typeboolean | VereisteOptioneel | Waarden en limieten Voorwaarden: Het voorbeeld voor 2.5 stelt true in, maar de gekopieerde beschrijving van de selector noemt alleen 2.0/fast/1.5; geen bredere garantie voor instelling/standaardwaarde. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten Voorwaarden: Het letterlijke voorbeeld 15 voor 2.5 is geen maximum of standaardwaarde. | Standaard— |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Er wordt geen specifieke standaardwaarde/enum voor 2.5 afgeleid uit gekopieerde beschrijvingen. | Standaard— |
Veldratio | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Adaptive is expliciet beperkt tot 2.0/fast/1.5; het voorbeeld voor 2.5 gebruikt uitsluitend 16:9. | Standaard— |
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 Voorwaarden: 2.0/fast sluiten offline flex uit; de reikwijdte voor 2.5 is niet vastgesteld. | Standaard— |
Veldsafety_identifier | Typestring | VereisteOptioneel | Waarden en limieten | 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 |
Parametermaterial_types | Contracttext, image, video, audio |
Parameteradditional_properties | Contracttrue |
Parametervalidation_scope | ContractAiloot controleert de typen van de vereiste velden en een niet-lege model/content-array. Andere verzoekvelden 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 geretourneerde openbare id/polling_url.
Vraag de oorspronkelijke taak periodiek op; download de daadwerkelijke content.video_url die u bezit na succeeded.
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn 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 is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij 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.012 per 1K videotokens |
| ConfiguratieDe invoer bevat geen videoreferentie. | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.02 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 schatting is geen extra bedrag 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 · Videomateriaal
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-5-260628","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 · Videomateriaal
Native JSON met openbare id/polling_url. Na publicatie bevat content.video_url ondertekende URL(s) in eigendom van Ailoot; vóór publicatie zijn geselecteerde uitvoer-URLs 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 daadwerkelijke URL in content.video_url; index moet een daadwerkelijk geretourneerd uitvoerbestand identificeren.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar het oorspronkelijke antwoord, de headers en id en vraag die operatie periodiek op; dien een onzekere aanmaak 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/model/typen van vereiste velden of inhoudsindex. | Volgende stap |
Antwoord401 · authentication_error | VoorwaardeOngeldige Ailoot API-sleutel. | Volgende stap |
Antwoord404 · not_found_error | VoorwaardeTaak/uitvoer ontbreekt of is niet in eigendom van dezelfde gebruiker/API-sleutel/groep. | Volgende stap |
Antwoord502 · result_pending_check | VoorwaardeOorspronkelijke indiening/status onvolledig; bewaar de oorspronkelijke ID, niet opnieuw indienen. | Volgende stap |
Antwoord503 · result_pending_check | VoorwaardeDe oorspronkelijke media/route/afrekening worden gecontroleerd; ga door met de oorspronkelijke operatie. | Volgende stap |
Aliasnamen
Modelaliasnamen
Ailoot Ultra doubao-seedance-2-5-260628
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · ByteDance: Seedance 2.5
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Welke velden gebruikt het verzoek?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Welke limieten gelden?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200