Passer au contenu principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Autorisation

Authorization
string
requis
Tous les endpoints API requièrent une authentification par Bearer TokenObtenez votre API Key :Visitez la page de gestion des API Keys pour obtenir votre API KeyAjoutez-la à l’en-tête de la requête :
Authorization: Bearer YOUR_API_KEY

Routage des modes

wan2.7 est un point d’entrée unifié pour Text-to-Video et Image-to-Video. Le backend détermine automatiquement le mode en fonction des paramètres entrants. Les deux modes sont facturés de façon identique :
ConditionRoute versDescription du mode
L’un de image_urls / image_with_roles / video_urls est fourniImage-to-VideoPremière trame / Première-dernière trame / Continuation de vidéo
Aucun des paramètres ci-dessus n’est fourniText-to-VideoGénère une vidéo purement à partir d’une description textuelle

Paramètres de la requête

model
string
requis
Nom du modèle de génération vidéo, fixé à wan2.7
prompt
string
Description du contenu de la vidéo, jusqu’à 5000 caractères
  • Mode Text-to-Video (lorsqu’aucune image/vidéo n’est fournie) : obligatoire
  • Mode Image-to-Video : optionnel, mais recommandé pour guider les mouvements de caméra et les actions
Exemple : "A cat chasing butterflies on the grass, bright sunshine, slow motion"
image_urls
array<string>
Tableau d’URLs d’images. Le fournir active automatiquement le mode Image-to-Video
  • 1 image : première trame vers vidéo
  • 2 images : première-dernière trame vers vidéo (1re = première trame, 2e = dernière trame)
Utilisez soit ce champ, soit image_with_roles
image_urls est en conflit avec audio_url ; ils ne peuvent pas être fournis simultanément
image_with_roles
array<object>
Tableau d’images avec rôles, alternative à image_urls, permettant de spécifier précisément le rôle de chaque imageChamps de chaque objet :
  • url (string) : URL de l’image (prend en charge http/https)
  • role (string) : rôle de l’image, first_frame / last_frame, par défaut first_frame
Exemple :
[
  { "url": "https://cdn.example.com/start.jpg", "role": "first_frame" },
  { "url": "https://cdn.example.com/end.jpg", "role": "last_frame" }
]
image_with_roles est en conflit avec audio_url ; ils ne peuvent pas être fournis simultanément
video_urls
array<string>
Tableau d’URLs vidéo. Le fournir active le mode continuation de vidéo (seule la 1re vidéo est utilisée)
video_urls est en conflit avec audio_url ; ils ne peuvent pas être fournis simultanément
Contraintes vidéo :
  • Format : mp4, mov
  • Durée : 2–10s
  • Résolution : largeur et hauteur dans la plage [240, 4096] pixels
  • Rapport d’aspect : 1:8 – 8:1
  • Taille de fichier : jusqu’à 100 Mo
negative_prompt
string
Prompt négatif décrivant le contenu indésirable, jusqu’à 500 caractèresExemple : "blurry, distorted, low quality"
resolution
string
défaut:"1080P"
Résolution de la vidéoOptions :
  • 720P — standard
  • 1080P — haute définition (par défaut)
duration
integer
défaut:"5"
Durée de la vidéo (secondes)Plage prise en charge : 2 ~ 15 secondesPar défaut : 5
size
string
défaut:"16:9"
Rapport d’aspect, effectif uniquement en mode Text-to-Video (lorsqu’aucune image/vidéo n’est fournie)Formats pris en charge :
  • 16:9 — écran large paysage (par défaut)
  • 9:16 — portrait
  • 1:1 — carré
  • 4:3 — paysage
  • 3:4 — portrait
Ce paramètre est ignoré en mode Image-to-Video ; le rapport d’aspect est déterminé automatiquement par l’image d’entrée
audio_url
string
URL d’audio personnalisé
  • Mode Text-to-Video : utilisé comme musique de fond
  • Mode Image-to-Video : utilisé comme audio directeur, synchronisé avec les actions à l’écran
