<!-- Canonical URL: https://ask.atlascloud.ai/nl/migrate-seedance-2-0-app-to-seedance-2-5 -->

# Hoe migreer je een Seedance 2.0-app naar Seedance 2.5 op AtlasCloud

> Het overzetten van je Seedance 2.0-zijproject naar 2.5 op Atlas Cloud is meestal een wijziging van één regel model-ID, plus een budgetcontrole op $0,134 per seconde.

Als je al iets hebt dat werkt op Seedance 2.0, is het migreren naar Seedance 2.5 op Atlas Cloud voor de meeste soloprojecten een wijziging van één regel: verwissel de `model`-string in je request body voor `bytedance/seedance-2.5/text-to-video`, `bytedance/seedance-2.5/image-to-video` of `bytedance/seedance-2.5/reference-to-video`. Het endpoint, de authenticatieheader en de submit-dan-poll-vorm blijven allemaal hetzelfde. Wat echt je aandacht nodig heeft zijn drie zaken: clips kunnen nu tot 30 seconden duren in plaats van een handvol, audiogeneratie staat standaard aan, en de prijs is $0,134 per seconde gegenereerde video, dus elk kostencijfer dat je voor de oude versie hebt opgeschreven klopt nu niet meer en moet opnieuw worden berekend.

Deze pagina doorloopt die migratie zoals iemand met één creditcard en één zijproject dat daadwerkelijk zou doen, niet zoals een platformteam dat zou doen. Elk cijfer hieronder komt van de Atlas Cloud-modelpagina's en het gepubliceerde Seedance 2.5 JSON-schema zoals die op 24-08-2026 te lezen waren.

## De kleinst mogelijke migratie: wijzig één string

Video op Atlas Cloud is niet het OpenAI-compatibele chat-endpoint. Dit leidt mensen op het verkeerde been, dus het is de moeite waard om het duidelijk te zeggen voordat we verder gaan: je roept video niet aan met `from openai import OpenAI` en `chat.completions`. Die code kan niet draaien tegen een videomodel. Het OpenAI-compatibele oppervlak op Atlas Cloud omvat de tekst- en taalmodelcatalogus, en de gedeelde API-sleutel en gedeelde facturering. Video is zijn eigen REST-flow in twee stappen.

De flow is: dien een taak in, krijg een request-ID terug, en poll vervolgens tot het klaar is en je een bestands-URL geeft. Als je 2.0-app vandaag werkt, heb je deze lus al geschreven. Hier is hij volledig, al gericht op 2.5:

```python
import os, time, requests

BASE = "https://api.atlascloud.ai"
HEADERS = {
    "Authorization": f"Bearer {os.environ['YOUR_API_KEY']}",
    "Content-Type": "application/json",
}

#1. Submit the job
job = requests.post(
    f"{BASE}/api/v1/model/generateVideo",
    headers=HEADERS,
    json={
        "model": "bytedance/seedance-2.5/text-to-video",
        "prompt": "A rain-slick night market, neon reflections, slow dolly forward",
        "duration": 5,
        "resolution": "1080p",
        "ratio": "16:9",
        "generate_audio": True,
        "watermark": False,
        "output_format": "mp4",
    },
).json()

request_id = job["request_id"]

#2. Poll until it is done
while True:
    state = requests.get(
        f"{BASE}/api/v1/model/prediction/{request_id}", headers=HEADERS
    ).json()
    if state.get("status") in ("succeeded", "failed"):
        print(state)
        break
    time.sleep(5)
```

Als je bestaande 2.0-code er structureel zo uitziet, ben je bijna klaar. Wijzig de `model`-waarde, lees het parametergedeelte hieronder opnieuw, en draai één goedkope testclip voordat je iets anders aanraakt.

## Welke van de drie 2.5 model-ID's vervangt wat je gebruikte

Seedance 2.5 is gepubliceerd als drie afzonderlijke model-ID's in plaats van één model met een modusvlag. Match ze met hoe je app zijn request opbouwt:

