UlazAI API Documentatie
Sora 2 Videogeneratie API
Professionell videogenerering med OpenAI:s Sora 2-modell - Förvandla textmeddelanden eller bilder till högkvalitativa AI-videor.
🎉 Sora 2 lanseringsspecial: Få 20 % bonus på alla köp! Endast begränsad tid.
✨ Sora 2 funktioner
✅ Text-till-video generation
✅ Bild-till-video animation
✅ 10 sekunders videor vid 24 fps
✅ 1080p upplösning Utgång
✅ Flera bildförhållanden (16:9, 9:16, 1:1)
✅ Snabb bearbetning (~2-3 minuter)
✅ 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": "Ett fridfullt bergslandskap vid soluppgången med fåglar som flyger",
"aspect_ratio": "landskap", // Alternativ: "landskap", "stående", "fyrkantig"
"kvalitet": "standard" // Alternativ: "standard", "hög"
}
Parametrar
snabbt * (sträng)
Textbeskrivning av videon som ska genereras. Max 5000 tecken. Var beskrivande för bästa resultat.
aspekt_förhållande (sträng)
Videobildförhållande. Alternativ: landskap (16:9), porträtt (9:16), fyrkant (1:1). Standard: landskap
kvalitet (sträng)
Kvalitet förinställd. Alternativ: standard, hög. Hög kvalitet kräver mer handläggningstid. Standard: standard
prompt_directory_optin (Boolesk) 💰 -10 SP
Dela din video i vår offentliga promptkatalog och ta emot 10 krediter rabatt! Standard: sann
Framgångssvar (201)
{
"framgång": sant,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "bearbetar",
"estimated_completion": "2-3 minuter",
"credits_charged": 80,
"credits_remaining": 920,
"webhook_url": "https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/",
"message": "Sora 2-videogenerering startade framgångsrikt"
}
}
cURL exempel
curl -X POST https://ulazai.com/api/v1/sora/generate/text-to-video/ \
-H "Auktorisering: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Ett fridfullt bergslandskap vid soluppgången med fåglar som flyger över himlen",
"aspect_ratio": "landskap",
"kvalitet": "standard"
}'
/api/v1/sora/generate/image-to-video/
Skapa video från bild
Animera en statisk bild till en 10 sekunder lång video med Sora 2.
Begäran kropp
{
"image_url": "https://example.com/din-bild.jpg",
"prompt": "Kameran zoomar långsamt in när karaktären vänder sig och ler",
"aspect_ratio": "landskap",
"kvalitet": "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.
snabbt * (sträng)
Beskrivning av hur man animerar bilden. Max 5000 tecken.
aspekt_förhållande (sträng)
Bör 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 i vår offentliga promptkatalog och ta emot 10 krediter rabatt! Standard: sann
/api/v1/sora/status/{task_id}/
Kontrollera generationens status
Få aktuell status och resultatet av ett Sora-videogenereringsjobb.
Statens svar
Bearbetning
{
"framgång": sant,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "bearbetar",
"framsteg": 45,
"estimated_completion": "1-2 minuter"
}
}
Framgångar
{
"framgång": sant,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "framgång",
"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
{
"framgång": falskt,
"error": "Videogenerering misslyckades",
"error_details": "Innehållspolicyöverträdelse upptäcktes vid uppmaning",
"credits_refunded": 80
}
cURL exempel
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Auktorisering: Token YOUR_API_KEY"
💰 Sora 2-priser
Text-till-video
80 poäng
Video per 10 sekunder
• 1080p upplösning
• Alla bildförhållanden
• 2-3 minuters bearbetning
Bild-till-video
80 poäng
Per animation på 10 sekunder
• Animera varje bild
• Anpassade rörelsesignaler
• 2-3 minuters bearbetning
💡 Exempel: 25 € = 2 500 poäng ≈ 31 Sora-videos
📚 Bästa metoder
Snabba riktlinjer
- Var specifik om kamerarörelser (panorera, zooma, luta)
- Beskriv ljussättning och atmosfär
- Inkluderar karaktärshandlingar och uttryck
- Ange tidpunkten 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 (min. 1024px)
- Justera bildförhållandet för att undvika beskärning
- Beskriv realistiska rörelser 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
- Kontrollera hälsoslutpunkten för uppdateringar var 30:e sekund
- Misslyckade generationer återbetalar automatiskt krediter
⚠️ Felkoder
400
Ogiltiga begärandeparametrar eller för lång prompt
401
Ogiltig eller trasig API-nyckel
402
Otillräckliga poäng
422
Innehållspolicybrott
429
Frekvensgränsen har överskridits (max. 10 samtidigt)
500
Serverfel - krediter återbetalas
💻 Kodexempel
Python
importförfrågningar
importtid
API_KEY = "DIN_API_KEY"
BASE_URL = "https://ulazai.com/api/v1"
# Generera video
svar = requests.post(
f"{BASE_URL}/sora/generate/text-to-video/",
headers={"Authorization": f"Token {API_KEY}"},
json={
"prompt": "En vacker solnedgång över havet med vågor",
"aspect_ratio": "landskap",
"kvalitet": "standard"
}
)
if response.status_code == 201:
task_id = response.json()["data"]["task_id"]
# Enkät för status
medan det är sant:
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"] == "framgång":
print(f"Video klar: {status_data['video_url']}")
bryta
elif status_data["status"] == "misslyckades":
print("Generation misslyckades")
bryta
time.sleep(30) # Se 30 sekunder för nästa kontroll
JavaScript (Node.js)
const axios = require('axios');
const API_KEY = 'DIN_API_KEY';
const BASE_URL = 'https://ulazai.com/api/v1';
asynkron funktion genereraSoraVideo() {
prova {
// Skapa video
const response = invänta axios.post(
`${BASE_URL}/sora/generate/text-to-video/`,
{
uppmaning: 'En vacker solnedgång över havet med vågor',
aspect_ratio: 'landskap',
kvalitet: 'standard'
},
{
rubriker: { 'Authorization': `Token ${API_KEY}` }
}
);
const taskId = response.data.data.task_id;
console.log(`Generation start: ${taskId}`);
// Poll voor 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 === 'framgång') {
console.log(`Video redo: ${statusResponse.data.data.video_url}`);
} annat om (status === 'misslyckades') {
console.log('Generationen misslyckades');
} annat {
setTimeout(checkStatus, 30000); // Kontrollera igen om 30 sekunder
}
};
setTimeout(checkStatus, 30000);
} fånga (fel) {
console.error('Error:', error.response?.data || error.message);
}
}
genereraSoraVideo();
🚀 Redo att börja?
🎉 Begränsad tid: Få 20 % bonus på alla köp!