sora-2
Sora 2 vytvára z textu alebo referenčného obrázka video so synchronizovanými dialógmi, zvukovými efektmi a zvukom pozadia. Štandardný profil podporuje vizuálne skúmanie a koncepčné klipy; výrobca ponúka samostatné postupy pre opakovane použiteľné neľudské postavy, pokračovanie a cielené úpravy videa.
- Ailoot Ultra · Chat Completions
POST /v1/chat/completionssora-2 - Ailoot Ultra · Anthropic Messages
POST /v1/messagessora-2
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
Sora 2 je model spoločnosti OpenAI na generovanie videa a zvuku pre dynamické klipy vytvárané z písomného opisu scény alebo referenčného obrázka. Vizuálnu sekvenciu generuje spolu so synchronizovanou rečou, efektmi a zvukom pozadia. Štandardný profil Sora 2 je určený na vizuálne skúmanie, rozvíjanie konceptov, prototypy a hrubé zostrihy. Sora 2 Pro je samostatná edícia zameraná na vyššiu vizuálnu vernosť a dokončovanie vo vyššom rozlíšení.
Opíšte záber, ktorý možno vidieť aj počuť
Príručka výrobcu k zadávaniu pokynov stavia užitočné zadanie na kompozícii záberu, objekte, akcii, prostredí a svetle. Dajte scéne jednotný vizuálny štýl a potom opíšte pohyb v jasných krokoch. Pôvodný produktový koncept môže zobrazovať malý mechanický predmet, ktorý sa raz otočí na pracovnom stole, zatiaľ čo sa kamera pomaly približuje, s mäkkým svetlom z okna a jemným zvukom motora. Určte, čo si má divák všimnúť a ako sa akcia končí.
Pohyb kamery a akciu objektu udržte v každom zábere zrozumiteľné. Zložitú sekvenciu možno rozdeliť na samostatné bloky záberov, z ktorých každý má vlastnú kompozíciu, akciu a osvetlenie. Ak má viacero klipov tvoriť jednu sekvenciu, zachovajte rovnaké detaily objektu a paletu. Príručka zdôrazňuje, že kratšie zábery sa spravidla spoľahlivejšie riadia pokynmi a že opakované generovanie s rovnakým zadaním vytvára odlišné verzie.
Pri uvedení modelu výrobca opisuje zlepšené fyzikálne správanie a kontinuitu medzi zábermi vrátane realistického, filmového a anime štýlu. Ide o zamýšľané schopnosti, ktoré treba usmerňovať a kontrolovať. Kontrolujte pohyb, kontakt medzi predmetmi, proporcie a kontinuitu; nepredpokladajte, že vierohodná prvá snímka zaručuje súdržnú sekvenciu. Ak je akcia nejasná, zjednodušte ju a dajte jej viditeľný začiatok a koniec.
Režírujte dialóg a zvuk samostatne
Hovorené repliky určte oddelene od vizuálneho opisu a hovoriacich označujte jednotne. Dialóg musí byť dostatočne krátky, aby sa zmestil do akcie a zamýšľanej dĺžky klipu. Pri animácii s dvoma postavami striedajte krátku otázku a odpoveď, namiesto toho, aby ste do krátkeho záberu žiadali dlhý prejav. Príručka upozorňuje, že zložitý a dlhý dialóg môže narušiť tempo a synchronizáciu.
Opíšte zvukové prostredie, ktoré patrí k scéne: zvuk drobného pohybu, atmosféru miestnosti alebo rytmus zvukového efektu prostredia. Vysvetlite, ktorý zvuk má sprevádzať danú akciu v rovnakom okamihu. Výslednú reč a efekty si vypočujte spolu s obrazom a skontrolujte priradenie hovoriacich, znenie a načasovanie. Synchronizovaný zvuk je súčasťou vygenerovaného klipu, nie samostatnou textovou odpoveďou.
Rozmery, trvanie a úvod vedený obrázkom
Zdokumentované výstupné rozmery štandardného modelu sú 720×1280 na výšku a 1280×720 na šírku. Rozmery s vyšším rozlíšením z profilu Pro sa nemajú pripisovať štandardnému modelu Sora 2. Rozmery a trvanie sú výslovné nastavenia požiadavky; uvedenie iných rozmerov alebo požiadavka na dlhší film v zadaní tieto nastavenia nemení. Referencia pre vytváranie uvádza nastavenia klipov s dĺžkou 4, 8 a 12 sekúnd, preto pri príprave záberu vyberte krátky, jasne vymedzený dejový úsek. Rozšírený postup výrobcu dokumentuje aj nastavenia klipov s dĺžkou 16 a 20 sekúnd.
Referenčný obrázok ukotvuje prvú snímku a text opisuje, čo nasleduje. Výrobca podporuje referencie JPEG, PNG a WebP a vyžaduje zhodu obrázka s cieľovými rozmermi videa. Objekt, prostredie a kompozíciu pripravte v tomto úvodnom obrázku a potom požiadajte o konkrétny pohyb. Ide o referenciu pre úvodnú snímku, nie o záruku zachovania každého detailu počas celého klipu.
Opakovane použiteľné neľudské postavy
Rozšírený postup výrobcu môže vytvoriť opakovane použiteľný asset postavy z krátkeho referenčného videa zvieraťa, maskota alebo predmetu. Pokyny na prípravu požadujú klip MP4 s dĺžkou približne dve až štyri sekundy, v rozlíšení 720p až 1080p a pomere strán 16:9 alebo 9:16. Zhoda pomeru strán zdroja a výstupu pomáha predísť natiahnutému vzhľadu. Generovanie môže odkazovať najviac na dve postavy.
Uchovajte identifikátor postavy a v zadaní uveďte jej meno; samotné odovzdanie identifikátora nie je podľa príručky úplnou prípravou. Assety postáv môžu sprevádzať generovanie vedené obrázkom, ale predĺženia videa ich neprijímajú. Výrobca predvolene blokuje nahrávanie postáv podobných ľuďom a v zdokumentovanom postupe API odmieta referenčné obrázky obsahujúce ľudské tváre. Funkcie osobných postáv v aplikácii Sora predstavujú samostatný produktový postup.
Pokračujte v dokončenom klipe alebo ho upravte
Predĺženie prijíma dokončené zdrojové video a zadanie pokračovania, pričom celý zdrojový klip používa ako kontext pre pohyb, smerovanie kamery a kontinuitu scény. Príručka opisuje pridanie najviac 20 sekúnd pri každom predĺžení. Zdokumentovaným vstupom predĺženia je zdrojové video a text; ďalšie referencie postáv alebo obrázkov sú z tohto režimu vylúčené. Opíšte, ako existujúca akcia pokračuje, namiesto zavedenia nesúvisiacej scény bez prechodu.
Úprava videa sa zameriava na jasnú zmenu existujúceho klipu. Cielená revízia môže zmeniť farbu predmetu alebo paletu scény a pritom zachovať zvyšok záberu. Príručka výrobcu odporúča vždy jednu dobre definovanú zmenu a odlišuje úpravu vygenerovaného videa od nahrávania ľubovoľných záberov, pre ktoré platí samostatná podmienka oprávnenosti. Pred ďalšou úpravou uchovajte dokončený zdroj a určte presnú požadovanú zmenu.
Renderovacie úlohy a hotové video
Zdokumentovaný postup výrobcu pre video je asynchrónny: odoslaná úloha môže čakať vo fronte alebo prebiehať, kým sa dokončí alebo zlyhá. Dokončená úloha poskytuje video MP4; miniatúra a sprite sheet slúžia na náhľady a prehliadanie. Identitu úlohy uchovajte spolu so zadaním, referenciami a vrátenými assetmi. Úvodná odpoveď úlohy nie je konečným prehrateľným videom.
Bežný postup sťahovania opisuje hodinovú platnosť URL na stiahnutie. Rozšírený dávkový postup pripravuje nezávislé renderovacie požiadavky JSON so stabilnými identifikátormi položiek, nahranými referenciami a výsledkom priradeným späť ku každému záberu; jeho dokončené assety majú samostatnú lehotu na stiahnutie do 24 hodín. Hotový klip bezodkladne uchovajte a pred jeho prijatím ako vybranej verzie skontrolujte skutočný obraz aj zvuk.
Zdokumentované obmedzenia obsahu API výrobcu vyžadujú materiál vhodný pre publikum mladšie ako 18 rokov a odmietajú postavy či hudbu chránené autorskými právami a generovanie skutočných ľudí. Scénu a referencie pripravte podľa toho. Priamym výsledkom modelu je video so zvukom, nie generované statické obrázky, odpoveď konverzačného nástroja ani neobmedzene dlhý film. Pri pokračovaní vizuálneho konceptu zachovajte presnú identitu štandardného modelu a prijatý zdrojový klip.
Ailoot Ultra · Chat Completions POST /v1/chat/completions sora-2
sora-2Úvod
Sora 2 vytvára z textu alebo referenčného obrázka video so synchronizovanými dialógmi, zvukovými efektmi a zvukom pozadia. Štandardný profil podporuje vizuálne skúmanie a koncepčné klipy; výrobca ponúka samostatné postupy pre opakovane použiteľné neľudské postavy, pokračovanie a cielené úpravy videa.
- Povolené vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Chat Completions POST /v1/chat/completions
- Vstup
text- Výstup
json,sse- Výstupný formát
- JSON alebo text/event-stream
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity sora-2 | Predvolené— |
Polemessages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemessages[].role | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemessages[].content | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polestream | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity | Predvolenéfalse |
Kombinácie vstupných podkladov
owned_text_messages
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciamodel, messages |
Parametermaterial_types | Špecifikáciatext |
Parametermessages | Špecifikáciapole správ s role a doslovným reťazcom content |
Parameterfile_material | ŠpecifikáciaSkutočný materiál UTF-8 možno vložiť ako doslovný reťazec content; nevyvodzuje sa z neho odkaz na súbor. |
Parameteroptional_controls | Špecifikáciastream |
Životný cyklus: synchronous_json_or_sse
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
Sadzby Ailoot
Ceny podľa konfigurácie
| Konfigurácia | Sadzobník | Poplatok |
|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny $0 / 1K tokenov Výstup · Výstupné tokeny $0.2 / 1K tokenov Vstup · Čítanie cache $0 / 1K tokenov Vstup · Zápis do cache $0 / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Chat Completions
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
Prijať a uložiť výsledky
Ailoot Ultra · Chat Completions
JSON alebo text/event-stream
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Zachovajte celý JSON alebo bajty SSE, hlavičky odpovede, vrátenú spotrebu a všetky poskytnuté polia výsledku. Netvrdí sa žiadna rodina výstupov špecifická pre model.
Ak treba overiť pôvodnú odpoveď
Zachovajte pôvodnú odpoveď a identitu pokusu; nevyvodzuje sa žiadne nové zisťovanie stavu úlohy ani opätovné odoslanie.
Polia odpovede
| Pole | Typ | Význam |
|---|---|---|
Polecomplete response JSON | Typobject | VýznamZachovajte každé vrátené pole bez predpokladania rodiny výsledkov špecifickej pre model. |
PoleSSE data events | Typstream | VýznamZachovajte každú vrátenú udalosť a koncovú značku bez výberu iba textových polí. |
Aliasy
Aliasy modelov
Ailoot Ultra sora-2
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
Ailoot Ultra · Anthropic Messages POST /v1/messages sora-2
sora-2Úvod
Sora 2 vytvára z textu alebo referenčného obrázka video so synchronizovanými dialógmi, zvukovými efektmi a zvukom pozadia. Štandardný profil podporuje vizuálne skúmanie a koncepčné klipy; výrobca ponúka samostatné postupy pre opakovane použiteľné neľudské postavy, pokračovanie a cielené úpravy videa.
- Povolené vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vstup
text- Výstup
json,sse- Výstupný formát
- JSON alebo SSE
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity sora-2 | Predvolené— |
Polemessages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemessages[].role | Typstring | PožiadavkaPovinné | Hodnoty a limity user, assistant | Predvolené— |
Polemessages[].content | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemax_tokens | Typinteger | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polestream | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity | Predvolenéfalse |
Kombinácie vstupných podkladov
Text · Text UTF-8
reťazec messages[].content
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciamodel, messages, max_tokens |
Parameteroptional_controls | Špecifikáciastream |
Parametermaterial_types | Špecifikáciatext |
Parametertext_file_material | ŠpecifikáciaPrečítajte skutočný dokument UTF-8 a vložte jeho text do uvedeného vstupného reťazca alebo reťazca obsahu správy. |
Životný cyklus: synchronous_or_streamed
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
Sadzby Ailoot
Ceny podľa konfigurácie
| Konfigurácia | Sadzobník | Poplatok |
|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny $0 / 1K tokenov Výstup · Výstupné tokeny $0.2 / 1K tokenov Vstup · Čítanie cache $0 / 1K tokenov Vstup · Zápis do cache $0 / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Anthropic Messages
{
"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))
Prijať a uložiť výsledky
Ailoot Ultra · Anthropic Messages
JSON alebo SSE
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Zachovajte všetky bloky obsahu, podpisy uvažovania a skutočné ID volaní nástrojov. Zostavte všetky čiastkové zmeny blokov SSE; prvý textový blok nie je celý výstup.
Ak treba overiť pôvodnú odpoveď
Zachovajte ID požiadaviek/odpovedí aj hlavičky. Všeobecná URL na načítanie textovej úlohy nie je poskytnutá.
Polia odpovede
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |
Aliasy
Aliasy modelov
Ailoot Ultra sora-2
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · sora-2
- Aké vstupy a výsledky sú dostupné?
POST /v1/chat/completions·sora-2:text→json,ssePOST /v1/messages·sora-2:text→json,sse- Aké polia používa požiadavka?
POST /v1/chat/completions·sora-2:model,messages,streamPOST /v1/messages·sora-2:model,messages,max_tokens,stream