Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Référence de l’API PixVerse - image vers vidéo à partir d’une image initiale

Dernière mise à jour :Oct 27, 2026

Le modèle image vers vidéo de PixVerse génère une vidéo fluide à partir d’une image d’entrée et d’un prompt textuel.

ImportantCe document s’applique uniquement à la région de Singapour. Vous devez utiliser une clé API de cette région.

Activation du service

  1. Accédez à la console Model Studio, recherchez PixVerse, trouvez la carte du modèle PixVerse et cliquez sur Activer maintenant.
  2. Dans la fenêtre contextuelle, confirmez l’activation et l’autorisation.

Remarques sur l’utilisation

Pour que les appels d’API aboutissent, utilisez un modèle, une URL de point de terminaison et une clé API qui appartiennent tous à la même région. Les appels entre régions échouent.

RemarqueLe code d’exemple de cette rubrique s’applique à la région de Singapour.

Appels HTTP

La génération de vidéo à partir d’une image est une tâche de longue durée qui prend généralement de 1 à 5 minutes ; l’API utilise donc des appels asynchrones. Le processus comprend deux étapes principales : « Créer une tâche -> Interroger périodiquement le résultat ». Les étapes sont les suivantes :

Étape 1 : créer une tâche pour obtenir un ID de tâche

Région de Singapour: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Remplacez {WorkspaceId} par votre véritable ID d’espace de travail.

Remarque

  • Après la création de la tâche, utilisez le task_id renvoyé pour consulter le résultat. Le task_id est valable 24 heures. Ne créez pas de tâches en double ; interrogez plutôt périodiquement le résultat.
  • Pour débuter, consultez Appeler les API avec Postman ou cURL.

Paramètres de requête

En-têtes

Content-Type string (Obligatoire)

Le type de contenu de la requête. Doit être application/json.

Authorization string (Obligatoire)

Authentifie la requête avec une clé API Model Studio. Exemple : Bearer sk-xxxx.

X-DashScope-Async string (Obligatoire)

Active le traitement asynchrone. Les requêtes HTTP prennent uniquement en charge les appels asynchrones. Doit être enable.

ImportantSi cet en-tête de requête est absent, l’erreur "current user api does not support synchronous calls" est renvoyée.

Corps de la requête

model string (Obligatoire)

Le nom du modèle.

Valeurs valides :

  • pixverse/pixverse-v6-it2v

input object (Obligatoire)

Les informations d’entrée de base, telles que le prompt et les ressources multimédias.

Propriétés

prompt string (Facultatif)

Le prompt textuel. Il décrit les éléments et les caractéristiques visuelles souhaités dans la vidéo générée.

Le chinois et l’anglais sont pris en charge. Chaque caractère chinois ou chaque lettre compte pour un caractère. L’encodage des caractères est UTF-8. Les caractères excédentaires sont automatiquement tronqués.

  • pixverse/pixverse-v6-it2v : jusqu’à 5 000 caractères.

media array (Obligatoire)

Une liste de ressources multimédias indiquant l’image nécessaire à la génération de la vidéo.

Chaque élément du tableau est un objet multimédia contenant les champs type et url.

Propriétés

type string (Obligatoire)

Le type de ressource multimédia. Valeur fixe :

  • image_url: Une URL d’image.

Limite des ressources : nous recommandons de fournir une seule image.

Si vous fournissez plusieurs images, le système utilise la dernière par défaut. Pour obtenir les résultats attendus, fournissez toujours une seule image.

url string (Obligatoire)

L’URL du fichier image. L’URL doit être accessible publiquement.

Contraintes de l’image :

  • Format : JPG, PNG ou WEBP.
  • Résolution : la largeur et la hauteur de l’image ne peuvent pas dépasser 10 000 pixels.
  • Taille du fichier : jusqu’à 20 Mo.

parameters object (Obligatoire)

Paramètres de traitement vidéo, tels que la résolution, la durée, la génération de l’audio et le filigrane.

Propriétés

resolution string (Obligatoire)

ImportantLe paramètre resolution affecte directement le coût. Avant un appel, vérifiez les tarifs des modèles.

Spécifie le niveau de résolution de la vidéo générée.

