UlazAI utvecklardokument
Sora 2 API: videogenerering, prissättning och åtkomst
Sora 2 API: videogenerering, prissättning och åtkomst
Generera Sora 2-videor genom UlazAI med tydliga slutpunkter, kreditprissättning, prompt-regler, statusundersökning och CDN-utdatahantering.
Kontrollera det aktuella priset på Sora-modellen och eventuellt aktivt kontoerbjudande innan generering.
✨ Sora 2 funktioner
✅ Text-till-video generation
✅ Bild-till-video animation
✅ Alternativ för varaktighet visas av den aktuella API-rutten
✅ Utgångsinställningar visas i den aktuella API-dokumentationen
✅ Bildförhållanden som stöds beror på den valda rutten
✅ Asynkron bearbetning med statusundersökning
✅ Automatisk R2-lagring med CDN
✅ E-postmeddelanden när den är klar
/api/v1/sora/generate/text-to-video/
Skapa video från text
Skapa en 10-sekunders video från en textprompt med Sora 2.
Begäran kropp
{
"prompt": "A serene mountain landscape at sunrise with birds flying",
"aspect_ratio": "landscape", // Options: "landscape", "portrait", "square"
"quality": "standard" // Options: "standard", "high"
}
Parametrar
prompt * (sträng)
Textbeskrivning av videon som ska genereras. Max 5000 tecken. Var beskrivande för bästa resultat.
aspect_ratio (sträng)
Videobildförhållande. Alternativ: landscape (16:9), portrait (9:16), square (1:1). Standard: landscape
kvalitet (sträng)
Kvalitet förinställd. Alternativ: standard, high. Hög kvalitet kräver mer handläggningstid. Standard: standard
prompt_directory_optin (boolesk) 💰 -10 SP
Dela din video till vår offentliga Prompt-katalog och få 10 krediter rabatt! Standard: true
Framgångssvar (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"
}
}
cURL Exempel
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/
Generera video från bild
Animera en statisk bild till en 10-sekunders video med Sora 2.
Begäran kropp
{
"image_url": "https://example.com/your-image.jpg",
"prompt": "Camera slowly zooms in as the character turns and smiles",
"aspect_ratio": "landscape",
"quality": "standard"
}
Parametrar
image_url * (sträng)
URL till källbilden som ska animeras. Måste vara allmänt tillgänglig. Format som stöds: JPG, PNG, WebP.
prompt * (sträng)
Beskrivning av hur man animerar bilden. Max 5000 tecken.
aspect_ratio (sträng)
Måste matcha källbildens bildförhållande för bästa resultat.
kvalitet (sträng)
Kvalitet förinställd. Standard: standard
prompt_directory_optin (boolesk) 💰 -10 SP
Dela din video till vår offentliga Prompt-katalog och få 10 krediter rabatt! Standard: true
/api/v1/sora/status/{task_id}/
Kontrollera Generationsstatus
Få aktuell status och resultatet av en Sora-videogenereringsuppgift.
Responsstater
Bearbetning
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"progress": 45,
"estimated_completion": "varies by queue"
}
}
Framgång
{
"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"
}
}
Misslyckades
{
"success": false,
"error": "Video generation failed",
"error_details": "Content policy violation detected in prompt",
"credits_refunded": 80
}
cURL Exempel
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Authorization: Token YOUR_API_KEY"
🔑 Sora 2 API åtkomst: officiell vs UlazAI
Sora 2 API åtkomst beror på leverantör, organisationsverifiering och kontonivå. Verifiera aktuell åtkomst och prissättning före integration.
Officiell OpenAI API
- Inbjudan/organisation-verifiering gated
- Faktureras per sekund av video
- Du hanterar din egen OpenAI-nyckel och kvoter
Sora 2 på UlazAI
- Ring det nu med en UlazAI API-nyckel - ingen separat inbjudan
- Prissatt i delade krediter, återbetalas på misslyckade jobb
- Samma nyckel anropar även Veo 3, Seedance och Kling - jämför kostnad och latens från en balans
Vill du väga Sora 2 mot alternativen först? Se den 2026 AI-videomodellguide.
💰 Sora 2 Prissättning
Text-till-video
Kontrollera aktuella API-priser
för vald varaktighet och modell
• Kontrollera aktuella utgångsinställningar
• Kontrollera vilka bildförhållanden som stöds
• Handläggningstiden varierar beroende på kö
Bild-till-video
Kontrollera aktuella API-priser
för bild-till-video
• Ladda upp en bild som stöds som du kan använda
• anpassade rörelser prompts
• Handläggningstiden varierar beroende på kö
Beräkna din batch från aktuell modellkostnad och förväntad återförsöksfrekvens.
📚 Bästa metoder
Prompt riktlinjer
- Var specifik om kamerarörelser (panorera, zooma, luta)
- Beskriv ljus och atmosfär
- Inkludera karaktärshandlingar och uttryck
- Ange timing för viktiga ögonblick
- Undvik upphovsrättsskyddade tecken eller varumärken
Tips för bild-till-video
- Använd källbilder av hög kvalitet (minst 1024px)
- Matcha bildförhållandet för att undvika beskärning
- Beskriv realistisk rörelse för scenen
- Tänk på fysik och naturlig rörelse
Webhook-integration
- Videor lagras automatiskt i R2 med CDN-leverans
- E-postmeddelanden skickas när genereringen är klar
- Fråga statusslutpunkten var 30:e sekund för uppdateringar
- Misslyckade generationer återbetalar automatiskt krediter
⚠️ Felkoder
400
Ogiltiga begärandeparametrar eller för lång prompt
401
Ogiltig eller saknad API-nyckel
402
Otillräckliga krediter
422
Brott mot innehållspolicy
429
Frekvensgränsen har överskridits (max 10 samtidigt)
500
Serverfel - krediter kommer att återbetalas
💻 Kodexempel
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();
🚀 Redo att börja?
Kontrollera ditt konto för aktuella krediterbjudanden.