Přejít k obsahu

Dokumenty pro vývojáře UlazAI

Sora 2 API: generování videa, ceny a přístup

Sora 2 API: generování videa, ceny a přístup

Generujte videa Sora 2 prostřednictvím UlazAI s jasnými koncovými body, cenou kreditu, pravidly prompt, dotazováním na stav a zpracováním výstupu CDN.

Před generováním zkontrolujte aktuální cenu modelu Sora a nabídku aktivního účtu.

✨ Funkce Sora 2

✅ Převod textu na video generace

✅ Z obrázku na video animace

✅ Možnosti trvání zobrazena aktuální trasou API

✅ Nastavení výstupu zobrazeno v aktuální dokumentaci API

✅ Podporované poměry stran závisí na zvolené trase

✅ Asynchronní zpracování s průzkumem stavu

✅ Automatické úložiště R2 s CDN

✅ Upozornění e-mailem po dokončení

POST /api/v1/sora/generate/text-to-video/

Generování videa z textu

Vytvořte 10sekundové video z textového prompt pomocí Sora 2.

Tělo žádosti

{
  "prompt": "A serene mountain landscape at sunrise with birds flying",
  "aspect_ratio": "landscape",  // Options: "landscape", "portrait", "square"
  "quality": "standard"          // Options: "standard", "high"
}

Parametry

prompt * (řetězec)

Textový popis videa, které se má vygenerovat. Maximálně 5000 znaků. Chcete-li dosáhnout nejlepších výsledků, buďte popisní.

aspect_ratio (řetězec)

Poměr stran videa. Možnosti: landscape (16:9), portrait (9:16), square (1:1). Výchozí: landscape

kvalitní (řetězec)

Přednastavená kvalita. Možnosti: standard, high. Vysoká kvalita vyžaduje více času na zpracování. Výchozí: standard

prompt_directory_optin (logická hodnota) 💰 -10 KREDITŮ

Sdílejte své video do našeho veřejného adresáře Prompt a získejte sleva 10 kreditů! Výchozí: true

Úspěšná odpověď (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"
  }
}

Příklad cURL

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/

Generování videa z obrázku

Animujte statický obrázek do 10sekundového videa pomocí Sora 2.

Tělo žádosti

{
  "image_url": "https://example.com/your-image.jpg",
  "prompt": "Camera slowly zooms in as the character turns and smiles",
  "aspect_ratio": "landscape",
  "quality": "standard"
}

Parametry

image_url * (řetězec)

Adresa URL zdrojového obrázku k animaci. Musí být veřejně přístupné. Podporované formáty: JPG, PNG, WebP.

prompt * (řetězec)

Popis animace obrázku. Maximálně 5000 znaků.

aspect_ratio (řetězec)

Pro dosažení nejlepších výsledků musí odpovídat poměru stran zdrojového obrázku.

kvalitní (řetězec)

Přednastavená kvalita. Výchozí: standard

prompt_directory_optin (logická hodnota) 💰 -10 KREDITŮ

Sdílejte své video do našeho veřejného adresáře Prompt a získejte sleva 10 kreditů! Výchozí: true

GET /api/v1/sora/status/{task_id}/

Zkontrolujte stav generování

Získejte aktuální stav a výsledek úlohy generování videa Sora.

Státy reakce

Zpracování

{
  "success": true,
  "data": {
    "task_id": "sra_2_1234567890abcdef",
    "status": "processing",
    "progress": 45,
    "estimated_completion": "varies by queue"
  }
}

Úspěch

{
  "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"
  }
}

Nepodařilo se

{
  "success": false,
  "error": "Video generation failed",
  "error_details": "Content policy violation detected in prompt",
  "credits_refunded": 80
}

Příklad cURL

curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
  -H "Authorization: Token YOUR_API_KEY"

🔑 Přístup Sora 2 API: oficiální vs UlazAI

Přístup Sora 2 API závisí na poskytovateli, ověření organizace a úrovni účtu. Před integrací ověřte aktuální přístup a ceny.

Oficiální OpenAI API

  • Pozvánka / organizace-ověření brány
  • Účtováno za sekundu videa
  • Spravujete svůj vlastní klíč a kvóty OpenAI

Sora 2 na UlazAI

  • Zavolejte hned jedním tlačítkem UlazAI API – žádná samostatná pozvánka
  • Cena ve sdílených kreditech, refundace za neúspěšné úlohy
  • Stejná klávesa také volá Veo 3, Seedance a Kling - porovnejte náklady a latenci z jednoho zůstatku

Chcete nejprve zvážit Sora 2 s alternativami? Viz Průvodce video modely AI 2026.

💰 Cena Sora 2

Převod textu na video

Zkontrolujte aktuální cenu API

po zvolenou dobu trvání a model

• Zkontrolujte aktuální nastavení výstupu

• Zkontrolujte podporované poměry stran

• Doba zpracování se liší podle fronty

Z obrázku na video

Zkontrolujte aktuální cenu API

pro převod obrazu na video

• Nahrajte podporovaný obrázek, který můžete použít

• Vlastní pohyb prompts

• Doba zpracování se liší podle fronty

Vypočítejte svou dávku z aktuální ceny modelu a očekávané četnosti opakování.

📚 Nejlepší postupy

Pokyny Prompt

  • Buďte konkrétní ohledně pohybů kamery (posun, zoom, naklonění)
  • Popište osvětlení a atmosféru
  • Zahrňte akce a výrazy postav
  • Určete načasování pro klíčové momenty
  • Vyhněte se postavám nebo značkám chráněným autorským právem

Tipy pro přechod z obrázku na video

  • Používejte vysoce kvalitní zdrojové obrázky (min. 1024 pixelů)
  • Přizpůsobte poměr stran, abyste se vyhnuli oříznutí
  • Popište realistický pohyb pro scénu
  • Vezměte v úvahu fyziku a přirozený pohyb

Integrace webhooku

  • Videa se automaticky ukládají do R2 s doručováním CDN
  • E-mailová upozornění odeslaná po dokončení generování
  • Každých 30 sekund dotazujte koncový bod stavu na aktualizace
  • Neúspěšné generace automaticky vrátí kredity

⚠️ Chybové kódy

400 Neplatné parametry požadavku nebo příliš dlouhé prompt
401 Neplatný nebo chybějící klíč API
402 Nedostatek kreditů
422 Porušení obsahových zásad
429 Překročen limit rychlosti (max. 10 souběžných)
500 Chyba serveru – kredity budou vráceny

💻 Příklady kódů

Python

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();

🚀 Jste připraveni začít?

Zkontrolujte svůj účet pro aktuální nabídky kreditů.