ByteDance: Seedance 1.0 Pro
Seedance 1.0 Pro genereert video zonder geluid vanuit tekst of een openingsafbeelding. Beschrijf de handeling en camera of animeer een bestaande compositie, met een duur van 2–12 seconden, 24 fps en expliciete instellingen voor uitvoerkadrering en resolutie.
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 1.0 Pro genereert een video vanuit tekst of een door een afbeelding gestuurde scène. De selector doubao-seedance-1-0-pro-250528 ondersteunt beide invoermodi, zodat een geschreven concept of een bestaande visuele compositie als beginpunt kan dienen. Gebruik een tekstbeschrijving om een nieuwe scène te maken of lever een afbeelding aan wanneer onderwerp, opstelling en openingsbeeld visueel moeten worden vastgelegd. Dit 1.0-profiel produceert video zonder geluid; gesynchroniseerd geluid behoort tot het afzonderlijk beschreven 1.5 Pro-profiel.
Specificeer voor tekst-naar-video het onderwerp, de omgeving, de beweging, de kadrering en de camera in één samenhangende scène. Het gedocumenteerde voorbeeld beweegt geleidelijk van een veld met madeliefjes naar een close-up van een bloem met dauw op de bloemblaadjes. Die structuur is ook bruikbaar om andere onderwerpen te onthullen: toon de omgeving, beweeg naar het onderwerp en eindig op het relevante detail. Beschrijf bij een productconcept naast de handeling ook het materiaal en de belichting en geef de camera een haalbare route door de korte opname.
Plaats voor afbeelding-naar-video de referentie in een content-item van het type image_url en leg uit wat vanaf dat beginbeeld moet veranderen. Een voorbereid portret kan de persoon en uitsnede bepalen, terwijl de beschrijving een kleine draai, bewegend haar of een rustige achterwaartse camerabeweging aangeeft. Een productfoto kan het object en de achtergrond vastleggen, terwijl de prompt om een gecontroleerde onthulling vraagt. Houd de gevraagde beweging passend bij de broncompositie; een afbeelding van één zijde van een object biedt geen nauwkeurig beeld van alle andere, niet-getoonde zijden.
Het afbeeldingsveld accepteert een toegankelijke URL of een data-URL met Base64-afbeeldingsgegevens. De gedocumenteerde formaten zijn JPEG, PNG, WEBP, BMP, TIFF en GIF. Afbeeldingen moeten kleiner zijn dan 30 MB, met een breedte-hoogteverhouding strikt tussen 0,4 en 2,5 en elke afmeting strikt tussen 300 en 6000 pixels. Bereid een duidelijke bron met de beoogde uitsnede voor, in plaats van te vertrouwen op een miniatuur waarvan bepalende details al ontbreken. Voor afbeelding-naar-video-generatie beveelt de handleiding adaptieve kadrering aan om de referentieverhoudingen te volgen.
De gedocumenteerde 1.0-duur is twee tot twaalf seconden en de beeldsnelheid is 24 fps. De uitvoerinstellingen omvatten niveaus van 480p, 720p en 1080p, met 1080p als Pro-standaard; de handleiding sluit 1080p uit in het scenario met een referentieafbeelding. De vaste beeldverhoudingen omvatten 16:9, 4:3, 1:1, 3:4, 9:16 en 21:9. Kies voor een beeldgestuurde opname een combinatie die afbeeldingen ondersteunt, in plaats van elke tekst-naar-video-instelling ongewijzigd over te nemen. Controleer de werkelijk teruggegeven kadrering voordat u de clip in een lay-out plaatst.
Instellingen voor seed en watermark zijn naast camerafixed gedocumenteerd. De instructie voor een vaste camera wordt in het scenario met een referentieafbeelding niet ondersteund; waar zij wel van toepassing is, garandeert de handleiding geen volkomen stilstaande camera. Parameterinstructies in de prompt krijgen voorrang op afzonderlijke optionele velden. Houd één leidende instelling voor duur, resolutie en beeldverhouding aan en laat de camerabeschrijving daarmee overeenstemmen. Zo wordt voorkomen dat een scènebeschrijving ongemerkt de voor de aanvraag gekozen instellingen overschrijft.
Het verbruik wordt gemeten in videotokens: uitvoerbreedte × uitvoerhoogte × beeldsnelheid × uitvoerduur / 1024. De voltooide taak rapporteert deze hoeveelheid als usage.completion_tokens. Bewaar het gerapporteerde verbruik bij de voltooide clip en de gevraagde instellingen.
De werkwijze geeft eerst een taakidentificator terug en na verwerking de locatie van een voltooide video. Bewaar de identificator bij het controleren van de wachtrij- of uitvoeringsstatus; een geslaagde taak levert content.video_url en verbruiksinformatie. De gedocumenteerde bewaartermijn van gegenereerde bestanden is zeven dagen. Bewaar de voltooide clip, bronafbeelding en exacte prompt als herzieningsdossier en controleer vervolgens het uiterlijk van het onderwerp, de beweging, beeldcontinuïteit en de eindcompositie in het volledige resultaat.
Ailoot Ultra · Videogeneratie POST /v1/videos doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528Aan de slag
Seedance 1.0 Pro genereert video zonder geluid vanuit tekst of een openingsafbeelding. Beschrijf de handeling en camera of animeer een bestaande compositie, met een duur van 2–12 seconden, 24 fps en expliciete instellingen voor uitvoerkadrering en resolutie.
- Toegestane invoer
- Tekst · Afbeeldingen
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Videogeneratie POST /v1/videos
- Invoer
text,image- Uitvoer
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten doubao-seedance-1-0-pro-250528 | 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— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 2 Maximum: 12 Voorwaarden: Het primaire schema voor 1.x vermeldt 2–12; een latere gedeelde beschrijving vermeldt voor 1.5 een bereik van 4–12 of -1. Het voorbeeld gebruikt de in beide beschrijvingen gedocumenteerde waarde 5. | Standaard5 |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: De bevestigde waarden voor tekst-naar-video zijn 480p en 1080p. Bij invoer van een referentieafbeelding is 1080p uitgesloten. De gedeelde enumwaarde 720p is in tegenspraak met de modelspecifieke tekst; de ondersteuning voor 720p blijft daarom in beide modi onduidelijk. | Standaard1080p |
Veldratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Voorwaarden: Standaardwaarden hangen af van de scène en het model; de documentatie voor afbeeldingsinvoer beveelt adaptive aan. | Standaard— |
Veldservice_tier | Typestring | VereisteOptioneel | Waarden en limieten default, flex Voorwaarden: default=online, flex=offline; kies vóór de aanmaak. | Standaarddefault |
Veldseed | Typeinteger | VereisteVereist | Waarden en limieten Minimum: -1 Maximum: 4.294.967.295 | Standaard-1 |
Veldcamerafixed | Typeboolean | VereisteVereist | Waarden en limieten Voorwaarden: Verplicht voor Ailoot; camerabesturing met een referentieafbeelding is volgens de documentatie niet ondersteund en het effect is niet gegarandeerd. | Standaardfalse |
Veldwatermark | Typeboolean | VereisteVereist | Waarden en limieten | Standaardfalse |
Veldexecution_expires_after | Typeinteger | VereisteVereist | Waarden en limieten Minimum: 3.600 Maximum: 259.200 Eenheid: seconden | Standaard172.800 |
Combinaties van invoermaterialen
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractcamerafixed, content, execution_expires_after, model, seed, watermark |
Parameteroptional | Contractduration, resolution, ratio, service_tier |
Parametermaterial_types | Contracttext, image |
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. |
Parameterimage_constraints | Contract{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null} |
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 |
| ConfiguratieUltra | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0044 per 1K videotokens |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Rekeneenheid— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.2112 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-1-0-pro-250528","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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-1-0-pro-250528
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · ByteDance: Seedance 1.0 Pro
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·doubao-seedance-1-0-pro-250528:text,image→video- Welke velden gebruikt het verzoek?
POST /v1/videos·doubao-seedance-1-0-pro-250528:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Welke limieten gelden?
POST /v1/videos·doubao-seedance-1-0-pro-250528:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200