API de generación de video Sora 2
Llama a sora-2 y sora-2-pro en APIMaster.ai para conversión de texto a video e imagen a video. El sondeo y las descargas utilizan URLs de APIMaster.
Generación de video Sora 2
Genera videos con Sora 2 a través de APIMaster. Modelos compatibles: sora-2, sora-2-pro. El nombre sora se asigna a sora-2.
URL base:
https://apimaster.ai/v1eshttps://apimaster.ai/v1. Usahttps://apimaster.ai/v1/videos/...— no agregues otro/v1.
Precios (20% de descuento sobre el oficial, por segundo)
La facturación es duración (segundos) × tarifa por segundo.
| Modelo | Resolución | Oficial | APIMaster |
|---|---|---|---|
sora-2 |
720p | $0.10 / seg | $0.08 / seg |
sora-2-pro |
720p | $0.30 / seg | $0.24 / seg |
sora-2-pro |
1024p | $0.50 / seg | $0.40 / seg |
sora-2-pro |
1080p | $0.70 / seg | $0.56 / seg |
Ejemplo: 4 segundos de sora-2 a 720p ≈ $0.32 ($0.08 × 4).
Enviar una tarea
Dos puntos de entrada: usa cualquiera.
Opción A (recomendada): JSON nativo
POST https://apimaster.ai/v1/videos/generations
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model |
string | sí | sora-2 / sora-2-pro (o sora) |
prompt |
string | sí | Descripción del video |
duration |
integer | no | Común: 4 / 8 / 12 / 16 / 20, por defecto 4 |
resolution |
string | no | sora-2: 720p; sora-2-pro: también 1024p / 1080p, por defecto 720p |
aspect_ratio |
string | no | 16:9 / landscape o 9:16 / portrait, por defecto 16:9 |
image_urls |
string[] | no | Imagen a video; se recomienda 1 URL pública |
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Una cascada formando un arcoíris, cinematográfica",
"duration": 4,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
Respuesta de envío
{
"code": 200,
"data": [
{
"status": "enviado",
"task_id": "task_xxxxxxxx"
}
]
}
Establece aspect_ratio explícitamente para imagen a video (retrato → 9:16). El valor por defecto es 16:9.
Opción B: Compatible con OpenAI Video
POST https://apimaster.ai/v1/videos (JSON o multipart)
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model |
string | sí | sora-2 / sora-2-pro (o sora) |
prompt |
string | sí | Descripción del video |
seconds |
string | no | Duración, ej. "4"; el entero duration también funciona, por defecto 4 |
size |
string | no | Tamaño en píxeles — resolución + orientación (tabla abajo), por defecto 720x1280 |
images |
string[] | no | Imagen a video; como máximo 1 URL. input_reference (único) también funciona |
Valores de size
| Modelo | Horizontal (16:9) | Retrato (9:16) |
|---|---|---|
sora-2 |
1280x720 (720p) |
720x1280 (720p) |
sora-2-pro |
1280x720 (720p) / 1792x1024 (1024p) |
720x1280 (720p) / 1024x1792 (1024p) |
Un
sizeno válido (ej.1920x1080) devuelve400 invalid_size. La ruta de OpenAI tiene un máximo de 1024p; usa la Opción A conresolution: "1080p"para 1080p.
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Una cascada formando un arcoíris, cinematográfica",
"seconds": "4",
"size": "1280x720"
}'
Respuesta de envío
{
"id": "task_xxxxxxxx",
"object": "video",
"model": "sora-2",
"status": "en cola"
}
Usa task_id / id de cualquiera de los dos puntos finales para sondeo y descarga.
Consultar el estado de la tarea
GET https://apimaster.ai/v1/videos/{task_id}
curl -s "https://apimaster.ai/v1/videos/task_xxxxxxxx" \
-H "Authorization: Bearer TU_API_KEY"
Ejemplo completado:
{
"id": "task_xxxxxxxx",
"status": "completado",
"url": "https://apimaster.ai/v1/videos/task_xxxxxxxx/content"
}
Descarga el MP4 a través de
https://apimaster.ai/v1/videos/{task_id}/content.
Descargar video
curl -L "https://apimaster.ai/v1/videos/task_xxxxxxxx/content" \
-H "Authorization: Bearer TU_API_KEY" \
-o output.mp4
Ejemplos de imagen a video
Opción A:
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Acercamiento lento, brisa suave en el cabello",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"image_urls": ["https://example.com/reference.jpg"]
}'
Opción B (campo images):
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Acercamiento lento, brisa suave en el cabello",
"seconds": "8",
"images": ["https://example.com/reference.jpg"]
}'
Consejos para el sondeo
- Espera 10–20 segundos después del envío; luego sondea cada 3–5 segundos
- Tiempo típico: 1–3 minutos
- Guarda el MP4 rápidamente después de la finalización
Códigos de error
| código | Significado |
|---|---|
| 400 | Parámetros no válidos (ej. invalid_size) |
| 401 | Clave API no válida |
| 402 | Saldo insuficiente |
| 429 | Límite de velocidad excedido |
| 500 / 502 | Error temporal, reintentar |