API de génération vidéo Sora 2
Appelez sora-2 et sora-2-pro sur APIMaster.ai pour la génération texte-vers-vidéo et image-vers-vidéo. Le sondage et les téléchargements utilisent les URL APIMaster.
Génération vidéo Sora 2
Générez des vidéos avec Sora 2 via APIMaster. Modèles pris en charge : sora-2, sora-2-pro. Le nom sora correspond à sora-2.
URL de base :
https://apimaster.ai/v1esthttps://apimaster.ai/v1. Utilisezhttps://apimaster.ai/v1/videos/...— n'ajoutez pas un autre/v1.
Tarification (20 % de réduction sur le tarif officiel, par seconde)
La facturation est basée sur la durée (secondes) × tarif par seconde.
| Modèle | Résolution | Officiel | APIMaster |
|---|---|---|---|
sora-2 |
720p | 0,10 $ / sec | 0,08 $ / sec |
sora-2-pro |
720p | 0,30 $ / sec | 0,24 $ / sec |
sora-2-pro |
1024p | 0,50 $ / sec | 0,40 $ / sec |
sora-2-pro |
1080p | 0,70 $ / sec | 0,56 $ / sec |
Exemple : 4 secondes de sora-2 en 720p ≈ 0,32 $ (0,08 $ × 4).
Soumettre une tâche
Deux points d'entrée — utilisez l'un ou l'autre.
Option A (recommandée) : JSON natif
POST https://apimaster.ai/v1/videos/generations
| Champ | Type | Requis | Description |
|---|---|---|---|
model |
chaîne | oui | sora-2 / sora-2-pro (ou sora) |
prompt |
chaîne | oui | Description de la vidéo |
duration |
entier | non | Courant : 4 / 8 / 12 / 16 / 20, par défaut 4 |
resolution |
chaîne | non | sora-2 : 720p ; sora-2-pro : également 1024p / 1080p, par défaut 720p |
aspect_ratio |
chaîne | non | 16:9 / landscape ou 9:16 / portrait, par défaut 16:9 |
image_urls |
chaîne[] | non | Image-vers-vidéo ; 1 URL publique recommandée |
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Une cascade formant un arc-en-ciel, cinématographique",
"duration": 4,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
Réponse de soumission
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_xxxxxxxx"
}
]
}
Définissez aspect_ratio explicitement pour l'image-vers-vidéo (portrait → 9:16). La valeur par défaut est 16:9.
Option B : Compatible OpenAI Video
POST https://apimaster.ai/v1/videos (JSON ou multipart)
| Champ | Type | Requis | Description |
|---|---|---|---|
model |
chaîne | oui | sora-2 / sora-2-pro (ou sora) |
prompt |
chaîne | oui | Description de la vidéo |
seconds |
chaîne | non | Durée, par ex. "4" ; l'entier duration fonctionne aussi, par défaut 4 |
size |
chaîne | non | Taille en pixels — résolution + orientation (tableau ci-dessous), par défaut 720x1280 |
images |
chaîne[] | non | Image-vers-vidéo ; au maximum 1 URL. input_reference (unique) fonctionne aussi |
Valeurs size
| Modèle | Paysage (16:9) | Portrait (9:16) |
|---|---|---|
sora-2 |
1280x720 (720p) |
720x1280 (720p) |
sora-2-pro |
1280x720 (720p) / 1792x1024 (1024p) |
720x1280 (720p) / 1024x1792 (1024p) |
Une
sizeinvalide (par ex.1920x1080) renvoie400 invalid_size. Le chemin OpenAI est limité à 1024p ; utilisez l'Option A avecresolution: "1080p"pour le 1080p.
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Une cascade formant un arc-en-ciel, cinématographique",
"seconds": "4",
"size": "1280x720"
}'
Réponse de soumission
{
"id": "task_xxxxxxxx",
"object": "video",
"model": "sora-2",
"status": "queued"
}
Utilisez task_id / id de l'un ou l'autre point d'entrée pour le sondage et le téléchargement.
Sonder l'état de la tâche
GET https://apimaster.ai/v1/videos/{task_id}
curl -s "https://apimaster.ai/v1/videos/task_xxxxxxxx" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemple terminé :
{
"id": "task_xxxxxxxx",
"status": "completed",
"url": "https://apimaster.ai/v1/videos/task_xxxxxxxx/content"
}
Téléchargez le MP4 via
https://apimaster.ai/v1/videos/{task_id}/content.
Télécharger la vidéo
curl -L "https://apimaster.ai/v1/videos/task_xxxxxxxx/content" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o output.mp4
Exemples d'image-vers-vidéo
Option A :
curl -s "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Zoom avant lent, brise légère dans les cheveux",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"image_urls": ["https://example.com/reference.jpg"]
}'
Option B (champ images) :
curl -s "https://apimaster.ai/v1/videos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "Zoom avant lent, brise légère dans les cheveux",
"seconds": "8",
"images": ["https://example.com/reference.jpg"]
}'
Conseils pour le sondage
- Attendez 10 à 20 secondes après la soumission ; puis sondez toutes les 3 à 5 secondes
- Temps typique : 1 à 3 minutes
- Sauvegardez le MP4 rapidement après la fin
Codes d'erreur
| code | Signification |
|---|---|
| 400 | Paramètres invalides (par ex. invalid_size) |
| 401 | Clé API invalide |
| 402 | Solde insuffisant |
| 429 | Limite de débit atteinte |
| 500 / 502 | Erreur temporaire, réessayez |