modely

sora-2

Markdown · JSON

sora-2

Sora 2 vytváří z textu nebo referenčního obrázku video se synchronizovaným dialogem, zvukovými efekty a zvukovým pozadím. Standardní profil podporuje hledání vizuálního pojetí a tvorbu koncepčních klipů; výrobce nabízí samostatné postupy pro opakovaně použitelné postavy, které nejsou lidmi, pokračování a cílené úpravy videa.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Sora 2 je model společnosti OpenAI pro generování videa a zvuku, který vytváří dynamické klipy z písemného popisu scény nebo referenčního obrázku. Obrazovou sekvenci generuje společně se synchronizovanou řečí, efekty a zvukovým pozadím. Standardní profil Sora 2 je určen pro hledání vizuálního pojetí, rozvíjení konceptů, prototypy a hrubé střihy. Sora 2 Pro je samostatná edice zaměřená na vyšší obrazovou věrnost a dokončování ve vyšším rozlišení.

Popište záběr, který lze vidět i slyšet

Průvodce výrobce pro zadávání promptů staví užitečné zadání na kompozici záběru, hlavním objektu, ději, prostředí a světle. Dejte scéně jednotný vizuální styl a pohyb popište v jasných krocích. Originální produktový koncept může ukazovat malý mechanický předmět, který se jednou otočí na pracovním stole, zatímco se kamera pomalu přibližuje, za měkkého světla z okna a jemného zvuku motoru. Uveďte, čeho si má divák všimnout a jak děj končí.

Pohyb kamery a děj hlavního objektu v každém záběru musí být srozumitelné. Složitou sekvenci lze rozdělit do samostatných bloků záběrů, každý s vlastní kompozicí, dějem a osvětlením. Má-li několik klipů tvořit jednu sekvenci, zachovejte stejné detaily hlavního objektu a barevnou paletu. Průvodce zdůrazňuje, že kratší záběry se obecně spolehlivěji drží pokynů a že opakované generování ze stejného promptu vytváří různé varianty.

Při uvedení modelu výrobce popisuje zlepšené fyzikální chování a návaznost mezi záběry, včetně realistického, filmového a anime stylu. Jde o zamýšlené schopnosti, které je potřeba řídit a kontrolovat. Posuzujte pohyb, kontakt mezi předměty, proporce a návaznost; nepředpokládejte, že věrohodný první snímek zaručuje soudržnou sekvenci. Pokud je děj nejasný, zjednodušte jej a dejte mu viditelný začátek a konec.

Řiďte dialog a zvuk samostatně

Mluvené repliky uvádějte odděleně od obrazového popisu a mluvčí označujte jednotně. Dialog ponechte dostatečně krátký, aby se vešel do děje a zamýšlené délky klipu. U animace se dvěma postavami střídejte stručnou otázku a odpověď místo požadavku na dlouhý proslov v krátkém záběru. Průvodce upozorňuje, že složitý a dlouhý dialog může narušit tempo i synchronizaci.

Popište zvukové prostředí odpovídající scéně: zvuk drobného pohybu, atmosféru místnosti nebo rytmus zvuku okolního prostředí. Vysvětlete, který zvuk má nastat současně s dějem. Výslednou řeč a efekty poslouchejte spolu s obrazem a kontrolujte přiřazení mluvčích, znění i načasování. Synchronizovaný zvuk je součástí vygenerovaného klipu, nikoli samostatnou textovou odpovědí.

Rozměry, délka a začátek vedený obrázkem

Dokumentované výstupní rozměry standardního modelu jsou 720×1280 na výšku a 1280×720 na šířku. Vyšší rozlišení profilu Pro se nemají připisovat standardnímu modelu Sora 2. Rozměry a délka jsou výslovná nastavení požadavku; uvedení jiných rozměrů nebo žádost o delší film v promptu tato nastavení nemění. Referenční dokumentace pro vytváření uvádí nastavení délky klipu na 4, 8 a 12 sekund, proto při přípravě záběru zvolte krátký, jasně vymezený dějový úsek. Rozšířený postup výrobce dokumentuje také délky klipů 16 a 20 sekund.

