modelli

sora-2

Markdown · JSON

sora-2

Sora 2 crea video con dialoghi, effetti sonori e audio di sottofondo sincronizzati a partire da un testo o da un'immagine di riferimento. Il profilo standard supporta l'esplorazione visiva e le clip concettuali, con flussi separati del produttore per personaggi non umani riutilizzabili, continuazioni e modifiche video mirate.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

Sora 2 è il modello di generazione video e audio di OpenAI per clip dinamiche create da una descrizione scritta della scena o da un'immagine di riferimento. Genera la sequenza visiva insieme a parlato, effetti e suoni di sottofondo sincronizzati. Il profilo standard di Sora 2 è destinato all'esplorazione visiva, allo sviluppo di concept, ai prototipi e ai montaggi preliminari. Sora 2 Pro è un'edizione separata, orientata a una maggiore fedeltà visiva e alla rifinitura a risoluzione più alta.

Descrivi un'inquadratura da vedere e ascoltare

La guida ai prompt del produttore organizza un brief utile intorno a inquadratura, soggetto, azione, ambientazione e luce. Dai alla scena uno stile visivo coerente, poi descrivi il movimento in passaggi chiari. Un concept di prodotto originale potrebbe mostrare un piccolo oggetto meccanico che compie una rotazione su un banco da lavoro mentre la camera si avvicina lentamente, con una luce morbida dalla finestra e un tenue rumore di motore. Indica cosa deve notare lo spettatore e come termina l'azione.

Rendi comprensibili il movimento della camera e l'azione del soggetto in ogni inquadratura. Una sequenza complessa può essere divisa in blocchi di ripresa distinti, ciascuno con inquadratura, azione e illuminazione proprie. Mantieni gli stessi dettagli del soggetto e la stessa palette quando più clip devono formare una sequenza. La guida sottolinea che le riprese più brevi seguono generalmente le indicazioni in modo più affidabile e che generare più volte lo stesso prompt produce take differenti.

La presentazione del modello descrive un comportamento fisico migliorato e una maggiore continuità tra le inquadrature, anche negli stili realistico, cinematografico e anime. Sono capacità da dirigere e verificare. Controlla movimento, contatto tra gli oggetti, proporzioni e continuità, senza presumere che un primo fotogramma plausibile garantisca una sequenza coerente. Se un'azione è poco chiara, semplificala e assegnale un inizio e una fine visibili.

Dirigi separatamente dialoghi e suoni

Specifica le battute separatamente dalla descrizione visiva e identifica i parlanti in modo coerente. Mantieni i dialoghi abbastanza brevi da adattarsi all'azione e alla durata prevista della clip. Per un'animazione con due personaggi, alterna una domanda e una risposta brevi, invece di chiedere a una ripresa breve di ospitare un lungo discorso. La guida avverte che dialoghi complessi e lunghi possono compromettere ritmo e sincronizzazione.

Descrivi il paesaggio sonoro della scena: il suono di un piccolo movimento, l'ambiente acustico della stanza o il ritmo di un effetto ambientale. Spiega quale suono deve coincidere con l'azione. Ascolta il parlato e gli effetti ottenuti insieme alle immagini, verificando l'assegnazione delle voci, le parole e i tempi. L'audio sincronizzato fa parte della clip generata e non è una risposta testuale separata.

Dimensioni, durata e apertura guidata da un'immagine

Le dimensioni di output documentate per il modello standard sono 720×1280 in verticale e 1280×720 in orizzontale. Le risoluzioni superiori del profilo Pro non vanno attribuite a Sora 2 standard. Dimensioni e durata sono impostazioni esplicite della richiesta; scrivere dimensioni diverse o chiedere un film più lungo nel prompt non modifica tali impostazioni. Il riferimento per la creazione elenca durate di 4, 8 e 12 secondi: scegli quindi un'azione breve e definita quando prepari una ripresa. Il flusso esteso del produttore documenta anche durate di 16 e 20 secondi.

Un'immagine di riferimento fissa il primo fotogramma e il testo descrive ciò che accade dopo. Il produttore supporta riferimenti JPEG, PNG e WebP e richiede che l'immagine corrisponda alle dimensioni del video di destinazione. Prepara soggetto, ambiente e composizione nell'immagine iniziale, poi chiedi un movimento specifico. Si tratta di un riferimento per il fotogramma iniziale, non di una garanzia che ogni dettaglio resti identico per tutta la clip.

Personaggi non umani riutilizzabili

Il flusso esteso del produttore può creare una risorsa personaggio riutilizzabile da un breve video di riferimento di un animale, una mascotte o un oggetto. Le indicazioni di preparazione richiedono una clip MP4 di circa due-quattro secondi, da 720p a 1080p, in 16:9 o 9:16. Usare lo stesso rapporto d'aspetto per fonte e output aiuta a evitare un'immagine deformata. La generazione può fare riferimento a un massimo di due personaggi.

Conserva l'identificatore del personaggio e menzionane il nome nel prompt; passare il solo identificatore non completa la preparazione indicata dalla guida. Le risorse personaggio possono accompagnare una generazione guidata da immagine, ma le estensioni video non le accettano. Il produttore blocca per impostazione predefinita i caricamenti di personaggi con sembianze umane e rifiuta le immagini di riferimento contenenti volti umani nel flusso API documentato. Le funzioni dei personaggi personali dell'app Sora appartengono a un flusso di prodotto separato.

Continua o modifica una clip completata

