UlazAI ontwikkelaarsdocumentatie
Sora 2 API: videogeneratie, prijzen en toegang
Sora 2 API: videogeneratie, prijzen en toegang
Genereer Sora 2-video's via UlazAI met duidelijke eindpunten, kredietprijzen, promptregels, statusonderzoek en verwerking van CDN-uitvoer.
Controleer vóór generatie de huidige Sora-modelprijs en eventuele actieve accountaanbiedingen.
✨ Sora 2-functies
✅ Tekst-naar-video generatie
✅ Afbeelding-naar-video animatie
✅ Duur opties weergegeven door de huidige API-route
✅ Uitvoerinstellingen weergegeven in de huidige API-documentatie
✅ Ondersteunde beeldverhoudingen afhankelijk van de gekozen route
✅ Asynchrone verwerking met statusonderzoek
✅ Automatische R2-opslag met CDN
✅ E-mailmeldingen wanneer voltooid
/api/v1/sora/generate/text-to-video/
Genereer video uit tekst
Maak een video van 10 seconden vanaf een tekstprompt met Sora 2.
Verzoek lichaam
{
"prompt": "A serene mountain landscape at sunrise with birds flying",
"aspect_ratio": "landscape", // Options: "landscape", "portrait", "square"
"quality": "standard" // Options: "standard", "high"
}
Parameters
prompt * (tekenreeks)
Tekstbeschrijving van de te genereren video. Maximaal 5000 tekens. Wees beschrijvend voor het beste resultaat.
aspect_ratio (tekenreeks)
Video-beeldverhouding. Opties: landscape (16:9), portrait (9:16), square (1:1). Standaard: landscape
kwaliteit (tekenreeks)
Kwaliteit vooraf ingesteld. Opties: standard, high. Hoge kwaliteit vergt meer verwerkingstijd. Standaard: standard
prompt_directory_optin (Booleaans) 💰 -10 KREDIETEN
Deel uw video op onze openbare Prompt Directory en ontvang 10 credits korting! Standaard: true
Succesreactie (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-voorbeeld
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/
Genereer video uit afbeelding
Animeer een statische afbeelding tot een video van 10 seconden met Sora 2.
Verzoek lichaam
{
"image_url": "https://example.com/your-image.jpg",
"prompt": "Camera slowly zooms in as the character turns and smiles",
"aspect_ratio": "landscape",
"quality": "standard"
}
Parameters
image_url * (tekenreeks)
URL van de bronafbeelding die moet worden geanimeerd. Moet openbaar toegankelijk zijn. Ondersteunde formaten: JPG, PNG, WebP.
prompt * (tekenreeks)
Beschrijving van hoe u de afbeelding kunt animeren. Maximaal 5000 tekens.
aspect_ratio (tekenreeks)
Moet overeenkomen met de beeldverhouding van de bronafbeelding voor de beste resultaten.
kwaliteit (tekenreeks)
Kwaliteit vooraf ingesteld. Standaard: standard
prompt_directory_optin (Booleaans) 💰 -10 KREDIETEN
Deel uw video op onze openbare Prompt Directory en ontvang 10 credits korting! Standaard: true
/api/v1/sora/status/{task_id}/
Controleer de generatiestatus
Ontvang de huidige status en het resultaat van een Sora-videogeneratietaak.
Reactie Staten
Verwerking
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"progress": 45,
"estimated_completion": "varies by queue"
}
}
Succes
{
"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"
}
}
Mislukt
{
"success": false,
"error": "Video generation failed",
"error_details": "Content policy violation detected in prompt",
"credits_refunded": 80
}
cURL-voorbeeld
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Authorization: Token YOUR_API_KEY"
🔑 Sora 2 API toegang: officieel versus UlazAI
Sora 2 API toegang hangt af van de provider, organisatieverificatie en accountniveau. Controleer de huidige toegang en prijzen vóór de integratie.
Officiële OpenAI API
- Uitnodiging / organisatie-verificatie afgesloten
- Gefactureerd per seconde video
- U beheert uw eigen OpenAI-sleutel en quota
Sora 2 op UlazAI
- Bel het nu met één UlazAI API-sleutel - geen aparte uitnodiging
- Geprijsd in gedeelde credits, terugbetaald bij mislukte opdrachten
- Dezelfde sleutel roept ook Veo 3, Seedance en Kling aan - vergelijk kosten en latentie vanuit één saldo
Wilt u Sora 2 eerst afwegen tegen de alternatieven? Zie de Gids voor AI-videomodellen uit 2026.
💰 Sora 2-prijzen
Tekst-naar-video
Bekijk de huidige API-prijzen
voor de geselecteerde duur en model
• Controleer de huidige uitvoerinstellingen
• Controleer ondersteunde beeldverhoudingen
• De verwerkingstijd verschilt per wachtrij
Afbeelding-naar-video
Bekijk de huidige API-prijzen
voor beeld-naar-video
• Upload een ondersteunde afbeelding die u mogelijk gebruikt
• Aangepaste beweging prompts
• De verwerkingstijd verschilt per wachtrij
Bereken uw batch op basis van de huidige modelkosten en het verwachte aantal nieuwe pogingen.
📚 Beste praktijken
Prompt-richtlijnen
- Wees specifiek over camerabewegingen (pannen, zoomen, kantelen)
- Beschrijf verlichting en sfeer
- Inclusief karakteracties en -uitdrukkingen
- Geef de timing op voor belangrijke momenten
- Vermijd auteursrechtelijk beschermde tekens of merken
Tips voor afbeelding naar video
- Gebruik bronafbeeldingen van hoge kwaliteit (min. 1024px)
- Pas de beeldverhouding aan om bijsnijden te voorkomen
- Beschrijf realistische bewegingen voor de scène
- Denk aan natuurkunde en natuurlijke beweging
Webhook-integratie
- Video's worden automatisch opgeslagen in R2 met CDN-levering
- E-mailmeldingen verzonden wanneer het genereren is voltooid
- Controleer het statuseindpunt elke 30 seconden op updates
- Mislukte generaties betalen credits automatisch terug
⚠️ Foutcodes
400
Ongeldige aanvraagparameters of prompt te lang
401
Ongeldige of ontbrekende API-sleutel
402
Onvoldoende kredieten
422
Schending van het inhoudsbeleid
429
Tarieflimiet overschreden (max. 10 gelijktijdig)
500
Serverfout - credits worden terugbetaald
💻 Codevoorbeelden
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();
🚀 Klaar om te beginnen?
Controleer uw account voor actuele kredietaanbiedingen.