Referenční obrázek určuje první snímek a text popisuje, co následuje. Výrobce podporuje reference JPEG, PNG a WebP a vyžaduje shodu rozměrů obrázku s cílovým videem. V úvodním obrázku připravte hlavní objekt, prostředí a kompozici, poté požádejte o konkrétní pohyb. Jde o referenci pro úvodní snímek, nikoli o záruku zachování každého detailu po celý klip.

Opakovaně použitelné postavy, které nejsou lidmi

Rozšířený postup výrobce umožňuje vytvořit opakovaně použitelný podklad představující postavu z krátkého referenčního videa zvířete, maskota nebo předmětu. Pokyny pro přípravu požadují klip MP4 dlouhý přibližně dvě až čtyři sekundy, v rozlišení 720p až 1080p a s poměrem stran 16:9 nebo 9:16. Shodný poměr stran zdroje a výstupu pomáhá zabránit roztaženému vzhledu. Generování může odkazovat až na dvě postavy.

Uchovejte identifikátor postavy a v promptu zmiňte její jméno; samotné předání identifikátoru nepředstavuje úplnou přípravu podle průvodce. Podklady postav mohou doprovázet generování vedené obrázkem, prodlužování videa je však nepřijímá. Výrobce ve výchozím nastavení blokuje nahrávání postav podobných lidem a v dokumentovaném postupu API odmítá referenční obrázky obsahující lidské tváře. Funkce osobních postav v aplikaci Sora představují samostatný produktový postup.

Pokračujte v hotovém klipu nebo jej upravte

Prodloužení pracuje s hotovým zdrojovým videem a promptem pro pokračování; celý zdrojový klip používá jako kontext pro pohyb, směr kamery a návaznost scény. Průvodce popisuje přidání až 20 sekund při jednom prodloužení. Dokumentovaným vstupem prodloužení je zdrojové video a text; další reference postav nebo obrázků jsou z tohoto režimu vyloučeny. Popište, jak pokračuje stávající děj, místo zavádění nesouvisející scény bez přechodu.

Úprava videa míří na jasnou změnu existujícího klipu. Cílená úprava může změnit barvu předmětu nebo paletu scény a zachovat zbytek záběru. Průvodce výrobce doporučuje vždy jednu přesně vymezenou změnu a odlišuje úpravu vygenerovaného videa od nahrávání libovolného záznamu, pro které platí samostatná podmínka způsobilosti. Před další úpravou uchovejte hotový zdroj a určete přesnou požadovanou změnu.

Renderovací úlohy a hotové video

Dokumentovaný postup výrobce pro video je asynchronní: odeslaná úloha může být zařazena do fronty nebo probíhat, než se dokončí či selže. Dokončená úloha poskytne video MP4; náhledové obrázky a sprite sheety slouží pro náhledy a procházení. Identitu úlohy uchovávejte ve vazbě na prompt, reference a vrácené soubory. Počáteční odpověď na úlohu není finální přehratelné video.

Běžný postup stahování uvádí hodinovou platnost adresy URL pro stažení. Rozšířený dávkový postup připravuje nezávislé renderovací požadavky JSON se stabilními identifikátory položek, nahranými referencemi a výsledkem přiřazeným zpět ke každému záběru; jeho hotové soubory mají samostatnou lhůtu pro stažení až 24 hodin. Hotový klip včas uložte a před výběrem konkrétní varianty zkontrolujte skutečný obraz i zvuk.

Dokumentovaná omezení obsahu API výrobce vyžadují materiál vhodný pro publikum mladší 18 let a odmítají autorsky chráněné postavy či hudbu a generování skutečných lidí. Připravte podle toho scénu i reference. Přímým výsledkem modelu je video se zvukem, nikoli generované statické obrázky, konverzační odpověď nástroje nebo film neomezené délky. Při pokračování vizuálního konceptu zachovejte přesnou identitu standardního modelu a přijatý zdrojový klip.

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

sora-2

Ostatní /sora-2

Úvod

Sora 2 vytváří z textu nebo referenčního obrázku video se synchronizovaným dialogem, zvukovými efekty a zvukovým pozadím. Standardní profil podporuje hledání vizuálního pojetí a tvorbu koncepčních klipů; výrobce nabízí samostatné postupy pro opakovaně použitelné postavy, které nejsou lidmi, pokračování a cílené úpravy videa.