Valeurs valides : 360P, 540P, 720P et 1080P.

duration integer (Obligatoire)

ImportantLe paramètre duration affecte directement le coût, facturé à la seconde. Avant un appel, vérifiez les tarifs des modèles.

La durée de la vidéo générée, en secondes.

  • pixverse/pixverse-v6-it2v : un entier compris dans l’intervalle [1, 15].

audio boolean (Facultatif)

ImportantLe paramètre audio affecte directement le coût. Avant un appel, vérifiez les tarifs des modèles.

Indique s’il faut générer une vidéo avec audio. Si cette option est activée, le modèle génère automatiquement une musique de fond ou des effets sonores adaptés au contenu de la vidéo.

  • false: Valeur par défaut. Produit une vidéo muette.
  • true: Produit une vidéo avec audio.

watermark boolean (Facultatif)

Indique s’il faut ajouter un filigrane. Il est placé en bas à droite de la vidéo et contient le texte fixe "AI Generated".

  • false: Valeur par défaut. Aucun filigrane n’est ajouté.
  • true: Un filigrane est ajouté.

shot_type string (Facultatif)

Modèle pris en charge : pixverse/pixverse-v6-it2v.

Spécifie le type de plan de la vidéo générée. Ce paramètre détermine si la vidéo se compose d’un seul plan continu ou de plusieurs plans.

  • single: Valeur par défaut. Génère une vidéo à plan unique.
  • multi: Multi-plans. Le système découpe intelligemment les plans.

Conseil d’utilisation : le paramètre prompt est prioritaire sur shot_type. Pour obtenir les meilleurs résultats, nous recommandons que la valeur de ce paramètre soit cohérente avec la description du prompt.

  • Pour obtenir systématiquement une vidéo à plan unique : définissez shot_type="single" et décrivez une scène à plan unique dans le prompt.
  • Pour obtenir systématiquement une vidéo multi-plans : définissez shot_type="multi" et décrivez une scène multi-plans dans le prompt.

seed integer (Facultatif)

La graine aléatoire doit être un entier compris dans l’intervalle [0, 2147483647].

Si elle n’est pas spécifiée, une graine aléatoire est générée. Une graine fixe améliore la reproductibilité.

La génération du modèle étant probabiliste, une même graine ne garantit pas des résultats identiques.

Image vers vidéo

Modèle pris en charge : pixverse/pixverse-v6-it2v.

# Replace {WorkspaceId} with your actual workspace ID.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "pixverse/pixverse-v6-it2v",
    "input": {
        "media": [
            {
                "type": "image_url",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
            }
        ],
        "prompt": "The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible."
    },
    "parameters": {
        "resolution": "720P",
        "duration": 5,
        "audio": false,
        "watermark": true
    }
}'

Python SDK

import dashscope
import os
from dashscope.v2 import DashScopeError

# Voici la configuration de la région de Singapour. Remplacez {WorkspaceId} par l'ID de votre workspace. La valeur de region varie selon la région.
client = dashscope.Client(
    # Si la variable d'environnement n'est pas configurée, définissez directement votre API Key de Model Studio : api_key="sk-xxx"
    # Les API Key sont spécifiques à chaque région. Pour obtenir une API Key, consultez https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    workspace="{WorkspaceId}",
    region="ap-southeast-1",
)

