Le modèle texte vers vidéo de PixVerse génère une vidéo fluide à partir 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
- Accédez à la console Model Studio, recherchez PixVerse, trouvez la carte du modèle PixVerse et cliquez sur Activer maintenant.
- 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.
- Sélectionner un modèle: Vérifiez la région de votre modèle.
- Sélectionner une URL: Choisissez l’URL de point de terminaison correspondante. Les URL HTTP et du SDK DashScope sont prises en charge.
- Configurer une clé API: Sélectionnez une région, obtenez une clé API, puis configurez-la comme variable d’environnement.
- Installer le SDK: Pour effectuer des appels via un SDK, installez le SDK DashScope.
RemarqueLe code d’exemple de cette rubrique s’applique à la région de Singapour.
Appels HTTP
La génération de vidéo à partir de texte 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_idrenvoyé pour consulter le résultat. Letask_idest 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êteEn-têtesContent-Type Le type de contenu de la requête. Doit être Authorization Authentifie la requête avec une clé API Model Studio. Exemple : Bearer sk-xxxx. X-DashScope-Async Active le traitement asynchrone. Les requêtes HTTP prennent uniquement en charge les appels asynchrones. Doit être 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êtemodel Le nom du modèle. Valeurs valides :
input Les informations d’entrée de base, telles que le prompt. parameters Les paramètres de génération vidéo, tels que la résolution, la durée et la génération ou non de l’audio. | Texte vers vidéoModèle pris en charge : pixverse/pixverse-v6-t2v. Texte vers vidéo (multi-plans)Modèle pris en charge : pixverse/pixverse-v6-t2v. Décrivez la scène multi-plans dans le |
Paramètres de réponseoutput Informations de sortie de la tâche. request_id Identifiant unique de la requête, utilisé pour le suivi et le dépannage. code Code d’erreur. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur. message Message d’erreur détaillé. Renvoyé uniquement en cas d’échec de la requête. Consultez Codes d’erreur. | Réponse réussieConservez le Réponse d’erreurLa création de la tâche a échoué. Consultez Codes d’erreur. |
É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_idest valable 24 heures. Passé ce délai, les requêtes échouent et l’API renvoie l’état de tâcheUNKNOWN. - 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êteEn-têtesAuthorization Authentifie la requête avec une clé API Model Studio. Exemple : Bearer sk-xxxx. Paramètres de chemintask_id L’ID de la tâche. | Consulter le résultat de la tâcheRemplacez |
Paramètres de réponseoutput Informations de sortie de la tâche. usage Statistiques d’utilisation de la sortie, comptabilisées uniquement pour les tâches réussies. request_id Identifiant unique de la requête, utilisé pour le suivi et le dépannage. | Tâche réussieÉchec de la tâcheLorsqu’une tâche échoue, Consultation de tâche expiréeLe |
Appels du SDK DashScope
Les noms de paramètres du SDK correspondent en grande partie à ceux de l’API HTTP. La structure des paramètres est adaptée aux spécificités de chaque langage de programmation.
Les tâches texte vers vidéo prenant beaucoup de temps (généralement de 1 à 5 minutes), le SDK encapsule le processus d’appel asynchrone HTTP et prend en charge les modes d’appel synchrone et asynchrone.
Le temps réellement nécessaire dépend du nombre de tâches en file d’attente et de l’état d’exécution du service. Patientez jusqu’à l’obtention du résultat.
Appels du SDK Python
ImportantAssurez-vous que votre version du SDK Python DashScope n’est pas antérieure à 2.0.1 avant d’exécuter le code suivant.
Une version antérieure peut provoquer des erreurs telles que "url error, please check url!". Pour mettre à jour le SDK, consultez Installer le SDK.
Région de Singapour: region="ap-southeast-1"
Remplacez {WorkspaceId} par votre véritable ID d’espace de travail.
Appel synchrone
Exemple de requête
import os
import dashscope
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",
)
def sample_sync_call_t2v():
# Appelle l'API synchrone, qui retourne le résultat directement.
print('Veuillez patienter...')
# generate est un appel en une étape (soumet la tâche et attend sa fin) et retourne un Job terminé
# audio ne fait pas partie de la signature nommée et est transmis via parameters
try:
job = client.videos.generate(model='pixverse/pixverse-v6-t2v',
prompt='In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.',
size='1280*720',
duration=5,
watermark=False,
parameters={'audio': False})
print(job)
print(job.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_sync_call_t2v()
Exemple de réponse
video_urln’expire pas actuellement, mais n’est pas destiné à un stockage à long terme. Téléchargez la vidéo rapidement.
{
"request_id": "2b68d32e-86c8-4383-8a18-xxxxxx",
"task_id": "ec40bb42-02d4-44d8-bf35-xxxxxx",
"status": "SUCCEEDED",
"results": [
{
"video_url": "https://media.pixverseai.cn/xxx.mp4"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 10,
"size": "1280x720",
"fps": 24,
"audio": false,
"SR": "720"
}
}
Appel asynchrone
Exemple de requête
import os
import dashscope
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",
)
def sample_async_call_t2v():
# Soumet la tâche asynchrone et retourne immédiatement les informations de la tâche
# 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-t2v',
prompt='In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.',
size='1280*720',
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) # Vérifie l'état de la tâche.
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 (interrogation avec backoff exponentiel, budget total par défaut de 24 heures)
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_t2v()
Exemple de réponse
- Exemple de réponse à la création d’une tâche.
{
"request_id": "c86ff7ba-8377-917a-90ed-xxxxxx",
"task_id": "721164c6-8619-4a35-a6d9-xxxxxx",
"status": "PENDING"
}
- Exemple de réponse à la consultation du résultat d’une tâche
video_urln’expire pas actuellement, mais n’est pas destiné à un stockage à long terme. Téléchargez la vidéo rapidement.
{
"request_id": "2b68d32e-86c8-4383-8a18-xxxxxx",
"task_id": "ec40bb42-02d4-44d8-bf35-xxxxxx",
"status": "SUCCEEDED",
"results": [
{
"video_url": "https://media.pixverseai.cn/xxx.mp4"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 10,
"size": "1280x720",
"fps": 24,
"audio": false,
"SR": "720"
}
}
Appels du SDK Java
ImportantAssurez-vous que votre version du SDK Java DashScope n’est pas antérieure à 2.22.6 avant d’exécuter le code suivant.
Une version antérieure peut provoquer des erreurs telles que "url error, please check url!". Pour mettre à jour le SDK, consultez Installer le SDK.
Région de Singapour: Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
Remplacez {WorkspaceId} par votre véritable ID d’espace de travail.
Appel synchrone
Exemple de requête
// Replace {WorkspaceId} with your actual workspace ID.
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Text2Video {
static {
// The following is the URL for the Singapore region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// If you have not configured the environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
// To obtain an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
public static String apiKey = System.getenv("DASHSCOPE_API_KEY");
/**
* Create a video compositing task and wait for the task to complete.
*/
public static void text2Video() throws ApiException, NoApiKeyException, InputRequiredException {
VideoSynthesis vs = new VideoSynthesis();
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("pixverse/pixverse-v6-t2v")
.prompt("In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.")
.size("1280*720")
.duration(5)
.audio(true)
.watermark(true)
.seed(12345)
.build();
System.out.println("please wait...");
VideoSynthesisResult result = vs.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
text2Video();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Exemple de réponse
video_urln’expire pas actuellement, mais n’est pas destiné à un stockage à long terme. Téléchargez la vidéo rapidement.
{
"request_id": "bd1109bd-6c63-4e62-8bb8-xxxxxx",
"output": {
"task_id": "72af7c13-dad5-4aaa-b85d-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://media.pixverseai.cn/xxx.mp4",
"orig_prompt": "In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.",
"submit_time": "2026-03-20 11:21:13.227",
"scheduled_time": "2026-03-20 11:21:13.252",
"end_time": "2026-03-20 11:21:43.924"
},
"usage": {
"video_count": 1,
"duration": 5.0,
"size": "1280*720",
"input_video_duration": 0.0,
"output_video_duration": 0.0,
"SR": "720"
},
"status_code": 200,
"code": "",
"message": ""
}
Appel asynchrone
Exemple de requête
// Replace {WorkspaceId} with your actual workspace ID.
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisListResult;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Text2Video {
static {
// The following is the URL for the Singapore region.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// If you have not configured the environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx"
// To obtain an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
public static String apiKey = System.getenv("DASHSCOPE_API_KEY");
/**
* Create a video compositing task and wait for the task to complete.
*/
public static void text2Video() throws ApiException, NoApiKeyException, InputRequiredException {
VideoSynthesis vs = new VideoSynthesis();
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("pixverse/pixverse-v6-t2v")
.prompt("In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.")
.size("1280*720")
.duration(5)
.audio(true)
.watermark(true)
.seed(12345)
.build();
// Asynchronous call
VideoSynthesisResult task = vs.asyncCall(param);
System.out.println(JsonUtils.toJson(task));
System.out.println("please wait...");
// Retrieve the result.
VideoSynthesisResult result = vs.wait(task, apiKey);
System.out.println(JsonUtils.toJson(result));
}
// Retrieve the task list.
public static void listTask() throws ApiException, NoApiKeyException {
VideoSynthesis is = new VideoSynthesis();
AsyncTaskListParam param = AsyncTaskListParam.builder().build();
param.setApiKey(apiKey);
VideoSynthesisListResult result = is.list(param);
System.out.println(result);
}
// Retrieve a single task result.
public static void fetchTask(String taskId) throws ApiException, NoApiKeyException {
VideoSynthesis is = new VideoSynthesis();
// If the DASHSCOPE_API_KEY environment variable is set, apiKey can be null.
VideoSynthesisResult result = is.fetch(taskId, apiKey);
System.out.println(result.getOutput());
System.out.println(result.getUsage());
}
public static void main(String[] args) {
try {
text2Video();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Exemple de réponse
- Exemple de réponse à la création d’une tâche.
{
"request_id": "9b583f1b-2423-4fac-bb3f-xxxxxx",
"output": {
"task_id": "3944b819-1bbb-4da0-a230-xxxxxx",
"task_status": "PENDING"
},
"status_code": 200,
"code": "",
"message": ""
}
- Exemple de réponse à la consultation du résultat d’une tâche
video_urln’expire pas actuellement, mais n’est pas destiné à un stockage à long terme. Téléchargez la vidéo rapidement.
{
"request_id": "bd1109bd-6c63-4e62-8bb8-xxxxxx",
"output": {
"task_id": "72af7c13-dad5-4aaa-b85d-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://media.pixverseai.cn/xxx.mp4",
"orig_prompt": "In a rainy cyber city, a raccoon walks on a railing. Suddenly, its eyes glow blue, and it transforms into a high-tech drone, flying quickly out of the frame.",
"submit_time": "2026-03-20 11:21:13.227",
"scheduled_time": "2026-03-20 11:21:13.252",
"end_time": "2026-03-20 11:21:43.924"
},
"usage": {
"video_count": 1,
"duration": 5.0,
"size": "1280*720",
"input_video_duration": 0.0,
"output_video_duration": 0.0,
"SR": "720"
},
"status_code": 200,
"code": "",
"message": ""
}
Codes d’erreur
Si l’appel au modèle échoue et renvoie un message d’erreur, consultez Codes d’erreur pour le résoudre.