Documenti per sviluppatori UlazAI
Sora 2 API: generazione video, prezzi e accesso
Sora 2 API: generazione video, prezzi e accesso
Genera video Sora 2 tramite UlazAI con endpoint chiari, determinazione del prezzo del credito, regole prompt, polling dello stato e gestione dell'output CDN.
Controlla il prezzo attuale del modello Sora e qualsiasi offerta di account attiva prima della generazione.
✨ Caratteristiche Sora 2
✅ Da testo a video generazione
✅ Da immagine a video animazione
✅ Opzioni di durata mostrato dal percorso corrente API
✅ Impostazioni di uscita mostrato nella documentazione API corrente
✅ Rapporti d'aspetto supportati dipendono dal percorso selezionato
✅ Elaborazione asincrona con sondaggio sullo stato
✅ Memorizzazione automatica R2 con CDN
✅ Notifiche e-mail una volta completato
/api/v1/sora/generate/text-to-video/
Genera video dal testo
Crea un video di 10 secondi da un testo prompt utilizzando Sora 2.
Richiedi corpo
{
"prompt": "A serene mountain landscape at sunrise with birds flying",
"aspect_ratio": "landscape", // Options: "landscape", "portrait", "square"
"quality": "standard" // Options: "standard", "high"
}
Parametri
prompt * (stringa)
Descrizione testuale del video da generare. Massimo 5000 caratteri. Sii descrittivo per ottenere i migliori risultati.
aspect_ratio (stringa)
Proporzioni video. Opzioni: landscape (16:9), portrait (9:16), square (1:1). Predefinito: landscape
qualità (stringa)
Preimpostazione della qualità. Opzioni: standard, high. L'alta qualità richiede più tempo di elaborazione. Predefinito: standard
prompt_directory_optin (booleano) 💰 -10 CREDITI
Condividi il tuo video nella nostra directory pubblica Prompt e ottieni Sconto di 10 crediti! Predefinito: true
Risposta positiva (201)
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"estimated_completion": "varies by queue",
"credits_charged": 80,
"credits_remaining": 920,
"webhook_url": "https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/",
"message": "Sora 2 video generation started successfully"
}
}
Esempio di arricciatura
curl -X POST https://ulazai.com/api/v1/sora/generate/text-to-video/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A serene mountain landscape at sunrise with birds flying across the sky",
"aspect_ratio": "landscape",
"quality": "standard"
}'
/api/v1/sora/generate/image-to-video/
Genera video dall'immagine
Anima un'immagine statica in un video di 10 secondi utilizzando Sora 2.
Richiedi corpo
{
"image_url": "https://example.com/your-image.jpg",
"prompt": "Camera slowly zooms in as the character turns and smiles",
"aspect_ratio": "landscape",
"quality": "standard"
}
Parametri
image_url * (stringa)
URL dell'immagine sorgente da animare. Deve essere accessibile al pubblico. Formati supportati: JPG, PNG, WebP.
prompt * (stringa)
Descrizione di come animare l'immagine. Massimo 5000 caratteri.
aspect_ratio (stringa)
Deve corrispondere alle proporzioni dell'immagine sorgente per ottenere i migliori risultati.
qualità (stringa)
Preimpostazione della qualità. Predefinito: standard
prompt_directory_optin (booleano) 💰 -10 CREDITI
Condividi il tuo video nella nostra directory pubblica Prompt e ottieni Sconto di 10 crediti! Predefinito: true
/api/v1/sora/status/{task_id}/
Controlla lo stato della generazione
Ottieni lo stato corrente e il risultato di un'attività di generazione video di Sora.
Stati di risposta
Elaborazione
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"progress": 45,
"estimated_completion": "varies by queue"
}
}
Successo
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "success",
"video_url": "https://cdn.ulazai.com/sora/videos/sra_2_1234567890abcdef.mp4",
"thumbnail_url": "https://cdn.ulazai.com/sora/thumbnails/sra_2_1234567890abcdef.jpg",
"duration": 10,
"resolution": "1920x1080",
"file_size": "15.2 MB",
"created_at": "2025-01-03T10:15:30Z"
}
}
Fallito
{
"success": false,
"error": "Video generation failed",
"error_details": "Content policy violation detected in prompt",
"credits_refunded": 80
}
Esempio di arricciatura
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Authorization: Token YOUR_API_KEY"
🔑 Accesso Sora 2 API: ufficiale vs UlazAI
Sora 2 API accesso dipende dal fornitore, dalla verifica dell'organizzazione e dal livello dell'account. Verifica l'accesso e i prezzi attuali prima dell'integrazione.
Ufficiale OpenAI API
- Invito/verifica dell'organizzazione controllata
- Fatturato per secondo di video
- Gestisci la tua chiave OpenAI e le tue quote
Sora 2 su UlazAI
- Chiamalo ora con una chiave UlazAI API - nessun invito separato
- Prezzo in crediti condivisi, rimborsato in caso di lavori falliti
- La stessa chiave chiama anche Veo 3, Seedance e Kling: confronta costi e latenza da un saldo
Vuoi prima valutare Sora 2 rispetto alle alternative? Vedi il Guida ai modelli video AI 2026.
💰Prezzi Sora 2
Testo in video
Controlla i prezzi attuali di API
per la durata e il modello selezionati
• Controllare le impostazioni di uscita correnti
• Controllare le proporzioni supportate
• Il tempo di elaborazione varia in base alla coda
Immagine in video
Controlla i prezzi attuali di API
per la conversione da immagine a video
• Carica un'immagine supportata che potresti utilizzare
• Movimento personalizzato prompts
• Il tempo di elaborazione varia in base alla coda
Calcola il tuo batch in base al costo del modello corrente e alla frequenza di tentativi prevista.
📚 Migliori pratiche
Prompt Linee guida
- Sii specifico riguardo ai movimenti della telecamera (panoramica, zoom, inclinazione)
- Descrivi l'illuminazione e l'atmosfera
- Includi azioni ed espressioni dei personaggi
- Specificare i tempi per i momenti chiave
- Evita personaggi o marchi protetti da copyright
Suggerimenti per trasformare l'immagine in video
- Utilizza immagini sorgente di alta qualità (min 1024px)
- Abbina le proporzioni per evitare il ritaglio
- Descrivi il movimento realistico della scena
- Considera la fisica e il movimento naturale
Integrazione del webhook
- I video vengono automaticamente archiviati in R2 con consegna CDN
- Notifiche e-mail inviate al termine della generazione
- Eseguire il polling dell'endpoint di stato ogni 30 secondi per gli aggiornamenti
- Le generazioni fallite rimborsano automaticamente i crediti
⚠️ Codici di errore
400
Parametri della richiesta non validi o prompt troppo lungo
401
Chiave API non valida o mancante
402
Crediti insufficienti
422
Violazione delle norme sui contenuti
429
Limite di velocità superato (max 10 simultanei)
500
Errore del server: i crediti verranno rimborsati
💻 Esempi di codici
Pitone
import requests
import time
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://ulazai.com/api/v1"
# Generate video
response = requests.post(
f"{BASE_URL}/sora/generate/text-to-video/",
headers={"Authorization": f"Token {API_KEY}"},
json={
"prompt": "A beautiful sunset over the ocean with waves",
"aspect_ratio": "landscape",
"quality": "standard"
}
)
if response.status_code == 201:
task_id = response.json()["data"]["task_id"]
# Poll for status
while True:
status_response = requests.get(
f"{BASE_URL}/sora/status/{task_id}/",
headers={"Authorization": f"Token {API_KEY}"}
)
status_data = status_response.json()["data"]
if status_data["status"] == "success":
print(f"Video ready: {status_data['video_url']}")
break
elif status_data["status"] == "failed":
print("Generation failed")
break
time.sleep(30) # Wait 30 seconds before next check
Javascript (node.js)
const axios = require('axios');
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://ulazai.com/api/v1';
async function generateSoraVideo() {
try {
// Generate video
const response = await axios.post(
`${BASE_URL}/sora/generate/text-to-video/`,
{
prompt: 'A beautiful sunset over the ocean with waves',
aspect_ratio: 'landscape',
quality: 'standard'
},
{
headers: { 'Authorization': `Token ${API_KEY}` }
}
);
const taskId = response.data.data.task_id;
console.log(`Generation started: ${taskId}`);
// Poll for status
const checkStatus = async () => {
const statusResponse = await axios.get(
`${BASE_URL}/sora/status/${taskId}/`,
{ headers: { 'Authorization': `Token ${API_KEY}` } }
);
const status = statusResponse.data.data.status;
if (status === 'success') {
console.log(`Video ready: ${statusResponse.data.data.video_url}`);
} else if (status === 'failed') {
console.log('Generation failed');
} else {
setTimeout(checkStatus, 30000); // Check again in 30 seconds
}
};
setTimeout(checkStatus, 30000);
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
generateSoraVideo();
🚀 Pronti per iniziare?
Controlla il tuo account per le offerte di credito attuali.