Sora 2 is het eerste algemeen beschikbare tekst-naar-video-model van OpenAI, programmatisch toegankelijk via zowel de officiële OpenAI API als een groeiende set aggregator-routes. Het prijsmodel is ongebruikelijk vergeleken met tekstmodellen (afrekening per seconde gegenereerde video in plaats van per token), en de praktische vragen die ontwikkelaars stellen vóór integratie verschillen van die voor een LLM-API. Wat kost een clip nu echt? Hoe lang duurt generatie? Wat zijn de rate limits? Wat verandert er als je Sora via een aggregator benadert in plaats van rechtstreeks via OpenAI?
Dit artikel is de referentie die we graag hadden gehad toen we onze eigen videogeneratiefuncties definieerden. Het stuk is gestructureerd voor de ontwikkelaar die voorbij “is Sora interessant?” is en nu moet beantwoorden: “wat kost het, wat kost het om te integreren, en wat moet ik weten voordat ik me committeer?”
Snel lezen: Sora 2 (het standaardmodel) kost $0.10 per seconde gegenereerde video op 720p. Sora 2 Pro kost $0.30 per seconde op 720p of $0.50 per seconde op 1024p. Een typische clip van 10 seconden kost $1.00 op het standaardmodel en $5.00 op Pro in HD. Generatie is asynchroon; reken op 30–90 seconden kloktijd voor een clip van 5–10 seconden. Toegang vereist een betaalde OpenAI-account met minimaal usage tier 2.
De stand van zaken rond Sora API-toegang in 2026
Sora 2 werd op 7 oktober 2025 gelanceerd in de OpenAI API en toegang is sindsdien continu beschikbaar. De modelidentifier is sora-2 (met een huidige snapshot-ID van sora-2-2025-12-08), en de variant met hogere fidelity is sora-2-pro. Beide ondersteunen tekst-naar-video en afbeelding-naar-video generatie, met gesynchroniseerde audio-output. Per 10 januari 2026 is gratis toegang voor consumenten via het ChatGPT-product stopgezet, waardoor ontwikkelaarsgebruik van Sora is geconcentreerd op betaalde ChatGPT-abonnementen of directe API-toegang.
Er zijn drie manieren om Sora programmatisch te gebruiken:
- OpenAI directe API. De canonieke route. Afrekening per seconde, alleen betaald, vereist een minimale top-up van $10 om usage tier 2 te bereiken, die toegang tot Sora-modellen ontgrendelt. Zowel SDK als REST API worden ondersteund.
- Azure OpenAI. Microsofts enterprise-route, die de officiële tarieven van OpenAI spiegelt met toevoeging van Azure-abonnementsoverhead en enterprise-compliancefuncties. Dezelfde per-seconde prijzen; ander operationeel oppervlak.
- Aggregators. Diensten die Sora achter hun eigen uniforme API aanbieden. De meeste aggregators rekenen OpenAI’s per-seconde prijsstelling één-op-één door; de waarde is operationeel (één credential, één factuur, dezelfde SDK als je tekstmodelverkeer). Sommige aggregators bieden eigen tariefstructuren, die we later in het artikel bespreken.
Sora 2-prijzen per seconde video
Sora-prijzen zijn gestructureerd per modelniveau en outputresolutie, met een per-seconde tarief dat wordt vermenigvuldigd met de clipduur voor de genereringskosten. Geverifieerd op OpenAI’s officiële prijspagina per mei 2026:
| Model | Resolutie | Ondersteunde duraties | Prijs per seconde | Clip van 10 seconden |
|---|---|---|---|---|
| Sora 2 (standaard) | 720p | 4s, 8s, 12s | $0.10 | $1.00 |
| Sora 2 Pro | 720p | 10s, 15s, 25s | $0.30 | $3.00 |
| Sora 2 Pro | 1024p (1792×1024) | 10s, 15s, 25s | $0.50 | $5.00 |
Opmerkingen bij de prijsstructuur. Afrekening gebeurt op basis van output, niet input; er is geen tokengebaseerde inputbilling voor Sora zoals bij tekstmodellen. Afbeeldingsconditionering (een referentieafbeelding meesturen om de generatie te verankeren) verandert het per-seconde-tarief niet. De duurkeuzes per modelniveau zijn vast: je kunt geen clip van 7 seconden aanvragen op het standaardmodel, alleen 4, 8 of 12 seconden.
Twee praktische implicaties om expliciet te maken. Ten eerste: het prijsmodel lijkt meer op een videorendering-factuur dan op die van een LLM. Kosten worden gedreven door outputduur, niet door de complexiteit van je prompt of het aantal tokens. Ten tweede: het kostenverschil tussen Sora 2 en Sora 2 Pro op HD is 5x per seconde: een clip van 10 seconden kost $1.00 op standaard en $5.00 op Pro op 1024p. De juiste tier kiezen voor de taak is je grootste kostenhefboom; het is de moeite waard om bewust te zijn over welke workloads echt Pro’s hogere fidelity nodig hebben.
Rate limits en quota’s
Sora-rate-limits zijn georganiseerd rond OpenAI’s standaard usage-tiersysteem. De relevante details specifiek voor Sora:
- Minimum tier-vereiste: Tier 2, bereikt door minimaal $10 aan API-tegoed op te waarderen. Tier 1 (standaard voor nieuwe accounts) omvat geen Sora-modeltoegang.
- Limieten voor gelijktijdige generaties: Volgens OpenAI’s documentatie over rate limits is gelijktijdige videogeneratie beperkt per tier; typisch een klein aantal lopende generaties op lagere tiers, opschalend met usage tier. Het exacte plafond wordt per account ingesteld en is zichtbaar in het OpenAI-dashboard. Plan voor workloads met hoog volume vanaf dag één op tier 3 of tier 4.
- Quota-aanvragen: Hogere gelijktijdigheidslimieten boven de standaard tier-plafonds kunnen worden aangevraagd via het formulier voor verhoging van rate limits van OpenAI. Goedkeuring is workloads-specifiek en niet direct; vraag de verhoging enkele weken vóór lancering aan voor productie-uitrol met voorspelbare pieken in de vraag.
Het is goed om te weten: rate limits op Sora worden anders gepoold dan de rate limits voor tekstmodellen op hetzelfde account. Een team met zwaar Sora-verkeer beïnvloedt niet het beschikbare rate-budget voor GPT-5.5-calls. Omgekeerd snoept veel GPT-5.5-verkeer niet van het Sora-budget. Plan beide als aparte capaciteitsvragen.
Generatietijd: wat je daadwerkelijk kunt verwachten
Sora is asynchroon ontworpen. Je dient een generatieaanvraag in, krijgt een job-ID terug en pollt (of laat je terugbellen via een webhook) op voltooiing. De kloktijd tussen aanvraag en voltooiing hangt af van de duur en resolutie van de output, de huidige belasting op de OpenAI-infrastructuur en of de job in de wachtrij staat achter andere jobs op jouw account.
Realistische verwachtingen op basis van geobserveerd gedrag:
| Output | Typische kloktijd | Notities |
|---|---|---|
| Sora 2 standaard, 4s @ 720p | 20–45 seconden | Snelste pad; goed voor iteratie |
| Sora 2 standaard, 8s @ 720p | 40–90 seconden | Meest voorkomende productieduur |
| Sora 2 standaard, 12s @ 720p | 60–120 seconden | Long-form social content |
| Sora 2 Pro, 10s @ 720p | 60–150 seconden | Premium kwaliteit; ~3x kosten van standaard |
| Sora 2 Pro, 15s @ 1024p | 120–240 seconden | Full HD, langere wachtrijen op piekmomenten |
| Sora 2 Pro, 25s @ 1024p | 200–360 seconden | Maximale duur; prijs schaalt lineair |
Twee operationele consequenties:
- Latentiebudgetten richting eindgebruikers moeten herzien worden. Als je product verwacht dat videogeneratie responsief aanvoelt op een gebruikersactie, betekent de range van 30–90 seconden voor korte clips dat je een UX nodig hebt die de wachttijd opvangt: voortgangsindicatoren, parallel werk dat de gebruiker kan doen terwijl de video genereert, of pre-generatie voor voorspelbare scenario’s. Sora behandelen als een synchrone API-call is de meest voorkomende architectuurfout die teams maken.
- Polling versus webhooks is van belang. Naïef pollend (een strakke lus die de status-endpoint raakt) verspilt zowel je rate-limitbudget als compute van het model. Gebruik exponentiële backoff met jitter, of stel webhook-callbacks in als je omgeving die ondersteunt. Het pollingpatroon dat in productie goed werkt: poll elke 10 seconden gedurende de eerste minuut, daarna elke 30 seconden, met een harde timeout op de verwachtte bovengrens van het model voor de aangevraagde duur.
Ondersteunde parameters en promptstructuur
De API-oppervlakte van Sora is bewust simpel vergeleken met beeldgeneratiemodellen zoals DALL-E 3. Er zijn minder knoppen om aan te draaien, maar de knoppen die er zijn doen ertoe. De belangrijkste parameters:
- model: sora-2 of sora-2-pro. De keuze bepaalt zowel de prijsstelling als de beschikbare duur-/resolutieopties zoals in de prijstabel hierboven.
- prompt: Vrije tekst die de scène beschrijft. Sora handelt cinematische regie (camera-hoeken, beweging, belichting), acties van personages en omgevingsdetails af. Het model is gevoelig voor promptstructuur: beginnen met de scène-opbouw, dan de actie, dan de technische richting, levert betrouwbaardere resultaten op dan één dicht opeengepakte alinea.
- image: Optionele referentieafbeelding voor afbeelding-naar-video. De referentie fungeert als anker voor het eerste frame; het model genereert beweging vanuit dat startpunt. Nuttig voor productdemo’s, personagecontinuïteit en elke situatie waarin het statische uiterlijk van het onderwerp niet-onderhandelbaar is.
- duration: Duur in seconden. Beperkt tot de discrete opties voor het gekozen model (4/8/12 voor sora-2, 10/15/25 voor sora-2-pro). Kosten schalen lineair met duur.
- size: Resolutie. 720x1280 (portret) of 1280x720 (landschap) op het standaardmodel; voegt 1024x1792 / 1792x1024 toe op Pro. Beeldverhouding is impliciet in de geselecteerde grootte.
Opvallende afwezigen. Sora biedt momenteel geen seedcontrole via de publieke API (dus reproduceerbaarheid tussen runs is niet gegarandeerd), noch individuele stijlregelaars zoals Midjourney of andere beeldmodellen dat doen. Het model is opinionated; prompt engineering is de primaire hefboom, niet parametertuning.
Een eenvoudig voorbeeld van een Sora 2-generatieaanvraag met de OpenAI Python SDK:
| from openai import OpenAIimport timeclient = OpenAI(api_key="YOUR_API_KEY")# Create the video generation jobjob = client.videos.create(model="sora-2",prompt=("A wide-angle shot of a snow-capped mountain at sunrise. ""The camera slowly tracks left as the first light hits the peak. ""Cinematic, golden hour, 4K-quality lighting."),size="1280x720",duration=8,)# Poll for completionwhile True:job = client.videos.retrieve(job.id)if job.status == "completed":video_url = job.output[0].urlbreakelif job.status == "failed":raise RuntimeError(f"Generation failed: {job.error}")print(f"Current status: {job.status}")time.sleep(10)print(f"Video ready: {video_url}") |
|---|
Doorgerekende kostenvoorbeelden
De per-seconde-prijsstelling maakt kosten voorspelbaar, maar pas als je duidelijk hebt hoe je workload eruitziet. Drie representatieve scenario’s:
Scenario 1: Een korte productdemo voor een SaaS-landingpage
Een clip van 5 seconden die de product-UI in actie toont, één keer gegenereerd en gebruikt als hero-video op de marketing-site. Je verwacht 5–10 iteraties om een clip te krijgen waar je blij mee bent voordat je publiceert.
Kosten op Sora 2 standaard op 720p: 5s × $0.10 = $0.50 per generatie. Met 8 iteraties om op de definitieve versie te landen: $4.00. Kosten op Sora 2 Pro op 1024p voor de definitieve gepubliceerde versie: 5s × $0.50 = $2.50 (enkele take). Totale projectkosten: ongeveer $6.50 voor de iteratieruns plus de HD-final.
Scenario 2: Een batch van 50 clips voor een marketingcampagne
50 unieke productclips van 8 seconden, elk gebaseerd op een andere featurebeschrijving, allemaal op Sora 2 standaard op 720p. Geen iteratiebudget; je accepteert de eerste generatie.
Kosten: 50 × 8s × $0.10 = $40.00. Voeg een iteratiebudget van 30% toe voor de clips die niet in één keer raken (50 × 0.30 = 15 retries × 8s × $0.10 = $12). Totaal: ongeveer $52.00 voor de campagne.
Scenario 3: Een door gebruikers gegenereerde videofunctie in een consumentenproduct
Gebruikers in je app genereren on-demand clips van 6 seconden op Sora 2 standaard op 720p. Gemiddeld gebruik: 1.000 clips per dag. Je rekent gebruikers $0.50 per generatie en accepteert het kostverschil als unitmarge.
Kosten per gebruikersclip: 6s × $0.10 = $0.60. Met een gebruikersprijs van $0.50 is de workload verlieslatend op de standaard tier: elke generatie kost $0.10 meer dan de gebruiker betaalt. De standaard tier op 720p vereist een gebruikersprijs van minstens $0.65 om break-even te draaien vóór infrastructuuroverhead. Bij 30.000 clips per maand: maandelijkse Sora-factuur van $18,000. Dit is het soort unit-economiecheck die de moeite waard is vóór lancering van een eindgebruikersgerichte videofunctie.
De conclusie over de drie scenario’s: videogeneratie is echt betaalbaar voor marketing- en eenmalige contentworkloads, waar het aantal iteraties begrensd is en de kosten per definitief asset tellen. Het is beduidend uitdagender voor eindgebruikersfeatures op schaal, waar de kosten per generatie hoger moeten zijn dan de door de gebruiker betaalde prijs plus productoverhead. Wees expliciet over welke workload je prijst voordat je je committeert.
OpenAI directe toegang versus aggregator-toegang
Nu Sora via meerdere routes beschikbaar is, is de praktische vraag voor de meeste teams welke route te integreren. Het eerlijke antwoord hangt af van de rest van je stack.
Wat hetzelfde is
Outputkwaliteit, generatietijd op de modellayer, ondersteunde parameters en per-seconde-prijsstelling zijn doorgaans identiek ongeacht de route, aangezien de meeste aggregators OpenAI’s prijsstelling één-op-één doorgeven en het model zelf hetzelfde model is. Kies je puur op outputkwaliteit, dan is de keuze om het even.
Wat anders is
- Billingsurface. Directe OpenAI-toegang factureert via je OpenAI-account; aggregators factureren via hun eigen tegoed- of abonnementsysteem. Voor teams die al OpenAI-billing beheren voor tekstmodellen, voegt de directe route niets nieuws toe. Voor teams met multi-provider workloads (LLM’s van Anthropic, beeldmodellen van Black Forest Labs, video van Sora) consolideert een aggregator al dat verkeer op één factuur.
- Observability. OpenAI’s dashboard toont Sora-gebruik op requestniveau duidelijk. Dashboards van aggregators variëren in hoe goed ze specifiek videogeneratie-workloads ondersteunen; sommige hebben purpose-built video-observability; andere behandelen video als een generieke API-call. Controleer dit vóór je je committeert als observability een prioriteit is.
- Pooling van rate limits. Bij directe OpenAI zijn je Sora-rate-limits gekoppeld aan je OpenAI-account en -tier. Bij een aggregator worden de limieten in sommige gevallen gepoold over de klantenbasis van de aggregator, of per klant toegewezen in andere. Voor productie-workloads met hoog volume: vraag de aggregator hoe zij rate-limitallocatie afhandelen vóór integratie.
- Geografie en compliance-houding. Directe OpenAI wordt verwerkt via OpenAI’s infrastructuur met de opties voor gegevensresidentie die OpenAI biedt. Sommige aggregators zijn gevestigd in rechtsgebieden met andere regels voor gegevensresidentie; andere routeren aanvragen ongeacht via OpenAI’s infrastructuur in de VS. Voor gereguleerde workloads is dit doorslaggevend; vraag dit bij voorkeur schriftelijk aan het salesteam van de aggregator.
Hoe CometAPI hierin past
CometAPI biedt Sora 2 en Sora 2 Pro naast 500+ andere modellen via één OpenAI-compatibele endpoint, met één credential en uniforme billing. De prijsstelling voor Sora via CometAPI volgt OpenAI’s per-seconde-tarieven; de operationele waarde is het consolideren van Sora-gebruik met de rest van je modelverkeer op één factuur. Voor teams met een gemengde workload (tekstmodellen van meerdere providers, beeldgeneratie en Sora-video) is dit het kernargument. Voor teams die alleen Sora en slechts één of twee tekstmodellen gebruiken, is de operationele besparing kleiner en is directe OpenAI-toegang een verdedigbare keuze.
Overwegingen voor productie
Een paar patronen die je goed wilt neerzetten voordat Sora in de buurt van productieverkeer komt:
- Asynchrone job-lifecycle-afhandeling. Behandel elke Sora-generatie als een long-running job, niet als een request. Sla de job-ID direct bij creatie op; overleef een serverherstart door het pollen van lopende jobs te kunnen hervatten; handel de situatie af waarin de job voltooit terwijl je worker offline is. Dit is standaard distributed-systems-hygiëne, maar wordt vaak in eerste instantie overgeslagen omdat Sora de eerste asynchrone API is die het team integreert.
- Webhook als voorkeursroute. Als het platform webhooks voor voltooiing ondersteunt (de OpenAI API doet dat), gebruik die. Webhooks verwijderen de noodzaak tot pollend en verminderen zowel je druk op rate limits als de verspilde compute van frequente statuschecks. Polling is de fallback voor omgevingen die geen webhook-endpoint kunnen aanbieden.
- Faalscenario’s die geld kosten. OpenAI factureert niet voor mislukte generaties, maar gedeeltelijke voltooiingen en opnieuw verzonden aanvragen die bij de tweede poging slagen brengen wel kosten met zich mee. Log in productie de kosten van elke retry en alarmeer als je retry-rate hoger is dan verwacht, want dat is meestal een teken van een contentpolicy-issue met de prompts die je verstuurt, wat goedkoper is om op promptniveau op te lossen dan om te absorberen in de factuur.
- Contentpolicy en productie-uitrol. Sora is gebonden aan OpenAI’s gebruiksbeleid, dat bepaalde categorieën content beperkt. Voor productiedeployments (zeker eindgebruikersgerichte, waar de prompt deels onder gebruikerscontrole is), review OpenAI’s officiële contentpolicydocumentatie en ontwerp upstream-guardrails dienovereenkomstig. Linken naar OpenAI’s policy is de juiste referentie; die documentatie is de bron van waarheid en verandert vaker dan dit artikel.
Wat je eerst moet bouwen
De eerlijke inschatting van welke Sora-workloads vandaag productierijp zijn, welke op de rand zitten en welke prematuur zijn:
Vandaag productierijp
Marketing- en creatieve contentworkloads waarbij het aantal iteraties begrensd is en de kosten per definitief asset de juiste metriek zijn. Productdemovideo’s, content voor social-campagnes, hero-video’s voor landingspagina’s, interne trainingsmaterialen. De economie werkt, de faalmodi zijn goed begrepen en het latentieverhaal (30–90 seconden voor korte clips) is acceptabel wanneer de mens in de lus het contentteam is in plaats van de eindgebruiker.
Op de rand
Eindgebruikersgerichte videogeneratiefuncties waar de kosten per clip boven de door de gebruiker betaalde prijs moeten uitkomen. Dit is werkbaar, maar vereist zorgvuldige unit-economie: begrens de duur die gebruikers kunnen aanvragen, gebruik Sora 2 standaard op 720p als default, reken een prijs die marge heeft boven de kosten per clip. De golf van consumentgerichte videogeneratie-apps begin 2026 valt grotendeels in deze categorie, en de apps met duurzame economie hebben allemaal bewust beperkt wat gebruikers kunnen genereren.
Prematuur
Long-form video op schaal (alles boven 25 seconden, aangezien dat Sora’s huidige duurplafond is), high-volume realtime-scenario’s waar kloklatentie belangrijker is dan dollars, en toepassingen die frame-level controle of seed-gebaseerde reproduceerbaarheid verwachten. Dit zijn workloads om te heroverwegen wanneer Sora’s capaciteitsoppervlak uitbreidt, niet om vandaag in te persen.
Het kader: Sora 2 is echt productierijp voor contentworkloads met een mens in de lus. Het is werkbaar voor eindgebruikersfeatures met bewuste unit-economie. Het is prematuur voor long-form video en voor use-cases die parameters vereisen die Sora nog niet exposeert. Bouw voor wat vandaag rijp is; volg wat dat nog niet is.
Probeer het op jouw workload: Alle varianten van Sora 2 en Sora 2 Pro zijn beschikbaar op CometAPI naast de tekstmodellen die je mogelijk al gebruikt. Het gratis proeftegoed laat je een handvol clips genereren tegen standaardprijzen zonder enige setup behalve het richten van je bestaande OpenAI-compatibele client op de CometAPI-endpoint.