Un'estensione riceve un video originale completato e un prompt di continuazione, usando l'intera clip come contesto per il movimento, la direzione della camera e la continuità della scena. La guida descrive aggiunte fino a 20 secondi per estensione. Gli input documentati per l'estensione sono il video originale e il testo; questa modalità esclude ulteriori riferimenti a personaggi o immagini. Descrivi come prosegue l'azione esistente, invece di introdurre una scena estranea senza transizione.

La modifica video mira a un cambiamento chiaro in una clip esistente. Una revisione mirata può cambiare il colore di un oggetto o la palette della scena, conservando il resto della ripresa. La guida del produttore raccomanda una modifica ben definita alla volta e distingue la modifica di un video generato dal caricamento di filmati arbitrari, soggetto a una condizione di ammissibilità separata. Conserva la fonte completata e identifica la revisione esatta necessaria prima di eseguire un'altra modifica.

Job di rendering e video completato

Il flusso video documentato dal produttore è asincrono: un job inviato può trovarsi in coda o in elaborazione prima di completarsi o fallire. Un job completato produce un video MP4; miniature e sprite sheet supportano l'anteprima e la consultazione. Mantieni l'identità del job associata al prompt, ai riferimenti e alle risorse restituite. La risposta iniziale al job non è il video finale riproducibile.

Il flusso di download ordinario indica una validità di un'ora per l'URL di download. Il flusso batch esteso prepara richieste di rendering JSON indipendenti con identificatori stabili degli elementi, riferimenti caricati e risultati ricondotti a ciascuna ripresa; le risorse completate hanno un periodo di download separato, fino a 24 ore. Salva tempestivamente la clip completata ed esamina le immagini e il suono effettivi prima di considerarla un take selezionato.

Le restrizioni sui contenuti dell'API documentate dal produttore richiedono materiale adatto a un pubblico di età inferiore ai 18 anni e rifiutano personaggi o musica protetti da copyright e la generazione di persone reali. Prepara la scena e i riferimenti di conseguenza. Il risultato diretto del modello è un video con audio, non immagini fisse generate, una risposta conversazionale di uno strumento o un film senza limiti di durata. Conserva l'identità esatta del modello standard e la clip originale accettata quando prosegui un concept visivo.

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

sora-2

Altro /sora-2

Introduzione

Sora 2 crea video con dialoghi, effetti sonori e audio di sottofondo sincronizzati a partire da un testo o da un'immagine di riferimento. Il profilo standard supporta l'esplorazione visiva e le clip concettuali, con flussi separati del produttore per personaggi non umani riutilizzabili, continuazioni e modifiche video mirate.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Chat Completions POST /v1/chat/completions
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON oppure text/event-stream
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
sora-2
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

owned_text_messages

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages
Parametromaterial_typesContrattotext
ParametromessagesContrattoarray di messaggi con role e content come stringa letterale
Parametrofile_materialContrattoIl materiale UTF-8 reale può essere inserito come contenuto di una stringa letterale; non viene dedotto alcun riferimento a file.
Parametrooptional_controlsContrattostream

Ciclo di vita: synchronous_json_or_sse

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe Ailoot

Prezzi per configurazione

ConfigurazioneListino delle tariffeCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseCosto
Input · Token in input $0 / 1K token
Output · Token in output $0.2 / 1K token
Input · Lettura dalla cache $0 / 1K token
Input · Scrittura nella cache $0 / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Chat Completions

curl · risposta JSON completaPython SDK · risposta JSON completacurl · conserva il flusso 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

Ricevi e salva i risultati

Ailoot Ultra · Chat Completions

JSON oppure text/event-stream

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i byte JSON o SSE, le intestazioni della risposta, i dati di utilizzo restituiti e tutti i campi del risultato forniti. Non viene dichiarata una famiglia di risultati specifica del modello.

Se occorre verificare la risposta originale

Conserva la risposta originale e l'identità del tentativo; non si deduce alcuna nuova interrogazione periodica di attività né un nuovo invio.

Campi della risposta
CampoTipoSignificato
Campocomplete response JSONTipoobjectSignificatoConserva ogni campo restituito senza presumere una famiglia di risultati specifica del modello.
CampoSSE data eventsTipostreamSignificatoConserva ogni evento restituito e ogni marcatore finale senza selezionare soltanto i campi di testo.

Alias

Alias del modello

Ailoot Ultra sora-2

Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

ID di chiamata correlati

sora-2

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

sora-2

Altro /sora-2

Introduzione

Sora 2 crea video con dialoghi, effetti sonori e audio di sottofondo sincronizzati a partire da un testo o da un'immagine di riferimento. Il profilo standard supporta l'esplorazione visiva e le clip concettuali, con flussi separati del produttore per personaggi non umani riutilizzabili, continuazioni e modifiche video mirate.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Anthropic Messages POST /v1/messages
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
sora-2
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
user, assistant
Predefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomax_tokensTipointegerRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF-8

Stringa messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages, max_tokens
Parametrooptional_controlsContrattostream
Parametromaterial_typesContrattotext
Parametrotext_file_materialContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio.

Ciclo di vita: synchronous_or_streamed

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe Ailoot

Prezzi per configurazione

ConfigurazioneListino delle tariffeCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseCosto
Input · Token in input $0 / 1K token
Output · Token in output $0.2 / 1K token
Input · Lettura dalla cache $0 / 1K token
Input · Scrittura nella cache $0 / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo
{
  "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))

Ricevi e salva i risultati

Ailoot Ultra · Anthropic Messages

JSON o SSE

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra sora-2

Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

ID di chiamata correlati

sora-2

FAQ · sora-2
Quali input e risultati sono disponibili?

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

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

Quali campi usa la richiesta?

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

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

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza