Saltar para o conteúdo

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

POSTAR /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"
  }'
POSTAR /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

OBTER /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.