modellen

sora-2

Markdown · JSON

sora-2

Sora 2 maakt video met gesynchroniseerde dialoog, geluidseffecten en achtergrondgeluid op basis van tekst of een referentieafbeelding. Het standaardprofiel ondersteunt visuele verkenning en conceptclips, met afzonderlijke workflows van de producent voor herbruikbare niet-menselijke personages, voortzetting en gerichte videobewerkingen.

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.

Sora 2 is het video- en audiogeneratiemodel van OpenAI voor dynamische clips op basis van een schriftelijke scènebeschrijving of een referentieafbeelding. Het genereert de beeldenreeks samen met gesynchroniseerde spraak, effecten en achtergrondgeluid. Het standaardprofiel Sora 2 is bedoeld voor visuele verkenning, conceptontwikkeling, prototypes en ruwe montages. Sora 2 Pro is een afzonderlijke editie gericht op grotere visuele getrouwheid en afwerking met een hogere resolutie.

Beschrijf een shot dat te zien en te horen is

De promptgids van de maker bouwt een bruikbare briefing op rond kadrering, onderwerp, actie, omgeving en licht. Geef de scène een samenhangende visuele stijl en beschrijf daarna de beweging in duidelijke momenten. Een origineel productconcept kan een klein mechanisch object tonen dat eenmaal ronddraait op een werkbank terwijl de camera langzaam dichterbij komt, met zacht raamlicht en een subtiel motorgeluid. Geef aan wat de kijker moet opmerken en hoe de actie eindigt.

Houd de camerabeweging en de actie van het onderwerp in elk shot begrijpelijk. Een ingewikkelde reeks kan worden verdeeld in afzonderlijke shotblokken, elk met eigen kadrering, actie en belichting. Behoud dezelfde onderwerpdetails en hetzelfde kleurenpalet wanneer meerdere clips samen één reeks moeten vormen. De gids benadrukt dat kortere shots de aanwijzingen doorgaans betrouwbaarder volgen en dat herhaald genereren met dezelfde prompt verschillende takes oplevert.

Bij de introductie van het model worden verbeterd fysiek gedrag en continuïteit tussen shots beschreven, onder meer in realistische, filmische en animestijlen. Dit zijn beoogde mogelijkheden die je moet aansturen en controleren. Beoordeel beweging, contact tussen objecten, verhoudingen en continuïteit in plaats van aan te nemen dat een aannemelijk eerste frame een samenhangende reeks garandeert. Vereenvoudig een onduidelijke actie en geef die een zichtbaar begin en einde.

Stuur dialoog en geluid afzonderlijk aan

Specificeer gesproken tekst los van de visuele beschrijving en label de sprekers consequent. Houd de dialoog kort genoeg om bij de actie en de beoogde cliplengte te passen. Wissel voor een animatie met twee personages een korte vraag en een kort antwoord af, in plaats van een lange toespraak in een kort shot te willen onderbrengen. De gids waarschuwt dat complexe, lange dialoog het tempo en de synchronisatie kan verstoren.

Beschrijf de geluidsomgeving die bij de scène hoort: het geluid van een kleine beweging, het omgevingsgeluid in een ruimte of het ritme van een omgevingseffect. Leg uit welk geluid met de actie moet samenvallen. Beluister de resulterende spraak en effecten samen met het beeld en controleer de sprekerstoewijzing, formulering en timing. Gesynchroniseerde audio maakt deel uit van de gegenereerde clip en is geen afzonderlijk tekstantwoord.

Formaat, duur en een door een afbeelding gestuurde opening

De gedocumenteerde uitvoerformaten van het standaardmodel zijn 720×1280 staand en 1280×720 liggend. De formaten met hogere resolutie van het Pro-profiel mogen niet aan standaard Sora 2 worden toegeschreven. Formaat en duur zijn expliciete verzoekinstellingen; een ander formaat noemen of in de prompt om een langere film vragen verandert die instellingen niet. De creatiereferentie vermeldt clipinstellingen van 4, 8 en 12 seconden, dus kies bij het voorbereiden van een shot een kort, afgebakend actiemoment. De uitgebreide workflow van de producent documenteert ook clipinstellingen van 16 en 20 seconden.

Een referentieafbeelding verankert het eerste frame en de tekst beschrijft wat daarna gebeurt. De producent ondersteunt JPEG-, PNG- en WebP-referenties en vereist dat de afbeelding overeenkomt met het doelvideoformaat. Bereid het onderwerp, de omgeving en de compositie in dat openingsbeeld voor en vraag vervolgens om een specifieke beweging. Dit is een referentie voor het openingsframe, geen garantie dat elk detail gedurende de hele clip overeenkomt.

Herbruikbare niet-menselijke personages

De uitgebreide workflow van de producent kan een herbruikbaar personagebestand maken uit een korte referentievideo van een dier, mascotte of object. De voorbereidingsrichtlijnen vragen om een MP4-clip van ongeveer twee tot vier seconden, 720p tot 1080p, in 16:9 of 9:16. Een overeenkomstige beeldverhouding van bron en uitvoer helpt een uitgerekt uiterlijk te voorkomen. De generatie kan naar maximaal twee personages verwijzen.

