---
author: OOMOL
author_url: https://oomol.com/fr/about/
title: Guide d’intégration des API Image et Vidéo
description: Configurez une clé OOMOL, appelez les modèles via SDK ou HTTP et
  gérez les tâches asynchrones et les erreurs.
lang: fr
canonical_url: https://oomol.com/fr/docs/image-video-api/
markdown_url: https://oomol.com/fr/docs/image-video-api.md
---

# Guide d’intégration des API Image et Vidéo

Utilisez OOMOL Fusion API depuis un backend de confiance pour générer et retoucher des images ou créer des vidéos. Chaque fournisseur conserve les formats de requête et de réponse pris en charge. La compatibilité concerne des modèles et opérations précis, pas toutes ses API.

## Créer une clé API

Créez une clé personnelle dans [OOMOL Console](https://console.oomol.com/api-key), puis définissez la variable d’environnement ci-dessous côté serveur. Utilisez cette clé OOMOL comme apiKey du SDK ou comme jeton HTTP Bearer. Les exemples ne nécessitent pas de clé du fournisseur. Ne placez pas la clé dans le navigateur, un dépôt public ou les journaux.

```sh
export FUSION_API_TOKEN="<your-oomol-api-key>"
```

## Choisir une adresse

Le service utilise [https://fusion-api.oomol.com](https://fusion-api.oomol.com). Utilisez la Base URL complète du fournisseur, avec son chemin de version. Ne la remplacez pas par celle de Connector ou ProjectConnector. Avant une requête payante, confirmez la disponibilité du modèle et consultez les [tarifs](/fr/pricing/).

| Fournisseur | Base URL |
| --- | --- |
| OpenAI Images | `https://fusion-api.oomol.com/v1/provider/openai/v1` |
| Seedream | `https://fusion-api.oomol.com/v1/provider/seedream/api/v3` |
| Seedance | `https://fusion-api.oomol.com/v1/provider/seedance/api/v3` |
| Wanx | `https://fusion-api.oomol.com/v1/provider/wanx/api/v1` |
| Kling | `https://fusion-api.oomol.com/v1/provider/kling/` |
| MiniMax | `https://fusion-api.oomol.com/v1/provider/minimax/` |

## Exécuter un exemple

Installez uniquement le paquet nécessaire. Enregistrez l’exemple dans example.ts et exécutez-le dans un environnement TypeScript côté serveur. Les versions indiquées correspondent aux tests locaux du dépôt et ne garantissent pas toutes les versions de SDK. Avec des identifiants valides et un point d’accès disponible, ces exemples déclenchent une génération réelle.

### OpenAI Images

Génération et retouche d’images ; aucune autre API OpenAI.

```sh
npm install openai@7.23.0
```

```ts
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/openai/v1",
  maxRetries: 0,
  timeout: 1_080_000,
});

const result = await client.images.generate({
  model: "gpt-image-2",
  prompt: "A ceramic mug on a wooden table",
  size: "1536x864",
  quality: "medium",
});
console.log(result);
```

### Seedream

Génération d’images, références et certaines sorties SSE.

```sh
npm install @volcengine/ark-runtime@1.0.11
```

```ts
import { ArkRuntimeClient } from "@volcengine/ark-runtime";

const client = new ArkRuntimeClient({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/seedream/api/v3",
  retryTimes: 0,
  timeout: 125_000,
});

const result = await client.generateImages({
  model: "doubao-seedream-5-0-260128",
  prompt: "A ceramic mug on a wooden table",
  size: "2K",
  response_format: "url",
});
console.log(result);
```

### Seedance

Génération vidéo et consultation des tâches.

```sh
npm install @volcengine/ark-runtime@1.0.11
```

```ts
import { ArkRuntimeClient } from "@volcengine/ark-runtime";

const client = new ArkRuntimeClient({
  apiKey: process.env.FUSION_API_TOKEN,
  baseURL: "https://fusion-api.oomol.com/v1/provider/seedance/api/v3",
  retryTimes: 0,
  timeout: 125_000,
});

const task = await client.createContentGenerationTask({
  model: "doubao-seedance-2-0-260128",
  content: [{ type: "text", text: "A boat on the ocean" }],
  duration: 5,
  resolution: "720p",
});
const status = await client.getContentGenerationTask(task.id);
console.log(task.id, status);
```

### Wanx

Génération vidéo et consultation des tâches.

```sh
npm install dashscope-sdk-official@1.26.0
```

```ts
import { Configuration, VideoSynthesis } from "dashscope-sdk-official";

const client = new VideoSynthesis(new Configuration({
  apiKey: process.env.FUSION_API_TOKEN,
  basePath: "https://fusion-api.oomol.com/v1/provider/wanx/api/v1",
}));

const task = await client.asyncCall({
  model: "wan3.0-video",
  prompt: "A boat on the ocean",
  resolution: "1080P",
  duration: 5,
});
const status = await client.fetch(task.output.task_id);
console.log(task.output.task_id, status);
```

### Kling

Génération vidéo et consultation des tâches.

```sh
npm install ky@1.11.0
```

```ts
import ky from "ky";

const client = ky.create({
  prefixUrl: "https://fusion-api.oomol.com/v1/provider/kling/",
  headers: { Authorization: `Bearer ${process.env.FUSION_API_TOKEN}` },
  retry: 0,
  redirect: "error",
  timeout: 30_000,
});

const task = await client.post("text-to-video/kling-3.0-turbo", {
  json: {
    prompt: "A boat on the ocean",
    settings: { duration: 5, resolution: "720p", aspect_ratio: "16:9" },
  },
}).json<{ data: { id: string } }>();
const status = await client.get("tasks", {
  searchParams: { task_ids: task.data.id },
}).json();
console.log(task.data.id, status);
```

### MiniMax

Génération vidéo et consultation des tâches.

```sh
npm install ky@1.11.0
```

```ts
import ky from "ky";

const client = ky.create({
  prefixUrl: "https://fusion-api.oomol.com/v1/provider/minimax/",
  headers: { Authorization: `Bearer ${process.env.FUSION_API_TOKEN}` },
  retry: 0,
  redirect: "error",
  timeout: 30_000,
});

const task = await client.post("v2/video_generation", {
  json: {
    model: "MiniMax-H3",
    content: [{ type: "text", text: "A boat on the ocean" }],
    duration: 5,
    resolution: "768P",
    ratio: "16:9",
  },
}).json<{ task_id: string }>();
const status = await client.get(
  `v2/query/video_generation/${encodeURIComponent(task.task_id)}`,
).json();
console.log(task.task_id, status);
```

## Consulter les résultats vidéo

Les exemples vidéo créent une tâche puis la consultent une fois. Enregistrez son identifiant. La création réussie signifie que la tâche est acceptée, pas que la vidéo est prête. Consultez-la avec la même identité OOMOL, en espaçant les requêtes, jusqu’à un état final. Arrêtez après succès ou échec et lisez le résultat ou l’erreur. Une consultation échouée ne prouve pas l’échec de la génération. Ne recréez pas la tâche pour vérifier sa progression.

## Gérer les erreurs et nouvelles tentatives

Vérifiez les erreurs HTTP et l’état de la tâche. Les contrôles d’identité et de solde peuvent renvoyer des erreurs de passerelle au format différent. Vérifiez la clé OOMOL en cas d’échec d’authentification, le compte et la [facturation](https://console.oomol.com/billing/recharge) pour les droits ou le solde, et les paramètres pour les entrées invalides. En cas de limite, réduisez la concurrence et suivez les indications de reprise fournies.

Un délai dépassé, une déconnexion ou une erreur serveur peut laisser le résultat incertain. Conservez les identifiants et les erreurs ; consultez la tâche existante si possible. Ne renvoyez pas automatiquement la génération, car cela peut créer une autre tâche payante. Les exemples OpenAI et Ark désactivent les reprises SDK ; ky désactive aussi les redirections. DashScope utilise la configuration testée. Une limite d’attente applicative ne doit pas entraîner une nouvelle création automatique.

## Fichiers, streaming et résultats

Les limites des imports, références et flux varient selon le fournisseur. L’exemple OpenAI couvre uniquement Images API, pas le chat, Responses ou les autres API. Seedream prend en charge certaines opérations SSE ; l’entrée image OpenAI présentée est synchrone. Recevoir des événements partiels ne signifie pas avoir reçu l’événement final.

Téléchargez les URL de médias avec un client séparé, sans en-tête OOMOL Authorization. Ne supposez pas que les liens sont permanents. La déconnexion ne garantit pas l’annulation d’une génération acceptée. Pour une opération non prise en charge ou un résultat incertain, contactez le [support](mailto:support@oomol.com) avec les identifiants de requête ou de tâche, sans secrets.

Revenir à la [présentation des API Image et Vidéo](/fr/image-video-api/).

## Référence API

[Référence API](https://fusion-api.oomol.com/public/docs?lang=en) · [OpenAPI JSON](https://fusion-api.oomol.com/public/openapi.json?lang=en)