| Als je 2.0-app verzendt | Gebruik deze Seedance 2.5 model-ID | Prijs |
|---|---|---|
| Alleen een tekstprompt | `bytedance/seedance-2.5/text-to-video` | $0,134 / seconde |
| Een startafbeelding plus een prompt | `bytedance/seedance-2.5/image-to-video` | $0,134 / seconde |
| Referentieafbeeldingen, video's of audio die de clip moet imiteren | `bytedance/seedance-2.5/reference-to-video` | $0,134 / seconde |

Alle drie kosten precies hetzelfde, wat de beslissing vereenvoudigt: kies puur op basis van wat je invoert, nooit op basis van prijs. Er is geen goedkopere 2.5-variant om naar te zoeken. Als iemand je vertelt een bepaald 2.5-endpoint te kiezen om geld te besparen, hebben ze het mis.

Een opmerking over formulering terwijl we hier toch zijn, omdat het ertoe doet als je iets publiceert over je eigen tool: Seedance 2.5 is niet "de goedkoopste Seedance". Atlas Cloud vermeldt nog steeds oudere Pro-tiers, en de goedkoopste van allemaal is `bytedance/seedance-v1.5-pro/text-to-video-fast` op $0,01 per seconde. 2.5 is de nieuwste en meest capabele tier, niet de budgetversie.

## Bereken je kosten per clip opnieuw voordat je omschakelt

Dit is het deel van de migratie dat mensen overslaan en dan betreuren. Seedance 2.5 factureert op $0,134 per seconde gegenereerde video op Atlas Cloud, zonder korting ten tijde van schrijven. Vertaald naar clips die een maker daadwerkelijk maakt:

| Cliplengte | Kosten bij $0,134 per seconde |
|---|---|
| 5 seconden (de standaard) | $0,67 |
| 10 seconden | $1,34 |
| 30 seconden (het maximum) | $4,02 |

Zet dat nu naast je echte gewoontes. Als je workflow is "genereer vijf variaties, houd er één", kost een enkel afgewerkt shot van 5 seconden je ongeveer drie en een halve dollar aan pogingen, niet zevenenzestig cent. Als je drie clips van 10 seconden per week post, komt dat neer op ergens rond zestien dollar per maand aan alleen succesvolle renders, vóór de afgewezen takes. Budget per afgewerkte clip, niet per API-aanroep. Dat is de meest nuttige mentale omschakeling bij het overstappen naar een hogere tier.

Hoe zit het met het exacte bedrag per seconde dat je 2.0-setup in rekening werd gebracht? We gaan het hier niet citeren, omdat het niet in de geverifieerde prijsmomentopname staat waarop dit artikel is gebouwd, en het verzinnen van een vergelijkingsnummer zou erger zijn dan nutteloos wanneer je een budget probeert te plannen. Behandel het oude 2.0-tarief als Niet gepubliceerd voor de doeleinden van deze pagina, en doe in plaats daarvan de eerlijke versie van de vergelijking: open je Atlas Cloud-factureringsgeschiedenis, neem wat je vorige maand daadwerkelijk uitgaf, bekijk je gemiddelde cliplengte, en vermenigvuldig datzelfde volume met $0,134 per seconde. Dat geeft je je echte delta in plaats van een marketing-delta.

Ter referentie: de oudere Seedance Pro-tiers die nog steeds vermeld staan, liggen significant lager, met `bytedance/seedance-v1-pro-t2v-1080p` op $0,11 per seconde, `bytedance/seedance-v1.5-pro/text-to-video` op $0,047 per seconde, en de snelle variant op $0,01 per seconde. Sommige makers houden redelijkerwijs een goedkope tier aangesloten voor ruwe concepten en roepen alleen 2.5 aan voor de uiteindelijke take. Dat is een legitiem patroon en kost je niets behalve een voorwaarde in je code.

## Duur: je clips kunnen nu veel langer zijn, en dat verandert de rekening

Op Seedance 2.5 accepteert `duration` hele seconden van 4 tot 30, met een standaard van 5. Je kunt ook -1 doorgeven om het model een lengte te laten kiezen die bij de prompt past.

De valkuil hier is niet technisch, maar financieel. Als je 2.0-app een hardcoded korte duur had en je nu een schuifregelaar tot 30 seconden beschikbaar stelt, kunnen je kosten per generatie met zes vermenigvuldigen met één sleep van de gebruiker. Bij $0,134 per seconde is een render van 30 seconden $4,02. Als je iets bouwt waar anderen een knop op kunnen drukken, beperk dan de duur in je eigen code tot wat je je kunt veroorloven, en verhoog deze alleen bewust.

De -1-optie is echt nuttig voor een solo-maker die eenmalige clips voor zichzelf maakt, omdat het model de lengte aanpast aan de beschreven actie in plaats van midden in een gebaar te knippen. Het is een slecht idee in elke app met een openbare knop, omdat je de rekening niet van tevoren kunt voorspellen.

## Audio staat nu standaard aan, en dat is de meest risicovolle standaard

`generate_audio` is een boolean en staat standaard op **true**. Seedance 2.5 produceert gesynchroniseerde native audio: dialoog, geluidseffecten en muziek, gegenereerd samen met het beeld in plaats van er naderhand op nagesynchroniseerd.

Voor een maker is dit vaak de beste reden om te migreren. Je clips komen aan met een soundtrack in plaats van stil aan te komen en een bewerkingsronde nodig te hebben.

Voor een bestaande app is dit het meest waarschijnlijke ding dat iets stilletjes kapot maakt. Denk na over wat je 2.0-code doet met de geretourneerde MP4:

- Als je clips aan elkaar plakt en je eigen muziek erover legt, mix je nu twee soundtracks.
- Als je clips toont in een feed die automatisch afspeelt, kunnen gebruikers plotseling stemmen horen waar ze dat nooit deden.
- Als je de output opnieuw codeert en je pipeline audiostreams laat vallen, betaal je voor audio die je weggooit.

De veilige migratievolgorde is: stel `generate_audio: false` expliciet in bij je eerste 2.5-request zodat de omschakeling gedragsneutraal is, bevestig dat alles nog steeds werkt, en schakel audio vervolgens in als een aparte, bewuste wijziging met zijn eigen testrondes. Twee kleine wijzigingen waar je over kunt nadenken verslaan één grote wijziging waar je dat niet over kunt.

## Resolutie en beeldverhouding, en de ene valkuil bij image-to-video

De resolutie-enum op Seedance 2.5 biedt native `480p`, `720p` (de standaard) en `1080p`, plus een set opgeschaalde opties. De upscales zijn gemarkeerd `-sr`, wat FlashVSR super-resolutie betekent, en `-esr`, wat Atlas Video Enhance ESR betekent. Dit zijn verbeteringsdoorgangen die boven op een render worden toegepast, geen native hoge-resolutiegeneratie, dus als je je publiek een `4k-esr`-deliverable belooft, wees dan nauwkeurig over wat het is. `1080p-esr & 60fps` valt in dezelfde opgeschaalde familie.

In de praktijk moeten de meeste solo-makers op native `1080p` blijven voor alles wat naar YouTube of een klant gaat, en native `720p` voor concepten en social-first content. Beide zien er prima uit op een telefoon. `480p` bestaat en is een redelijke keuze voor snelle compositietests waarbij je alleen wilt weten of de camerabeweging werkt.

De beeldverhoudingparameter accepteert `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `21:9` en `adaptive`, met `adaptive` als standaard. Hier is de valkuil die migraties vangt:

**Image-to-video accepteert alleen `adaptive`.** De output neemt de beeldverhouding van de bronafbeelding die je aanlevert. Als je 2.0-app een verticale-video-toggle heeft die `9:16` verzendt naast een invoerbeeld, is die requestvorm niet van toepassing op Seedance 2.5 image-to-video. De oplossing zit niet in de API-aanroep, maar upstream: snij of vul je bronafbeelding bij tot de vorm die je voor de video wilt, en laat `adaptive` het volgen. Text-to-video en reference-to-video worden niet beïnvloed en kunnen nog steeds een expliciete ratio nemen.

## Referentie-invoer: de echte getallen zijn 30 afbeeldingen, 10 video's, 10 audio's

Als je op `reference-to-video` zit, is dit waar 2.5 interessant wordt. Een referentie-invoer is een bestand dat je het model geeft als voorbeeld van wat je wilt, het gezicht van een personage, een kamer, een camerastijl, een stem, in plaats van het in woorden te beschrijven en te hopen.

De gepubliceerde limieten zijn:

| Referentietype | Maximum | Opmerkingen |
|---|---|---|
| Referentieafbeeldingen | 30 | URL's, Base64, of `asset://<ASSET_ID>` |
| Referentievideo's | 10 | geciteerd in inzendvolgorde |
| Referentieaudio's | 10 | wav of mp3, 2 tot 30 seconden elk, 15MB maximum per bestand |