Přijímané vstupy
Text
Výsledky
json · sse

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Chat Completions POST /v1/chat/completions
Vstup
text
Výstup
json, sse
Výstupní formát
JSON nebo text/event-stream
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
sora-2
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limityVýchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limityVýchozí—
Polemessages[].contentTypstringPožadavekPovinnéHodnoty a limityVýchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Kombinace vstupních materiálů

owned_text_messages

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages
Parametrmaterial_typesKontrakttext
ParametrmessagesKontraktpole zpráv s role a doslovným řetězcem content
Parametrfile_materialKontraktSkutečný materiál v UTF-8 lze vložit jako doslovný řetězec content; žádný odkaz na soubor se neodvozuje.
Parametroptional_controlsKontraktstream

Životní cyklus: synchronous_json_or_sse

Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Sazby Ailoot

Ceny podle konfigurace

KonfiguraceTabulka sazebPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPoplatek
Vstup · Vstupní tokeny $0 / 1K tokenů
Výstup · Výstupní tokeny $0.2 / 1K tokenů
Vstup · Čtení z mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot Ultra · Chat Completions

curl · úplná odpověď JSONPython SDK · úplná odpověď JSONcurl · zachovejte stream SSE
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

Přijímání a ukládání výsledků

Ailoot Ultra · Chat Completions

JSON nebo text/event-stream

Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Uchovejte úplné bajty JSON nebo SSE, hlavičky odpovědi, vrácené údaje o využití a všechna poskytnutá pole výsledku. Žádný typ výstupu specifický pro model se neuvádí.

Pokud je nutné ověřit původní odpověď

Zachovejte původní odpověď a identitu pokusu; neodvozuje se žádné dotazování na novou úlohu ani opětovné odeslání.

Pole odpovědi
PoleTypVýznam
Polecomplete response JSONTypobjectVýznamZachovejte každé vrácené pole, aniž byste předpokládali typ výsledku specifický pro model.
PoleSSE data eventsTypstreamVýznamZachovejte každou vrácenou událost a ukončovací značku, nevybírejte pouze textová pole.

Aliasy

Aliasy modelu

Ailoot Ultra sora-2

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

sora-2

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

sora-2

Ostatní /sora-2

Úvod

Sora 2 vytváří z textu nebo referenčního obrázku video se synchronizovaným dialogem, zvukovými efekty a zvukovým pozadím. Standardní profil podporuje hledání vizuálního pojetí a tvorbu koncepčních klipů; výrobce nabízí samostatné postupy pro opakovaně použitelné postavy, které nejsou lidmi, pokračování a cílené úpravy videa.

Přijímané vstupy
Text
Výsledky
json · sse

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Anthropic Messages POST /v1/messages
Vstup
text
Výstup
json, sse
Výstupní formát
JSON nebo SSE
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
sora-2
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limityVýchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limity
user, assistant
Výchozí—
Polemessages[].contentTypstringPožadavekPovinnéHodnoty a limityVýchozí—
Polemax_tokensTypintegerPožadavekPovinnéHodnoty a limityVýchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Kombinace vstupních materiálů

Text · text UTF-8

řetězec messages[].content

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages, max_tokens
Parametroptional_controlsKontraktstream
Parametrmaterial_typesKontrakttext
Parametrtext_file_materialKontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy.

Životní cyklus: synchronous_or_streamed

Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Sazby Ailoot

Ceny podle konfigurace

KonfiguraceTabulka sazebPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPoplatek
Vstup · Vstupní tokeny $0 / 1K tokenů
Výstup · Výstupní tokeny $0.2 / 1K tokenů
Vstup · Čtení z mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot Ultra · Anthropic Messages

Úplné minimální tělo požadavku JSONcurl · použijte svůj dokument UTF-8Python · uložte úplný výsledek
{
  "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))

Přijímání a ukládání výsledků

Ailoot Ultra · Anthropic Messages

JSON nebo SSE

Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.

Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi
PoleTyp
PoleidTypstring
PolemodelTypstring
Polecontent[]Typtext|thinking|tool_use|other content block
Polestop_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot Ultra sora-2

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

sora-2

FAQ · sora-2
Jaké vstupy a výsledky jsou dostupné?

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

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

Jaká pole požadavek používá?

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

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

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva