ByteDance: Seedance 1.5 Pro
Seedance 1.5 Pro genereert video vanuit tekst of een afbeelding en kan gesynchroniseerde stemmen, effecten en achtergrondmuziek creëren. Audio kan worden in- of uitgeschakeld; het gedocumenteerde profiel biedt scènes van 4–12 seconden, adaptieve kadrering en online- of flexverwerking.
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.5 Pro genereert video vanuit tekst of een afbeelding en kan geluid samen met het beeld genereren. De specifieke selector is doubao-seedance-1-5-pro-251215. De audio-instelling onderscheidt dit profiel van de Seedance 1.0-profielen zonder geluid: generate_audio=true vraagt om gesynchroniseerde audio, terwijl false om een video zonder geluid vraagt. Gebruik een geschreven scène voor een nieuw concept of een afbeelding om het onderwerp en de compositie van het openingsbeeld vast te leggen.
Beschrijf de visuele handeling en het geluid als onderdelen van dezelfde scène. Benoem het onderwerp, de omgeving, beweging en camera en leg vervolgens de beoogde stemmen, geluidseffecten of achtergrondmuziek uit. Een portretscène kan iemand tonen die de ogen opent terwijl de camera langzaam achteruit beweegt, met wind in de omgeving. Verbind bij een productscène het geluid met de zichtbare gebeurtenis, zoals een deksel dat opengaat of een object dat een oppervlak raakt, in plaats van een ongerelateerde lijst effecten toe te voegen.
Het model kan vanuit de prompt en visuele inhoud stemmen, effecten en achtergrondmuziek genereren. De handleiding beveelt aan gesproken dialoog tussen dubbele aanhalingstekens te plaatsen. Houd de spraak kort genoeg voor de gevraagde handeling en pauzes en onderscheid wie spreekt wanneer er meerdere personages zijn. Controleer de werkelijke formulering, de toewijzing van stemmen en de synchronisatie met het beeld. Een geluidsinstructie stuurt de gegenereerde uitvoering; zij is geen afzonderlijk geüploade stemreferentie in de gedocumenteerde aanvraag van dit profiel.
Afbeelding-naar-video gebruikt een image_url-item naast de tekst. Lever een toegankelijke afbeeldings-URL of een Base64-data-URL aan in JPEG-, PNG-, WEBP-, BMP-, TIFF- of GIF-formaat. De gedocumenteerde afbeeldingsgrenzen zijn minder dan 30 MB, beide afmetingen strikt tussen 300 en 6000 pixels en een breedte-hoogteverhouding strikt tussen 0,4 en 2,5. Bereid de beoogde uitsnede en het onderwerp duidelijk voor en beschrijf vervolgens de beweging vanuit die compositie. Het afbeeldingsvoorbeeld gebruikt de verhouding adaptive om de referentie te volgen.
De profielspecifieke duurhandleiding vermeldt gehele seconden van vier tot twaalf of -1 om het model binnen dat bereik een duur te laten kiezen. De standaardduur is vijf seconden. Seedance 1.5 Pro gebruikt standaard 720p en de behouden profieltabel documenteert 480p en 720p; de specifieke bedieningshandleiding biedt geen 1080p voor 1.5 Pro. De vaste beeldverhoudingen omvatten 16:9, 4:3, 1:1, 3:4, 9:16 en 21:9, met adaptive als gedocumenteerde 1.5-standaard. Controleer de werkelijke duur en verhoudingen van de clip, in plaats van de gevraagde waarden als een al teruggegeven resultaat te behandelen.
De aanvraag biedt twee verwerkingsniveaus. service_tier=default kiest onlineverwerking, terwijl flex offlineverwerking kiest voor werk dat meer vertraging kan verdragen. Het niveau kan na het indienen van de taak niet worden gewijzigd. Kies het op basis van de tijdsvereisten van de werkwijze en bewaar die keuze in het aanvraagdossier. Audiomodus en verwerkingsniveau zijn afzonderlijke keuzes: een clip zonder geluid is niet automatisch een offlineopdracht en het inschakelen van audio kiest geen verwerkingsniveau.
Houd de instructies voor seed, watermark en camera consistent met de scène. Parameteropdrachten in de tekst krijgen voorrang op afzonderlijke optionele parameters. De instelling voor een vaste camera is uitgesloten in het scenario met een referentieafbeelding en garandeert waar zij van toepassing is geen visuele vergrendeling. Leg bij een beeldgestuurde animatie de beoogde beweging rechtstreeks uit, in plaats van aan te nemen dat een camerainstelling de beschrijving van de opname overbodig maakt.
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. In- of uitgeschakelde audio en online- of flexverwerking blijven afzonderlijke categorieën in de op verbruik gebaseerde kostenberekening.
Indienen geeft een asynchrone taakidentificator terug. Volg de taak tot voltooiing en bewaar vervolgens de video die in content.video_url wordt geleverd. De gedocumenteerde bewaartermijn van gegenereerde bestanden is zeven dagen. De vervalinstelling wordt vanaf het aanmaken gemeten, is standaard 172800 seconden en accepteert waarden van 3600 tot 259200 seconden; een onvoltooide taak vervalt na het ingestelde interval. Bewaar de eindclip, oorspronkelijke afbeelding en exacte visuele en audiobeschrijving bij elkaar en controleer vervolgens het volledige resultaat op handeling, identiteit, cameracontinuïteit en geluidsafstemming.
Ailoot Ultra · Videogeneratie POST /v1/videos doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215Aan de slag
Seedance 1.5 Pro genereert video vanuit tekst of een afbeelding en kan gesynchroniseerde stemmen, effecten en achtergrondmuziek creëren. Audio kan worden in- of uitgeschakeld; het gedocumenteerde profiel biedt scènes van 4–12 seconden, adaptieve kadrering en online- of flexverwerking.
- 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-5-pro-251215 | 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 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 480p, 720p Voorwaarden: Seedance 1.5 Pro ondersteunt 480p en 720p; 1080p is uitgesloten. De gedocumenteerde standaardresolutie is 720p. | Standaard720p |
Veldratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Voorwaarden: De gedocumenteerde standaardbeeldverhouding voor Seedance 1.5 Pro is adaptive. De vaste keuzes voor de beeldverhouding blijven ongewijzigd. | Standaardadaptive |
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 |
Veldgenerate_audio | Typeboolean | VereisteOptioneel | Waarden en limieten Voorwaarden: Uitsluitend voor 1.5: gesynchroniseerd geluid dat in de gegenereerde video is opgenomen. | Standaardtrue |
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, generate_audio |
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 | Audio genereren | Serviceniveau | Rekeneenheid | Kosten |
|---|---|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Audio genereren— | Serviceniveau— | 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 |
| ConfiguratieNiveau voor offlineverwerking (flex). Uitvoer met gesynchroniseerde audio. | Tariefstaffel— | Verwachte hoeveelheid— | Audio genererenMet audio | Serviceniveauflex | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0024 per 1K videotokens |
| ConfiguratieNiveau voor offlineverwerking (flex). Uitvoer zonder gesynchroniseerde audio. | Tariefstaffel— | Verwachte hoeveelheid— | Audio genererenZonder audio | Serviceniveauflex | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0012 per 1K videotokens |
| ConfiguratieNiveau voor onlineverwerking (default). Uitvoer met gesynchroniseerde audio. | Tariefstaffel— | Verwachte hoeveelheid— | Audio genererenMet audio | Serviceniveaudefault | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0048 per 1K videotokens |
| ConfiguratieNiveau voor onlineverwerking (default). Uitvoer zonder gesynchroniseerde audio. | Tariefstaffel— | Verwachte hoeveelheid— | Audio genererenZonder audio | Serviceniveaudefault | Rekeneenheidper 1K videotokens | Kosten Uitvoer · Schatting uitsluitend ter vergelijking $0.0024 per 1K videotokens |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Audio genereren— | Serviceniveau— | Rekeneenheid— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.1152 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-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
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-5-pro-251215
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · ByteDance: Seedance 1.5 Pro
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·doubao-seedance-1-5-pro-251215:text,image→video- Welke velden gebruikt het verzoek?
POST /v1/videos·doubao-seedance-1-5-pro-251215:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after,generate_audio- Welke limieten gelden?
POST /v1/videos·doubao-seedance-1-5-pro-251215:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200