Documentos do desenvolvedor UlazAI
Sora 2 API: geração de vídeo, preços e acesso
Sora 2 API: geração de vídeo, preços e acesso
Gere vídeos Sora 2 por meio de UlazAI com endpoints claros, preços de crédito, regras imediatas, pesquisa de status e manipulação de saída CDN.
Verifique o preço atual do modelo Sora e qualquer oferta de conta ativa antes da geração.
✨ Recursos Sora 2
✅ Texto para vídeo geração
✅ Imagem para vídeo animação
✅ Opções de duração mostrado pela rota API atual
✅ Configurações de saída mostrado na documentação atual do API
✅ Proporções suportadas depende da rota selecionada
✅ Processamento assíncrono com pesquisa de status
✅ Armazenamento R2 automático com CDN
✅ Notificações por e-mail quando completo
/api/v1/sora/generate/text-to-video/
Gerar vídeo a partir de texto
Crie um vídeo de 10 segundos a partir de um prompt de texto usando Sora 2.
Corpo da Solicitação
{
"prompt": "A serene mountain landscape at sunrise with birds flying",
"aspect_ratio": "landscape", // Options: "landscape", "portrait", "square"
"quality": "standard" // Options: "standard", "high"
}
Parâmetros
incitar * (corda)
Descrição de texto do vídeo a ser gerado. Máximo de 5.000 caracteres. Seja descritivo para obter melhores resultados.
aspect_ratio (corda)
Proporção do vídeo. Opções: landscape (16:9), portrait (9:16), square (1:1). Padrão: landscape
qualidade (corda)
Predefinição de qualidade. Opções: standard, high. Alta qualidade consome mais tempo de processamento. Padrão: standard
prompt_directory_optin (booleano) 💰 -10 CRÉDITOS
Compartilhe seu vídeo em nosso diretório de prompt público e obtenha Desconto de 10 créditos! Padrão: true
Resposta de sucesso (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"
}
}
Exemplo de 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"
}'
/api/v1/sora/generate/image-to-video/
Gerar vídeo a partir de imagem
Anime uma imagem estática em um vídeo de 10 segundos usando Sora 2.
Corpo da Solicitação
{
"image_url": "https://example.com/your-image.jpg",
"prompt": "Camera slowly zooms in as the character turns and smiles",
"aspect_ratio": "landscape",
"quality": "standard"
}
Parâmetros
image_url * (corda)
URL da imagem de origem a ser animada. Deve ser acessível ao público. Formatos suportados: JPG, PNG, WebP.
incitar * (corda)
Descrição de como animar a imagem. Máximo de 5.000 caracteres.
aspect_ratio (corda)
Deve corresponder à proporção da imagem de origem para obter melhores resultados.
qualidade (corda)
Predefinição de qualidade. Padrão: standard
prompt_directory_optin (booleano) 💰 -10 CRÉDITOS
Compartilhe seu vídeo em nosso diretório de prompt público e obtenha Desconto de 10 créditos! Padrão: true
/api/v1/sora/status/{task_id}/
Verifique o status da geração
Obtenha o status atual e o resultado de uma tarefa de geração de vídeo Sora.
Estados de resposta
Processamento
{
"success": true,
"data": {
"task_id": "sra_2_1234567890abcdef",
"status": "processing",
"progress": 45,
"estimated_completion": "varies by queue"
}
}
Sucesso
{
"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"
}
}
Fracassado
{
"success": false,
"error": "Video generation failed",
"error_details": "Content policy violation detected in prompt",
"credits_refunded": 80
}
Exemplo de cURL
curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
-H "Authorization: Token YOUR_API_KEY"
🔑 Acesso Sora 2 API: oficial vs UlazAI
Acesso Sora 2 API depende do provedor, da verificação da organização e do nível da conta. Verifique o acesso e os preços atuais antes da integração.
Oficial OpenAI API
- Convite/verificação da organização bloqueada
- Faturado por segundo de vídeo
- Você gerencia sua própria chave e cotas OpenAI
Sora 2 em UlazAI
- Ligue agora com uma chave UlazAI API - sem convite separado
- Precificado em créditos compartilhados, reembolsado em trabalhos com falha
- A mesma chave também chama Veo 3, Seedance e Kling - compare custo e latência de um equilíbrio
Quer pesar Sora 2 primeiro com as alternativas? Veja o Guia de modelos de vídeo AI 2026.
💰 Preço Sora 2
Texto para vídeo
Verifique os preços atuais do API
para a duração e modelo selecionados
• Verifique as configurações de saída atuais
• Verifique as proporções suportadas
• O tempo de processamento varia de acordo com a fila
Imagem para vídeo
Verifique os preços atuais do API
para imagem para vídeo
• Faça upload de uma imagem compatível que você possa usar
• Prompts de movimento personalizados
• O tempo de processamento varia de acordo com a fila
Calcule seu lote com base no custo do modelo atual e na taxa de novas tentativas esperada.
📚 Melhores práticas
Diretrizes de prompt
- Seja específico sobre os movimentos da câmera (panorâmica, zoom, inclinação)
- Descreva a iluminação e a atmosfera
- Incluir ações e expressões dos personagens
- Especifique o tempo para os momentos-chave
- Evite personagens ou marcas protegidas por direitos autorais
Dicas de imagem para vídeo
- Use imagens de origem de alta qualidade (mín. 1024px)
- Combine a proporção para evitar cortes
- Descreva o movimento realista da cena
- Considere a física e o movimento natural
Integração de webhook
- Os vídeos são armazenados automaticamente em R2 com entrega CDN
- Notificações por e-mail enviadas quando a geração for concluída
- Pesquise o endpoint de status a cada 30 segundos para atualizações
- Gerações falhadas reembolsam créditos automaticamente
⚠️ Códigos de erro
400
Parâmetros de solicitação inválidos ou prompt muito longo
401
Chave API inválida ou ausente
402
Créditos insuficientes
422
Violação da política de conteúdo
429
Limite de taxa excedido (máximo de 10 simultâneos)
500
Erro no servidor - os créditos serão reembolsados
💻 Exemplos de código
Pitão
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();
🚀 Pronto para começar?
Verifique sua conta para ofertas de crédito atuais.