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 · Videomateriaal 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 · Videomateriaal POST /v1/videos
- Invoertypen
text,image- Uitvoertypen
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: Native tekst-/mediaobjecten; de buitenste array mag niet leeg zijn. Geneste nodetypen worden niet gevalideerd door deze generieke Ailoot-constructor. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 2 Maximum: 12 Voorwaarden: Primair 1.x-schema 2–12; een latere gedeelde beschrijving noemt 1.5 als 4–12 of -1. Het voorbeeld gebruikt de gezamenlijk gedocumenteerde 5. | Standaard5 |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Bevestigde waarden voor tekst-naar-video zijn 480p en 1080p. Invoer met een referentieafbeelding sluit 1080p uit. De gedeelde 720p-enum is in strijd met de modelspecifieke tekst, waardoor ondersteuning voor 720p in beide modi onopgelost blijft. | Standaard1080p |
Veldratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Voorwaarden: Standaardwaarden zijn afhankelijk van scène en 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 aanmaak. | Standaarddefault |
Veldseed | Typeinteger | VereisteVereist | Waarden en limieten Minimum: -1 Maximum: 4.294.967.295 | Standaard-1 |
Veldcamerafixed | Typeboolean | VereisteVereist | Waarden en limieten Voorwaarden: Vereist door 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 typen van de vereiste velden en een niet-lege model/content-array. Andere verzoekvelden 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 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 |
| 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 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-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 · 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-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