Bewaar de personage-ID en noem de naam ervan in de prompt; alleen de ID doorgeven is niet de volledige voorbereiding volgens de gids. Personagebestanden kunnen worden gebruikt bij een generatie op basis van een afbeelding, maar videoverlengingen accepteren ze niet. De producent blokkeert standaard uploads van personages met een menselijke gelijkenis en wijst referentieafbeeldingen met menselijke gezichten af in de gedocumenteerde API-workflow. De functies voor persoonlijke personages in de Sora-app vormen een afzonderlijke productworkflow.

Zet een voltooide clip voort of bewerk die

Een verlenging gebruikt een voltooide bronvideo en een voortzettingsprompt, waarbij de hele bronclip als context dient voor beweging, camerarichting en scènecontinuïteit. De gids beschrijft toevoegingen van maximaal 20 seconden per verlenging. De gedocumenteerde invoer voor verlenging bestaat uit de bronvideo en tekst; aanvullende personage- of afbeeldingsreferenties zijn in die modus uitgesloten. Beschrijf hoe de bestaande actie verdergaat in plaats van zonder overgang een niet-gerelateerde scène te introduceren.

Videobewerking richt zich op een duidelijke verandering in een bestaande clip. Een gerichte herziening kan de kleur van een object of het kleurenpalet van de scène wijzigen, terwijl de rest van het shot behouden blijft. De gids van de producent beveelt één goed gedefinieerde verandering tegelijk aan en maakt onderscheid tussen het bewerken van een gegenereerde video en het uploaden van willekeurig beeldmateriaal, waarvoor een afzonderlijke toelatingsvoorwaarde geldt. Bewaar de voltooide bron en identificeer de exacte benodigde herziening voordat je nog een bewerking uitvoert.

Rendertaken en de voltooide video

De gedocumenteerde videoworkflow van de producent is asynchroon: een ingediende taak kan in de wachtrij staan of worden uitgevoerd voordat die voltooid wordt of mislukt. Een voltooide taak levert een MP4-video op; miniaturen en sprite-sheets ondersteunen voorvertoningen en bladeren door resultaten. Houd de taak-ID gekoppeld aan de prompt, referenties en teruggegeven bestanden. Een eerste taakrespons is niet de uiteindelijke afspeelbare video.

De gewone downloadworkflow beschrijft een geldigheidsduur van één uur voor download-URL's. De uitgebreide batchworkflow bereidt onafhankelijke JSON-renderverzoeken voor met stabiele item-ID's, geüploade referenties en een resultaat dat aan elk shot wordt gekoppeld; de voltooide bestanden hebben een afzonderlijke downloadperiode van maximaal 24 uur. Sla de voltooide clip tijdig op en controleer het daadwerkelijke beeld en geluid voordat je die als geselecteerde take beschouwt.

De gedocumenteerde API-inhoudsbeperkingen van de producent vereisen materiaal dat geschikt is voor publiek onder 18 jaar en wijzen auteursrechtelijk beschermde personages of muziek en het genereren van echte personen af. Bereid de scène en referenties daarop voor. Het directe modelresultaat is video met audio, geen gegenereerde stilstaande beelden, een conversationele toolrespons of een onbeperkte film. Behoud de exacte identiteit van het standaardmodel en de geaccepteerde bronclip wanneer je een visueel concept voortzet.

Ailoot Ultra · Chat Completions POST /v1/chat/completions sora-2

sora-2

Overig /sora-2

Aan de slag

Sora 2 maakt video met gesynchroniseerde dialoog, geluidseffecten en achtergrondgeluid op basis van tekst of een referentieafbeelding. Het standaardprofiel ondersteunt visuele verkenning en conceptclips, met afzonderlijke workflows van de producent voor herbruikbare niet-menselijke personages, voortzetting en gerichte videobewerkingen.

Toegestane invoer
Tekst
Resultaten
json · sse

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Chat Completions POST /v1/chat/completions
Invoertypen
text
Uitvoertypen
json, sse
Uitvoerformaat
JSON of text/event-stream
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
sora-2
Standaard—
VeldmessagesTypemessage[]VereisteVereistWaarden en limietenStandaard—
Veldmessages[].roleTypestringVereisteVereistWaarden en limietenStandaard—
Veldmessages[].contentTypestringVereisteVereistWaarden en limietenStandaard—
VeldstreamTypebooleanVereisteOptioneelWaarden en limietenStandaardfalse
Combinaties van invoermaterialen

owned_text_messages

Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages
Parametermaterial_typesContracttext
ParametermessagesContractberichtenarray met role en een letterlijke tekenreeks voor content
Parameterfile_materialContractDaadwerkelijk UTF-8-materiaal kan in content worden ingevoegd als letterlijke tekenreeks; er wordt geen bestandsreferentie afgeleid.
Parameteroptional_controlsContractstream

Levenscyclus: synchronous_json_or_sse

Tarieven

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

Ailoot-tarieven

Prijzen per configuratie

ConfiguratieTariefstaffelKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefKosten
Invoer · Invoertokens $0 / 1K tokens
Uitvoer · Uitvoertokens $0.2 / 1K tokens
Invoer · Cache lezen $0 / 1K tokens
Invoer · Cache schrijven $0 / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens

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 · Chat Completions

curl · volledige JSON-responsPython SDK · volledige JSON-responscurl · bewaar de SSE-stream
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"sora-2","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
from pathlib import Path
print(Path("result.json").read_text(encoding="utf-8"))
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="sora-2", messages=[{"role":"user","content":"hello"}], stream=False)
import json
from pathlib import Path

data = result.to_dict(mode="json")
Path("result.json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"sora-2","messages":[{"role":"user","content":"hello"}],"stream":true}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.sse

Resultaten ophalen en opslaan

Ailoot Ultra · Chat Completions

JSON of text/event-stream

Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar alle JSON- of SSE-bytes, antwoordheaders, geretourneerd gebruik en alle aangeleverde resultaatvelden. Er wordt geen modelspecifieke uitvoerfamilie verondersteld.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar het oorspronkelijke antwoord en de pogingidentiteit; er wordt geen nieuwe taakpolling of herindiening afgeleid.

Antwoordvelden
VeldTypeBetekenis
Veldcomplete response JSONTypeobjectBetekenisBewaar elk geretourneerd veld zonder een modelspecifieke resultaatfamilie te veronderstellen.
VeldSSE data eventsTypestreamBetekenisBewaar elke geretourneerde gebeurtenis en eindmarkering zonder uitsluitend tekstvelden te selecteren.

Aliasnamen

Modelaliasnamen

Ailoot Ultra sora-2

Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

Gerelateerde aanroeper-ID’s

sora-2

Ailoot Ultra · Anthropic Messages POST /v1/messages sora-2

sora-2

Overig /sora-2

Aan de slag

Sora 2 maakt video met gesynchroniseerde dialoog, geluidseffecten en achtergrondgeluid op basis van tekst of een referentieafbeelding. Het standaardprofiel ondersteunt visuele verkenning en conceptclips, met afzonderlijke workflows van de producent voor herbruikbare niet-menselijke personages, voortzetting en gerichte videobewerkingen.

Toegestane invoer
Tekst
Resultaten
json · sse

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Anthropic Messages POST /v1/messages
Invoertypen
text
Uitvoertypen
json, sse
Uitvoerformaat
JSON of SSE
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
sora-2
Standaard—
VeldmessagesTypemessage[]VereisteVereistWaarden en limietenStandaard—
Veldmessages[].roleTypestringVereisteVereistWaarden en limieten
user, assistant
Standaard—
Veldmessages[].contentTypestringVereisteVereistWaarden en limietenStandaard—
Veldmax_tokensTypeintegerVereisteVereistWaarden en limietenStandaard—
VeldstreamTypebooleanVereisteOptioneelWaarden en limietenStandaardfalse
Combinaties van invoermaterialen

Tekst · UTF-8-tekst

messages[].content als tekenreeks

Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages, max_tokens
Parameteroptional_controlsContractstream
Parametermaterial_typesContracttext
Parametertext_file_materialContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht.

Levenscyclus: synchronous_or_streamed

Tarieven

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

Ailoot-tarieven

Prijzen per configuratie

ConfiguratieTariefstaffelKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefKosten
Invoer · Invoertokens $0 / 1K tokens
Uitvoer · Uitvoertokens $0.2 / 1K tokens
Invoer · Cache lezen $0 / 1K tokens
Invoer · Cache schrijven $0 / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens

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 · Anthropic Messages

Volledige minimale JSON-bodycurl · gebruik je UTF-8-documentPython · sla het volledige resultaat op
{
  "model": "sora-2",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'sora-2', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'sora-2', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Resultaten ophalen en opslaan

Ailoot Ultra · Anthropic Messages

JSON of SSE

Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.

Antwoordvelden
VeldType
VeldidTypestring
VeldmodelTypestring
Veldcontent[]Typetext|thinking|tool_use|other content block
Veldstop_reasonTypestring|null
VeldusageTypeobject
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldigVolgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag.

Aliasnamen

Modelaliasnamen

Ailoot Ultra sora-2

Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

Gerelateerde aanroeper-ID’s

sora-2

FAQ · sora-2
Welke invoer en resultaten zijn beschikbaar?

POST /v1/chat/completions · sora-2: text → json, sse

POST /v1/messages · sora-2: text → json, sse

Welke velden gebruikt het verzoek?

POST /v1/chat/completions · sora-2: model, messages, stream

POST /v1/messages · sora-2: model, messages, max_tokens, stream

Meer details

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement
Kies een abonnement met korting voor je terugkerende verzoeken.
Promotiecode tot 50%
Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.
Kosten in de geschiedenis
Model, tokens en bedrag worden per verzoek bewaard.

Kies een abonnement · Bekijk modelprijzen

Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie
Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.
Resellerlicentie
Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.
Documenten op de site
Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

Vraag een resellerlicentie aan · Aanbodvoorwaarden en licentieovereenkomst