Format : wav / mp3, durée 2-30 secondes, taille de fichier ≤ 15 Mo
audio_url est en conflit avec video_urls, image_urls et image_with_roles ; ils ne peuvent pas être fournis simultanément
prompt_extend
boolean
défaut:"true"
Activer la réécriture intelligente du promptAméliore significativement les résultats pour les prompts courts, mais augmente le temps de traitementPar défaut : true
watermark
boolean
défaut:"false"
Ajouter un filigrane « AI Generated » à la vidéo générée
  • true : ajouter un filigrane
  • false : sans filigrane (par défaut)
seed
integer
Entier servant de graine pour contrôler le caractère aléatoire du contenu généréPlage de valeurs : entier ≥ 0
  • Pour des requêtes identiques, le modèle génère des résultats différents lorsqu’il reçoit des valeurs de graine différentes (par exemple, omettre la graine)
  • Pour des requêtes identiques, le modèle génère des résultats similaires lorsqu’il reçoit la même valeur de graine, mais une cohérence exacte n’est pas garantie

Réponse

code
integer
Code de statut de la réponse, 200 en cas de succès
data
array
Tableau de données de la réponse

Cas d’utilisation

Cas 1 : Texte vers vidéo (requête la plus simple)

{
  "model": "wan2.7",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel"
}

Cas 2 : Texte vers vidéo (paramètres complets)

{
  "model": "wan2.7",
  "prompt": "A cat chasing butterflies on the grass, bright sunshine, slow motion",
  "negative_prompt": "blurry, distorted, low quality",
  "resolution": "1080P",
  "duration": 8,
  "size": "16:9",
  "audio_url": "https://cdn.example.com/bgm.mp3",
  "prompt_extend": true,
  "watermark": false,
  "seed": 42
}

Cas 3 : Première trame vers vidéo

{
  "model": "wan2.7",
  "prompt": "The character slowly stands up and walks toward the camera",
  "image_urls": ["https://cdn.example.com/person.jpg"],
  "resolution": "1080P",
  "duration": 8
}

Cas 4 : Première-dernière trame vers vidéo

{
  "model": "wan2.7",
  "prompt": "The camera pans slowly from the beach to the mountaintop",
  "image_urls": [
    "https://cdn.example.com/beach.jpg",
    "https://cdn.example.com/mountain.jpg"
  ],
  "resolution": "1080P",
  "duration": 10
}
Avec 2 images : la 1re est la première trame, la 2e la dernière. Vous pouvez aussi utiliser image_with_roles pour une spécification précise.

Cas 5 : Continuation de vidéo

{
  "model": "wan2.7",
  "prompt": "Continue walking forward, camera follows",
  "video_urls": ["https://cdn.example.com/clip.mp4"],
  "resolution": "1080P",
  "duration": 8
}

Cas 6 : Image + audio directeur

{
  "model": "wan2.7",
  "prompt": "The character moves to the rhythm of the music",
  "image_urls": ["https://cdn.example.com/dancer.jpg"],
  "audio_url": "https://cdn.example.com/beat.mp3",
  "resolution": "1080P",
  "duration": 8
}

Guide de sélection du mode

BesoinApproche recommandée
Générer une vidéo uniquement à partir de texteTransmettre uniquement prompt (pas d’image/vidéo)
Donner « vie » à une imageTransmettre 1 image dans image_urls
Contrôler les trames de début et de finTransmettre 2 images dans image_urls (première + dernière)
Prolonger une vidéo existanteTransmettre la vidéo dans video_urls
Faire bouger une image au rythme de la musiqueTransmettre image + audio_url
Interroger les résultats de la tâcheLa génération vidéo est une tâche asynchrone qui renvoie un task_id lors de la soumission. Utilisez l’endpoint Obtenir le statut de la tâche pour interroger la progression et les résultats de la génération.