media = [{'type': 'image_url', 'url': 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp'}]

def sample_async_call():
    # Soumet la tâche de génération vidéo de manière asynchrone
    # audio ne fait pas partie de la signature nommée et est transmis via parameters
    try:
        job = client.videos.jobs.create(model='pixverse/pixverse-v6-it2v',
                                        media=media,
                                        prompt='The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible.',
                                        resolution='720P',
                                        duration=5,
                                        watermark=True,
                                        parameters={'audio': False})
        print(job)
        print("task_id: %s" % job.task_id)
    except DashScopeError as e:
        print(f"Code de statut HTTP: {e.status_code}")
        print(f"Code d'erreur: {e.code}")
        print(f"Message d'erreur: {e.message}")
        print("Consultez la documentation: https://www.alibabacloud.com/help/model-studio/developer-reference/error-code")
        return

    # Interroge l'état de la tâche
    try:
        snapshot = client.videos.jobs.fetch(job.task_id)
        print(snapshot.status)
    except DashScopeError as e:
        print(f"Code de statut HTTP: {e.status_code}")
        print(f"Code d'erreur: {e.code}")
        print(f"Message d'erreur: {e.message}")
        print("Consultez la documentation: https://www.alibabacloud.com/help/model-studio/developer-reference/error-code")

    # Attend la fin de la tâche
    try:
        done = client.videos.jobs.wait(job)
        print(done)
        print(done.video_url)
    except DashScopeError as e:
        print(f"Code de statut HTTP: {e.status_code}")
        print(f"Code d'erreur: {e.code}")
        print(f"Message d'erreur: {e.message}")
        print("Consultez la documentation: https://www.alibabacloud.com/help/model-studio/developer-reference/error-code")

if __name__ == '__main__':
    sample_async_call()

Image vers vidéo (multi-plans)

Modèle pris en charge : pixverse/pixverse-v6-it2v.

Décrivez la scène multi-plans dans le prompt et définissez shot_type sur multi pour générer une vidéo multi-plans avec audio.

# Replace {WorkspaceId} with your actual workspace ID.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "pixverse/pixverse-v6-it2v",
    "input": {
        "media": [
            {
                "type": "image_url",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
            }
        ],
        "prompt": "Shot 1: The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible. Shot 2: A long shot of the sea turtle surrounded by seaweed, which is also swaying from side to side."
    },
    "parameters": {
        "resolution": "720P",
        "duration": 8,
        "shot_type": "multi",
        "audio": false,
        "watermark": true
    }
}'

Paramètres de réponse

output object

Informations de sortie de la tâche.

Propriétés

task_id string

L’ID de la tâche. Valable pour les requêtes pendant 24 heures.

task_status string

L’état de la tâche.

Valeurs d’énumération

  • PENDING : la tâche est en file d’attente.
  • RUNNING : la tâche est en cours de traitement.
  • SUCCEEDED : la tâche a réussi.
  • FAILED : la tâche a échoué.
  • CANCELED : la tâche a été annulée.
  • UNKNOWN : la tâche n’existe pas ou son état est inconnu.

request_id string

Identifiant unique de la requête, utilisé pour le suivi et le dépannage.

code string

Code d’erreur. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur.

message string

Message d’erreur détaillé. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur.

Réponse réussie

Conservez le task_id pour consulter l’état et le résultat de la tâche.

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

Réponse d’erreur

La création de la tâche a échoué. Consultez Codes d’erreur.

{
    "code": "InvalidApiKey",
    "message": "No API-key provided.",
    "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}

Étape 2 : consulter le résultat à l’aide de l’ID de tâche

Région de Singapour: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Remarque

  • Recommandation d’interrogation périodique: La génération vidéo peut prendre plusieurs minutes. Utilisez un mécanisme d’interrogation périodique et consultez le résultat à un intervalle raisonnable, par exemple toutes les 15 secondes.
  • Évolution de l’état de la tâche: PENDING (en file d’attente) → RUNNING (en cours) → SUCCEEDED (réussi) / FAILED (échoué).
  • Validité de l’ID de tâche: Le task_id est valable 24 heures. Passé ce délai, les requêtes échouent et l’API renvoie l’état de tâche UNKNOWN.
  • Limite de RPS: Le point de terminaison de consultation est limité par défaut à 20 RPS. Pour des requêtes fréquentes ou des notifications d’événements, configurez les rappels de tâches asynchrones.
  • Autres opérations: Pour les consultations par lots, l’annulation de tâches et d’autres opérations, consultez Gérer les tâches asynchrones.

Paramètres de requête

En-têtes

Authorization string (Obligatoire)

Authentifie la requête avec une clé API Model Studio. Exemple : Bearer sk-xxxx.

Paramètres de chemin

task_id string (Obligatoire)

L’ID de la tâche.

Consulter le résultat de la tâche

Remplacez {task_id} par la valeur task_id renvoyée par l’appel d’API précédent. Le task_id est valable pour les requêtes pendant 24 heures. Remplacez {WorkspaceId} par votre véritable ID d’espace de travail.

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Paramètres de réponse

output object

Informations de sortie de la tâche.

Propriétés

task_id string

L’ID de la tâche. Valable pour les requêtes pendant 24 heures.

task_status string

L’état de la tâche.

Valeurs d’énumération

  • PENDING : la tâche est en file d’attente.
  • RUNNING : la tâche est en cours de traitement.
  • SUCCEEDED : la tâche a réussi.
  • FAILED : la tâche a échoué.
  • CANCELED : la tâche a été annulée.
  • UNKNOWN : la tâche n’existe pas ou son état est inconnu.
Transitions d’état pendant l’interrogation périodique :
  • PENDING (en file d’attente) → RUNNING (en cours) → SUCCEEDED (réussi) / FAILED (échoué).
  • L’état de la première consultation est généralement PENDING (en file d’attente) ou RUNNING (en cours).
  • Lorsque l’état passe à SUCCEEDED, la réponse contient l’URL de la vidéo générée.
  • Si l’état est FAILED, vérifiez le message d’erreur et réessayez.
  • Si l’état est CANCELED, la tâche a été annulée. Pour continuer, soumettez de nouveau la tâche.
  • Si l’état est UNKNOWN, la tâche n’existe pas ou son état est inconnu. Cela peut se produire si le task_id n’existe pas ou si sa période de validité de 24 heures est dépassée.

submit_time string

L’heure d’envoi de la tâche. Format : YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

L’heure d’exécution de la tâche. Format : YYYY-MM-DD HH:mm:ss.SSS.

end_time string

L’heure de fin de la tâche. Format : YYYY-MM-DD HH:mm:ss.SSS.

video_url string

L’URL de la vidéo. Renvoyée uniquement lorsque task_status est SUCCEEDED.

La vidéo est au format MP4 (encodage H.264). Le lien de la vidéo n’expire pas actuellement, mais ne vous y fiez pas pour un stockage à long terme. Téléchargez la vidéo rapidement.

orig_prompt string

Le prompt d’entrée original, correspondant au paramètre de requête prompt.

code string

Code d’erreur. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur.

message string

Message d’erreur détaillé. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur.

usage object

Statistiques d’utilisation de la sortie, comptabilisées uniquement pour les tâches réussies.

Propriétés

duration integer

La durée totale de la vidéo générée, utilisée pour la facturation.

size string

La résolution de la vidéo générée.

fps integer

La fréquence d’images de la vidéo générée.

SR string

Le niveau de résolution de la vidéo générée.

audio boolean

Indique si la vidéo générée contient de l’audio.

video_count integer

Le nombre de vidéos générées. La valeur est fixée à 1.

shot_type string

Le type de plan de la vidéo générée.

request_id string

Identifiant unique de la requête, utilisé pour le suivi et le dépannage.

Tâche réussie

{
    "request_id": "7df19cf7-d76c-4bb8-b4c5-xxxxxx",
    "output": {
        "task_id": "5abf2c85-ea81-4cbf-8918-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-03-20 11:48:50.499",
        "scheduled_time": "2026-03-20 11:48:50.551",
        "end_time": "2026-03-20 11:49:46.462",
        "orig_prompt": "The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible.",
        "video_url": "https://media.pixverseai.cn/xxxx.mp4"
    },
    "usage": {
        "duration": 5,
        "shot_type": "single",
        "size": "992*944",
        "fps": 24,
        "video_count": 1,
        "audio": false,
        "SR": "720"
    }
}

Échec de la tâche

Lorsqu’une tâche échoue, task_status vaut FAILED et un code ainsi qu’un message d’erreur sont renvoyés. Consultez Codes d’erreur.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "The size is not match xxxxxx"
    }
}

Consultation de tâche expirée

Le task_id est valable 24 heures. Passé ce délai, les requêtes renvoient l’erreur suivante.

{
    "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
    "output": {
        "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
        "task_status": "UNKNOWN"
    }
}

Codes d’erreur

Si l’appel au modèle échoue et renvoie un message d’erreur, consultez Codes d’erreur pour le résoudre.