Je adresseert ze vanuit de prompt in inzendvolgorde met behulp van @-syntax: `@Image1`, `@Video1`, `@Audio1`. Dus een prompt als "de vrouw in @Image1 loopt door de gang van @Image2, sprekend in de stem van @Audio1" is een normale zin om te schrijven.

Oudere beschrijvingen circuleren met een veel hoger beeldplafond. Negeer ze: het live schema zegt 30. Als je 2.0-code een validatiecontrole heeft die op een ander getal is hardcoded, update die dan nu in plaats van erachter te komen via een mislukte taak.

Twee kleinere vlaggen die de moeite waard zijn om te kennen terwijl je in de parameterlijst bent: `watermark` staat standaard op false, en `return_last_frame` staat standaard op false. Die laatste is echt handig voor een maker die shots aan elkaar koppelt, omdat het laatste frame van clip één de invoerbeeld voor clip twee kan worden, waardoor je continuïteit krijgt over een reeks zonder de scène opnieuw te beschrijven.

## Een migratievolgorde die geen geld verspilt

Doe het in deze volgorde en je totale uitgaven aan migreren zullen een paar dollar zijn:

1. **Lees de modelpagina.** Bevestig de huidige prijs zelf op de [Seedance 2.5-modelpagina](https://www.atlascloud.ai/models/seedance-2.5?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=migrate-seedance-2-0-app-to-seedance-2-5) voordat je een budget plant. Prijzen veranderen; artikelen worden verouderd.
2. **Wijzig alleen de modelstring.** Houd duur, resolutie en ratio precies zoals je 2.0-app ze had, en voeg `generate_audio: false` toe zodat niets aan de outputvorm verandert.
3. **Draai één clip van 5 seconden.** Dat is $0,67. Controleer of het bestand afspeelt, controleer of je download- en opslagpad nog steeds werkt, controleer of je polling-lus de voltooide status nog steeds herkent.
4. **Schakel audio in.** Draai dezelfde prompt opnieuw met `generate_audio: true`. Luister ernaar. Besluit of het je output verbetert of met je bestaande bewerking vecht.
5. **Verleng de duur als laatste.** Probeer 10 seconden ($1,34) voordat je ooit 30 seconden ($4,02) probeert. Langere prompts hebben meer sturing nodig, en een slechte clip van 30 seconden kost zes keer zoveel als een slechte clip van 5 seconden.
6. **Herbereken je maandelijks budget** op basis van echte cijfers, niet van het beste geval.

Totale kosten van een zorgvuldige migratie die deze stappen volgt: een paar dollar, ongeveer de prijs van een koffie, en je weet precies waar je naar omschakelt.

En je zit er niet aan vast. Atlas Cloud draait één account en één API-sleutel over zijn catalogus, dus het aangesloten houden van een oudere Seedance-tier voor concepten naast 2.5 voor finals kost je geen extra setup. Je kunt de oudere tiers bekijken op de [Seedance-familiepagina](https://www.atlascloud.ai/models/seedance?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=migrate-seedance-2-0-app-to-seedance-2-5), alles beschikbare zien op de [volledige modellijst](https://www.atlascloud.ai/models/all?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=migrate-seedance-2-0-app-to-seedance-2-5), en huidige tarieven controleren op de [prijzenpagina](https://www.atlascloud.ai/pricing/models?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=migrate-seedance-2-0-app-to-seedance-2-5).

Over de vraag die iedereen daarna stelt, namelijk of 2.5 sneller of langzamer is dan wat je hebt: Niet gepubliceerd. Atlas Cloud publiceert geen generatielatentie of wachttijden voor videomodellen, en we hebben geen benchmark voor dit artikel gedraaid, dus we gaan niet gokken. Als het je uitmaakt, meet het dan zelf: draai dezelfde vijf prompts op beide, timestamp je submit-aanroep en je eerste succesvolle poll, en vergelijk medianen. Dat kost een avond en ongeveer tien dollar en geeft je een antwoord over jouw prompts in plaats van die van iemand anders.

Evenzo, over licenties en wat je commercieel met de output mag doen: dit artikel heeft geen enkele vendor's commerciële voorwaarden geverifieerd. Lees de voorwaarden van ByteDance en Atlas Cloud zelf voordat je een gegenereerde clip voor een betalende klant zet.

## FAQ

V: Is Seedance 2.5 een drop-in vervanging voor 2.0 in mijn code?
A: Het transport is identiek, dus structureel ja: dezelfde POST naar /api/v1/model/generateVideo, dezelfde poll op /api/v1/model/prediction/{request_id}, dezelfde auth-header. De drie dingen die je kunnen verrassen zijn de audiostandaard die naar true draait, het duurplafond dat naar 30 seconden stijgt, en de prijs van $0,134 per seconde.

V: Ik stuur vandaag een invoerbeeld en een 9:16-ratio. Zal dat nog steeds werken?
A: De image-to-video-variant accepteert alleen `adaptive` voor ratio, omdat de output je bronbeeld volgt. Snijd je invoerbeeld bij tot 9:16 voordat je het uploadt en je krijgt de verticale output die je wilde.

V: Hoe stop ik 2.5 met het toevoegen van geluid?
A: Stuur `"generate_audio": false` in de request body. Het staat standaard op true, dus je moet het expliciet zeggen.

V: Wat is het maximale dat één enkele generatie me kan kosten?
A: De langste clip is 30 seconden, wat bij $0,134 per seconde $4,02 is. Beperk de duurwaarde in je eigen code als iemand anders dan jij een render kan activeren.

V: Moet ik alles naar 2.5 verplaatsen of de oude tier erbij houden?
A: Veel solo-makers houden beide. Maak concepten op een goedkopere tier zoals `bytedance/seedance-v1.5-pro/text-to-video` op $0,047 per seconde, en render vervolgens de keeper op 2.5. Eén API-sleutel dekt beide, dus het is een voorwaarde in je code, geen tweede account.

V: Zijn er tarieflimieten waar ik omheen moet ontwerpen?
A: Niet gepubliceerd. Geen enkele video-API-host die we hebben gecontroleerd publiceert request-per-minuut- of gelijktijdigheidsplafonds, Atlas Cloud inbegrepen. Schrijf je polling-lus met backoff en retry bij falen, wat goede praktijk is ongeacht wat het plafond blijkt te zijn.

## De conclusie

Voor een solo-maker met een werkend Seedance 2.0-project is deze migratie één string en één middag. Wijs `model` naar de 2.5-variant die bij je invoer past, stel expliciet `generate_audio: false` in zodat je eerste test niets anders verandert, besteed $0,67 aan een clip van 5 seconden om te bewijzen dat de pipeline nog steeds draait, en begin pas daarna te genieten van de nieuwe mogelijkheden: native audio, clips tot 30 seconden, en tot 30 referentieafbeeldingen met 10 video's en 10 audioclips om de look te sturen.

Het deel dat echt nadenken verdient is niet de code, maar de rekenkunde. Bij $0,134 per seconde is $4,02 voor een render van 30 seconden gemakkelijk te activeren en gemakkelijk te herhalen wanneer je aan het itereren bent. Stel een duurbegrenzing in, tel je afgewezen takes mee als onderdeel van de kosten van een afgewerkte clip, en controleer de modelpagina voor het huidige tarief voordat je je vastlegt op een maandelijks getal. Doe dat en 2.5 is een eenvoudige upgrade in plaats van een verrassing op je kaart.
