> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Documentation de l'API Veo Videos Generation

> Veo Video Generation API guide - Ace Data Cloud

Cet article présente une documentation sur l'intégration de l'API Veo Videos Generation, qui permet de générer des vidéos officielles de Veo en entrant des paramètres personnalisés.

## Processus de demande

Pour utiliser l'API Veo Videos Generation, commencez par obtenir votre token API sur le [tableau de bord Ace Data Cloud](https://platform.acedata.cloud/console/applications) et conservez-le pour référence.

![](https://cdn.acedata.cloud/5hmkdg.jpg)

Si vous n'êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle.

**Un seul token API suffit pour appeler tous les services de la plateforme, sans avoir besoin de demander un pour chaque service.** La première demande vous donnera un quota gratuit pour une expérience sans frais ; si le quota est insuffisant, vous pouvez recharger le solde général sur le [tableau de bord](https://platform.acedata.cloud/console/coin).

> 📘 Documentation complète : [Veo Videos Generation API →](https://platform.acedata.cloud/documents/veo-videos)

## Utilisation de base

Tout d'abord, comprenez la méthode d'utilisation de base, qui consiste à entrer le mot-clé `prompt`, l'action `action`, le tableau d'images de référence `image_urls` et le modèle `model`, afin d'obtenir le résultat traité. Vous devez d'abord transmettre un champ `action`, dont la valeur est `text2video`, qui comprend principalement trois actions : génération de vidéo à partir de texte (`text2video`), génération de vidéo à partir d'image (`image2video`), et obtenir une vidéo en 1080p (`get1080p`). Ensuite, nous devons également entrer le modèle `model`, qui comprend principalement les modèles `veo31-fast`, `veo3`, `veo31`, `veo3-fast` et `veo31-fast-ingredients`, dont le contenu est le suivant :

<p>
  <img src="https://cdn.acedata.cloud/vv5pe8.png" width="500" className="m-auto" />
</p>

Ici, nous avons configuré les en-têtes de requête, y compris :

* `accept` : le format de réponse souhaité, ici rempli avec `application/json`, c'est-à-dire au format JSON.
* `authorization` : la clé pour appeler l'API, que vous pouvez sélectionner directement après la demande.

De plus, nous avons configuré le corps de la requête, y compris :

* `model` : le modèle pour générer la vidéo, principalement `veo31-fast`, `veo3`, `veo31`, `veo3-fast` et `veo31-fast-ingredients`.
* `action` : l'action de la tâche de génération de vidéo, qui comprend principalement trois actions : génération de vidéo à partir de texte (`text2video`), génération de vidéo à partir d'image (`image2video`), obtenir une vidéo en 1080p (`get1080p`).
* `image_urls` : lorsque vous choisissez l'action de génération de vidéo à partir d'image `image2video`, vous devez télécharger les liens d'images de référence. `veo31-fast-ingredients` nécessite jusqu'à 3 images (fusion multi-images), les autres modèles nécessitent jusqu'à 2 images (mode première et dernière image).
* `resolution` : choisissez la résolution de la vidéo générée, où le modèle veo31 prend en charge la résolution 4k, les autres modèles ne le prennent pas en charge, tous les modèles prennent en charge 1080p et gif, si cette valeur n'est pas transmise, la résolution par défaut est 720p, principalement divisée en : `1080p`, `gif`, `4k`.
* `prompt` : le mot-clé.
* `callback_url` : l'URL pour recevoir le résultat.
* `async` : optionnel, si défini sur `true`, l'interface renvoie immédiatement `task_id`, sans avoir besoin de fournir `callback_url`, puis vous pouvez interroger le résultat via l'interface de requête de tâche correspondante.

### 📌 Résumé des modèles

| **Nom du modèle**          | **Modes pris en charge**                                                                                                              | **Règles d'entrée d'image**                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **veo3-fast**              | Génération de vidéo à partir de texte (sans image)<br />Mode génération de vidéo à partir d'image (avec image)                        | **1 image** → Mode première image<br />**2 images** → Mode première et dernière image |
| **veo31-fast**             | Génération de vidéo à partir de texte (sans image)<br />Mode génération de vidéo à partir d'image (avec image)                        | **1 image** → Mode première image<br />**2 images** → Mode première et dernière image |
| **veo31-fast-ingredients** | ❌ Génération de vidéo à partir de texte (non pris en charge)<br />✅ **Fusion multi-images obligatoire** (doit transmettre des images) | **1-3 images** → Mode fusion multi-images (maximum 3 images)                          |
| **veo3**                   | Génération de vidéo à partir de texte (sans image)<br />Mode génération de vidéo à partir d'image (avec image)                        | **1 image** → Mode première image<br />**2 images** → Mode première et dernière image |
| **veo31**                  | Génération de vidéo à partir de texte (sans image)<br />Mode génération de vidéo à partir d'image (avec image)                        | **1 image** → Mode première image<br />**2 images** → Mode première et dernière image |

***

### 🔑 Règles clés

1. **Logique générale** :
   * **Pas d'entrée d'image** → Déclenche automatiquement le mode génération de vidéo à partir de texte.
   * **Entrée d'image** → Déclenche le mode génération de vidéo à partir d'image (le comportement spécifique dépend du nombre d'images).
2. **Types de mode de génération de vidéo à partir d'image** :
   * **Mode première image** (1 image) : La première image est fixe à l'image d'entrée.
   * **Mode première et dernière image** (2 images) : La première et la dernière image sont fixes aux images d'entrée.
   * **Mode fusion multi-images** (1-3 images) : Seul `veo31-fast-ingredients` est pris en charge, fusionnant le contenu de plusieurs images pour générer une vidéo.
3. **Classification des modes** :

* **Mode rapide** : `veo3-fast`, `veo31-fast`, `veo31-fast-ingredients`.
* **Mode qualité** : `veo3`, `veo31` (génération de qualité supérieure).

***

### ⚠️ Remarques

* **Modèle nécessitant obligatoirement des images** : `veo31-fast-ingredients` doit recevoir des images (1-3 images), sinon il ne pourra pas fonctionner.
* **Limite de nombre d'images** :
  * `veo31-fast-ingredients` prend en charge **1-3 images** d'entrée (mode fusion multi-images).
  * Les autres modèles prennent en charge au maximum **2 images** d'entrée (mode première et dernière image).

Après avoir fait votre choix, vous pouvez constater que le code correspondant a également été généré à droite, comme illustré ci-dessous :

<p>
  <img src="https://cdn.acedata.cloud/pmwh4y.png" width="500" className="m-auto" />
</p>

Cliquez sur le bouton « Essayer » pour effectuer un test, comme indiqué ci-dessus, et nous avons obtenu le résultat suivant :

```json theme={null}
{
  "success": true,
  "task_id": "697ea2fc-58fd-48c8-8191-29041ff23c3c",
  "trace_id": "70e1cb12-c619-4292-a416-90191205996b",
  "data": [
    {
      "id": "24ac06a5-9cc7-448f-802e-0b4db19f6e96",
      "video_url": "https://platform2.cdn.acedata.cloud/veo/f5389ec0-2eb5-4212-b4a8-04b513b0129a.mp4",
      "created_at": "2026-06-30T04:01:50.364Z",
      "complete_at": "2026-06-30T04:03:20.495Z",
      "state": "succeeded"
    }
  ]
}
```

Le résultat de retour contient plusieurs champs, décrits comme suit :

* `success`，l'état de la tâche de génération de vidéo à ce moment.
* `task_id`，l'ID de la tâche de génération de vidéo à ce moment.
* `data`，le résultat de la tâche de génération de vidéo à ce moment.
  * `id`，l'ID de la vidéo de la tâche de génération à ce moment.
  * `video_url`，le lien de la vidéo de la tâche de génération à ce moment.
  * `created_at`，le temps de création de la tâche de génération de vidéo à ce moment.
  * `complete_at`，le temps d'achèvement de la tâche de génération de vidéo à ce moment.
  * `state`，l'état de la tâche de génération de vidéo à ce moment.

On peut voir que nous avons obtenu des informations vidéo satisfaisantes, nous n'avons qu'à récupérer la vidéo générée à partir de l'URL de la vidéo dans le résultat `data`.

De plus, si vous souhaitez générer le code d'intégration correspondant, vous pouvez le copier directement, par exemple, le code CURL est comme suit :

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/veo/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "veo31-fast",
  "prompt": "Tasse à café en céramique blanche sur un comptoir en marbre brillant avec la lumière du matin venant de la fenêtre. La caméra tourne lentement à 360 degrés autour de la tasse, s'arrêtant brièvement au niveau de la poignée."
}'
```

## Fonctionnalité de génération de vidéo à partir d'images

Si vous souhaitez générer une vidéo à partir d'images de début et de fin, vous pouvez définir le paramètre `action` sur `image2video` et entrer un tableau de liens d'images de début et de fin `image_urls`.

Ensuite, nous devons remplir les mots-clés d'extension nécessaires pour personnaliser la génération de la vidéo, ce qui nous permet de spécifier le contenu suivant :

* `model`：le modèle de génération de vidéo, principalement `veo31-fast`、`veo3`、`veo31`、`veo3-fast` et `veo31-fast-ingredients`.
* `image_urls`：lorsque l'on choisit l'action de génération de vidéo `image2video`, il est nécessaire de télécharger les liens d'images de référence.
* `prompt`：les mots-clés.

Un exemple de remplissage est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/8wvlqd.png" width="500" className="m-auto" />
</p>

Une fois rempli, le code généré automatiquement est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/tgzfxi.png" width="500" className="m-auto" />
</p>

Le code Python correspondant :

```python theme={null}
import requests

url = "https://api.acedata.cloud/veo/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "image2video",
    "model": "veo31-fast",
    "prompt": "Laissez-le danser",
    "image_urls": ["https://cdn.acedata.cloud/7p1jhy.png"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

En cliquant sur exécuter, on peut constater qu'un résultat est obtenu, comme suit :

```json theme={null}
{
  "success": true,
  "task_id": "98e309f3-35bc-438d-8cb3-4015fc864b87",
  "trace_id": "8bc68066-36de-41ef-ae5e-b7d61ff6aee8",
  "data": [
    {
      "id": "59f12222b1fa4fbe9331ff2400ad1583",
      "video_url": "https://platform.cdn.acedata.cloud/veo/98e309f3-35bc-438d-8cb3-4015fc864b87.mp4",
      "created_at": "2025-07-25 16:13:07",
      "complete_at": "2025-07-25 16:16:12",
      "state": "succeeded"
    }
  ]
}
```

On peut voir que le contenu du résultat est cohérent avec ce qui précède, ce qui réalise la fonctionnalité de génération de vidéo à partir d'images.

## Fonctionnalité d'obtention de vidéo en 1080p

Si vous souhaitez obtenir une vidéo Veo déjà générée en 1080p, vous pouvez définir le paramètre `action` sur `get1080p` et entrer l'ID de la vidéo pour laquelle vous souhaitez obtenir le 1080p. L'ID de la vidéo peut être obtenu selon l'utilisation de base, comme illustré ci-dessous :

<p>
  <img src="https://cdn.acedata.cloud/hacabc.png" width="500" className="m-auto" />
</p>

À ce moment, on peut voir que l'ID de la vidéo est :

```json theme={null}
"id": "59f12222b1fa4fbe9331ff2400ad1583"
```

> Remarque : ici, l'ID de la vidéo est l'ID de la vidéo générée. Si vous ne savez pas comment générer une vidéo, vous pouvez vous référer à l'utilisation de base ci-dessus pour générer une vidéo.

Ensuite, nous devons remplir les mots-clés d'extension nécessaires pour personnaliser la génération de la vidéo, ce qui nous permet de spécifier le contenu suivant :

* `model`：le modèle de génération de vidéo, principalement `veo31-fast`、`veo3`、`veo31`、`veo3-fast` et `veo31-fast-ingredients`.
* `video_id`：l'ID de la vidéo de référence, utilisé pour obtenir la vidéo en 1080p.

Un exemple de remplissage est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/k56fhn.png" width="500" className="m-auto" />
</p>

Une fois rempli, le code généré automatiquement est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/8gn4cr.png" width="500" className="m-auto" />
</p>

En cliquant sur exécuter, on peut constater qu'un résultat est obtenu, comme suit :

```json theme={null}
{
  "success": true,
  "task_id": "47a51cfe-2e24-4aba-93b3-546c2dc52984",
  "trace_id": "a8922eec-6f50-4f77-8104-00ded071d59d",
  "data": [
    {
      "id": "59f12222b1fa4fbe9331ff2400ad1583",
      "video_url": "https://platform.cdn.acedata.cloud/veo/47a51cfe-2e24-4aba-93b3-546c2dc52984.mp4",
      "created_at": "2025-07-25 16:13:07",
      "complete_at": "2025-07-25 16:16:12",
      "state": "succeeded"
    }
  ]
}
```

On peut voir que le contenu du résultat est cohérent avec ce qui précède, ce qui réalise la fonctionnalité d'obtention de vidéo en 1080p.

## Génération de vidéo avec dimensions spécifiées

Si vous souhaitez spécifier la génération d'une vidéo Veo de dimensions personnalisées, vous pouvez définir le paramètre `aspect_ratio` sur la taille souhaitée. Ensuite, nous devons remplir les mots-clés d'extension nécessaires pour personnaliser la génération de la vidéo, ce qui nous permet de spécifier le contenu suivant :

* `model`：le modèle de génération de vidéo, principalement `veo31-fast`、`veo3`、`veo31`、`veo3-fast` et `veo31-fast-ingredients`.
* `aspect_ratio`：la taille de la vidéo, actuellement supportée : `16:9`、`16:9`、`3:4`、`4:3`、`1:1`, par défaut `16:9`.
* `translation`：si l'auto-traduction des mots-clés est activée, par défaut `false`.
  Un exemple de remplissage est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/xau4cm.png" width="500" className="m-auto" />
</p>

Une fois rempli, le code généré automatiquement est comme suit :

<p>
  <img src="https://cdn.acedata.cloud/55r589.png" width="500" className="m-auto" />
</p>

En cliquant sur exécuter, on peut constater qu'un résultat est obtenu, comme suit :

```json theme={null}
{
  "success": true,
  "task_id": "d2b93290-ab0e-4d20-ae45-60c062a32687",
  "trace_id": "9834e64d-c8fe-43ae-8114-ee2b5f93d886",
  "data": [
    {
      "id": "fc667e7d3b8f44beaa61a3c339af0e50",
      "video_url": "https://platform.cdn.acedata.cloud/veo/d2b93290-ab0e-4d20-ae45-60c062a32687.mp4",
      "created_at": "2025-08-24 20:09:06",
      "complete_at": "2025-08-24 20:10:45",
      "state": "succeeded"
    }
  ]
}
```

On peut voir que le contenu du résultat est cohérent avec le texte précédent, ce qui permet de réaliser la fonction de génération de vidéo à une taille spécifiée.

## Callback asynchrone

Étant donné que le temps de génération de l'API Veo Videos Generation est relativement long, environ 1 à 2 minutes, si l'API ne répond pas pendant une longue période, la requête HTTP maintiendra la connexion, entraînant une consommation supplémentaire de ressources système. C'est pourquoi cette API propose également un support de callback asynchrone.

Le processus global est le suivant : lorsque le client initie une requête, il spécifie un champ `callback_url` supplémentaire. Après que le client ait lancé la requête API, l'API renverra immédiatement un résultat contenant un champ d'information `task_id`, représentant l'ID de la tâche actuelle. Lorsque la tâche est terminée, le résultat de la vidéo générée sera envoyé au `callback_url` spécifié par le client sous forme de POST JSON, incluant également le champ `task_id`, permettant ainsi de relier le résultat de la tâche par ID.

Voyons maintenant un exemple pour comprendre comment procéder concrètement.

Tout d'abord, le callback Webhook est un service capable de recevoir des requêtes HTTP, les développeurs doivent le remplacer par l'URL de leur propre serveur HTTP. Ici, pour des raisons de démonstration, nous utilisons un site Web de Webhook public [https://webhook.site/](https://webhook.site/), en ouvrant ce site, vous obtiendrez une URL Webhook, comme illustré ci-dessous :

![](https://cdn.acedata.cloud/tbcnai.png)

Copiez cette URL, elle peut être utilisée comme Webhook, l'exemple ici est `https://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dc`.

Ensuite, nous pouvons définir le champ `callback_url` sur l'URL Webhook ci-dessus, tout en remplissant les paramètres correspondants, le contenu spécifique est illustré ci-dessous :

<p>
  <img src="https://cdn.acedata.cloud/rgivs2.png" width="500" className="m-auto" />
</p>

En cliquant sur exécuter, vous constaterez que vous obtiendrez immédiatement un résultat, comme suit :

```json theme={null}
{
  "task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed"
}
```

Après un court instant, nous pouvons observer le résultat de la vidéo générée sur `https://webhook.site/aed5cd28-f8aa-4dca-9480-8ec9b42137dc`, comme illustré ci-dessous :

![](https://cdn.acedata.cloud/238i32.png)

Le contenu est le suivant :

```json theme={null}
{
  "success": true,
  "task_id": "1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed",
  "trace_id": "d1d53c04-58c5-4c40-bb63-f00188540e56",
  "data": [
    {
      "id": "2f43ceed37944b4d836e1a1899dad0a1",
      "video_url": "https://platform.cdn.acedata.cloud/veo/1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed.mp4",
      "created_at": "2025-07-25 17:19:20",
      "complete_at": "2025-07-25 17:21:45",
      "state": "succeeded"
    }
  ]
}
```

On peut voir qu'il y a un champ `task_id` dans le résultat, les autres champs sont similaires à ceux du texte précédent, permettant de relier les tâches via ce champ.

## Gestion des erreurs

Lors de l'appel de l'API, si une erreur se produit, l'API renverra le code d'erreur et les informations correspondantes. Par exemple :

* `400 token_mismatched` : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
* `400 api_not_implemented` : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
* `401 invalid_token` : Non autorisé, jeton d'autorisation invalide ou manquant.
* `429 too_many_requests` : Trop de requêtes, vous avez dépassé la limite de taux.
* `500 api_error` : Erreur interne du serveur, quelque chose s'est mal passé sur le serveur.

### Exemple de réponse d'erreur

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Conclusion

Grâce à ce document, vous avez compris comment utiliser l'API Veo Videos Generation pour générer des vidéos à partir de mots-clés d'entrée et d'images de référence de la première image. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n'hésitez pas à contacter notre équipe de support technique.
