UlazAI API Dokumentation
Sora 2 Videogenerierung API
Professionelle Videogenerierung mit dem Sora 2-Modell von OpenAI – Verwandeln Sie Textansagen oder Bilder in hochwertige KI-Videos.
🎉 Sora 2 Launch-Special: Erhalten Sie 20 % Bonusguthaben auf alle Einkäufe! Nur für begrenzte Zeit.
✨ Sora 2 Funktionen
✅ Text-zu-Video Generation
✅ Bild-zu-Video Animation
✅ 10-Sekunden-Videos bei 24fps
✅ 1080p-Auflösung Ausgabe
✅ Mehrere Seitenverhältnisse (16:9, 9:16, 1:1)
✅ Schnelle Bearbeitung (~2-3 Minuten)
✅ Automatische R2-Speicherung mit CDN
✅ E-Mail-Benachrichtigungen wenn es fertig ist
/api/v1/sora/generate/text-to-video/
Video aus Text generieren
Erstellen Sie mit Sora 2 ein 10-Sekunden-Video aus einer Textaufforderung.
Anforderungstext
{
"prompt": "A serene mountain landscape at sunrise with birds flying",
"aspect_ratio": "landscape", // Options: "landscape", "portrait", "square"
"quality": "standard" // Options: "standard", "high"
}
Parameter
prompt * (Zeichenfolge)
Textbeschreibung des zu generierenden Videos. Maximal 5000 Zeichen. Seien Sie beschreibend, um die besten Ergebnisse zu erzielen.
Aspektverhältnis (Zeichenfolge)
Video-Seitenverhältnis. Optionen: Landschaft (16:9), Porträt (9:16), Quadrat (1:1). Standard: Landschaft
Qualität (Zeichenfolge)
Qualitätsvoreinstellung. Optionen: Standard, hoch. Hohe Qualität benötigt mehr Bearbeitungszeit. Standard: Standard
prompt_directory_optin (Boolescher Wert) 💰 -10 CREDITS
Teilen Sie Ihr Video in unserem öffentlichen Prompt-Verzeichnis und erhalten Sie es 10 Credits Rabatt! Standard: true
Erfolgsantwort (201)
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"estimated_completion": "2-3 minutes",
"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-Beispiel
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/
Video aus Bild generieren
Animieren Sie ein statisches Bild mit Sora 2 in ein 10-Sekunden-Video.
Anforderungstext
{
"image_url": "https://example.com/your-image.jpg",
"prompt": "Camera slowly zooms in as the character turns and smiles",
"aspect_ratio": "landscape",
"quality": "standard"
}
Parameter
image_url * (Zeichenfolge)
URL des zu animierenden Quellbilds. Muss öffentlich zugänglich sein. Unterstützte Formate: JPG, PNG, WebP.
prompt * (Zeichenfolge)
Beschreibung, wie das Bild animiert wird. Maximal 5000 Zeichen.
Aspektverhältnis (Zeichenfolge)
Für optimale Ergebnisse muss das Seitenverhältnis des Quellbilds übereinstimmen.
Qualität (Zeichenfolge)
Qualitätsvoreinstellung. Standard: Standard
prompt_directory_optin (Boolescher Wert) 💰 -10 CREDITS
Teilen Sie Ihr Video in unserem öffentlichen Prompt-Verzeichnis und erhalten Sie es 10 Credits Rabatt! Standard: true
/api/v1/sora/status/{task_id}/
Überprüfen Sie den Generierungsstatus
Erhalten Sie den aktuellen Status und das Ergebnis einer Sora-Videogenerierungsaufgabe.
Antwortzustände
Verarbeitung
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"progress": 45,
"estimated_completion": "1-2 minutes"
}
}
Erfolg
{
"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"
}
}
Fehlgeschlagen
{
"success": false,
"error": "Video generation failed",
"error_details": "Content policy violation detected in prompt",
"credits_refunded": 80
}
cURL-Beispiel
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Authorization: Token YOUR_API_KEY"
💰 Sora 2 Preise
Text-zu-Video
80 Credits
Pro 10-Sekunden-Video
• 1080p-Auflösung
• Alle Seitenverhältnisse
• 2-3 Minuten Verarbeitung
Bild-zu-Video
80 Credits
Pro 10-Sekunden-Animation
• Animieren Sie jedes Bild
• Benutzerdefinierte Bewegungsaufforderungen
• 2-3 Minuten Verarbeitung
💡 Beispiel: 25 € = 2.500 Credits ≈ 31 Sora-Videos
📚 Best Practices
Sofortige Richtlinien
- Machen Sie genaue Angaben zu Kamerabewegungen (Schwenken, Zoomen, Neigen).
- Beschreiben Sie Licht und Atmosphäre
- Beziehen Sie Charakteraktionen und -ausdrücke ein
- Geben Sie den Zeitpunkt für Schlüsselmomente an
- Vermeiden Sie urheberrechtlich geschützte Charaktere oder Marken
Bild-zu-Video-Tipps
- Verwenden Sie hochwertige Quellbilder (mindestens 1024 Pixel)
- Passen Sie das Seitenverhältnis an, um ein Zuschneiden zu vermeiden
- Beschreiben Sie realistische Bewegungen für die Szene
- Berücksichtigen Sie Physik und natürliche Bewegung
Webhook-Integration
- Videos werden automatisch in R2 mit CDN-Lieferung gespeichert
- E-Mail-Benachrichtigungen werden gesendet, wenn die Generierung abgeschlossen ist
- Fragen Sie den Statusendpunkt alle 30 Sekunden nach Aktualisierungen ab
- Bei fehlgeschlagenen Generationen werden Credits automatisch zurückerstattet
⚠️ Fehlercodes
400
Ungültige Anforderungsparameter oder Eingabeaufforderung zu lang
401
Ungültiger oder fehlender API-Schlüssel
402
Unzureichende Credits
422
Verstoß gegen die Inhaltsrichtlinien
429
Ratenlimit überschritten (maximal 10 gleichzeitig)
500
Serverfehler – Credits werden zurückerstattet
💻 Codebeispiele
Python
import requests
import time
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://ulazai.com/api/v1"
# Video generieren
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"]
# Statusumfrage
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 bereit: {status_data['video_url']}")
break
elif status_data["status"] == "failed":
print("Generierung fehlgeschlagen")
break
time.sleep(30) # Warten Sie 30 Sekunden vor der nächsten Prüfung
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(`Generierung gestartet: ${taskId}`);
// Status abfragen
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();
🚀 Bereit zum Start?
🎉 Für begrenzte Zeit: Erhalten Sie 20 % Bonusguthaben auf alle Einkäufe!