Vai al contenuto

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

POST /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"
  }'
POST /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

OTTIENI /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.