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

# Seedream

## 1. Vue d'ensemble

L'API de génération d'images Seedream utilise un format de requête de génération d'images de style OpenAI et prend en charge la génération texte-vers-image, image-vers-image ainsi que l'édition d'images. Les quatre modèles utilisent la même interface ; le client n'a qu'à sélectionner le modèle dans le champ `model` du corps de la requête.

### Modèles pris en charge

| ID de modèle côté client       | Modèle            | Mode de sortie                           |
| ------------------------------ | ----------------- | ---------------------------------------- |
| `seedream-4-0-250828`          | Seedream 4.0      | Image unique ou série d'images           |
| `seedream-4-5-251128`          | Seedream 4.5      | Image unique ou série d'images           |
| `seedream-5-0-260128`          | Seedream 5.0 Lite | Image unique ou série d'images           |
| `dola-seedream-5-0-pro-260628` | Seedream 5.0 Pro  | Image unique ou décomposition en calques |

## 2. Interface et authentification

```http theme={null}
POST https://{api_domain}/v3/bytedance/api/v3/images/generations
```

En-têtes de requête :

```http theme={null}
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
```

`{api_domain}` correspond au domaine API de votre plateforme. La requête doit utiliser POST et le corps doit être en JSON.

## 3. Paramètres de requête

### 3.1 Paramètres communs

<ParamField body="model" type="string" required={true}>
  Utilisez l'ID de modèle figurant dans le tableau ci-dessus.
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  Description de l'image, prend en charge le chinois et l'anglais.
</ParamField>

<ParamField body="image" type="string / string[]">
  URL de l'image de référence ou Data URL Base64. Vous pouvez transmettre une seule image ou un tableau. Le nombre et les limites d'images dépendent des restrictions du modèle sélectionné.
</ParamField>

<ParamField body="size" type="string">
  Utilisez un palier de résolution pris en charge par le modèle ou `largeurxhauteur`. Si non fourni, la valeur par défaut du modèle est utilisée.
</ParamField>

<ParamField body="response_format" type="string">
  `url` ou `b64_json`, `url` par défaut.
</ParamField>

<ParamField body="output_format" type="string">
  Pris en charge uniquement par Seedream 5.0 Lite et 5.0 Pro : `jpeg` ou `png`. Seedream 4.0 et 4.5 produisent toujours du JPEG ; la transmission de `output_format` sera rejetée.
</ParamField>

<ParamField body="watermark" type="boolean">
  Indique si le filigrane « généré par IA » doit être ajouté.
</ParamField>

<ParamField body="stream" type="boolean">
  L'interface d'images ne prend pas en charge la sortie en flux continu ; ne transmettez pas `true`.
</ParamField>

### 3.2 Paramètres spécifiques aux modèles

| Paramètre                             | Modèles concernés  | Description                                                                                                                                                                                                                                                                                                               |
| ------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sequential_image_generation`         | 4.0, 4.5, 5.0 Lite | Interrupteur de génération de séries d'images. En cas de besoin, renseignez-le selon le protocole en amont du modèle correspondant ; omettez-le si vous n'utilisez pas les séries d'images.                                                                                                                               |
| `sequential_image_generation_options` | 4.0, 4.5, 5.0 Lite | Options de génération de séries d'images, à utiliser avec `sequential_image_generation`.                                                                                                                                                                                                                                  |
| Paliers 1K, 1.5K, 2K de `size`        | 5.0 Pro            | Pro prend en charge ces paliers ainsi que les valeurs explicites `largeurxhauteur`. Pro ne prend pas en charge les paramètres de série d'images. Dans le scénario de décomposition en calques, seuls les paliers (auto inclus) sont pris en charge, activés via `layer_decomposition: true` (voir les limites du modèle). |

Seedream 5.0 Pro ne prend pas en charge `sequential_image_generation` ni `sequential_image_generation_options` ; la transmission de l'un de ces champs sera rejetée. N'envoyez pas à Pro les paramètres spécifiques aux autres modèles.

### 3.3 Exemple de génération texte-vers-image

La requête suivante prend Seedream 5.0 Pro en exemple. Les quatre modèles partagent la même interface ; avec Seedream 4.0 ou 4.5, vous devez supprimer `output_format`, ce champ ne pouvant être transmis qu'avec Seedream 5.0 Lite/Pro :

```bash theme={null}
curl -sS -X POST "https://{api_domain}/v3/bytedance/api/v3/images/generations" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dola-seedream-5-0-pro-260628",
    "prompt": "一只戴着红色围巾的金毛犬，在雪山湖边的自然光下，电影感摄影",
    "size": "2K",
    "response_format": "url",
    "output_format": "jpeg",
    "watermark": true
  }'
```

### 3.4 Exemple de génération image-vers-image

`image` peut être une URL unique, un Data URL Base64 unique ou un tableau de chaînes :

```json theme={null}
{
  "model": "seedream-4-5-251128",
  "prompt": "将参考图中的人物和服装放在统一的城市夜景中，保持人物特征一致",
  "image": [
    "https://example.com/person.png",
    "https://example.com/outfit.png"
  ],
  "size": "2560x1440",
  "response_format": "url"
}
```

### 3.5 Exemple de série d'images (4.0, 4.5 et 5.0 Lite uniquement)

Les paramètres de série d'images concernent les trois premiers modèles. Exemple :

```json theme={null}
{
  "model": "seedream-5-0-260128",
  "prompt": "生成三张风格统一的四季海报",
  "sequential_image_generation": "auto",
  "sequential_image_generation_options": {
    "max_images": 3
  },
  "response_format": "url"
}
```

Reportez-vous au protocole en amont du modèle sélectionné pour confirmer les valeurs disponibles et les limites de nombre des paramètres de série d'images.

## 4. Réponse

Exemple de réponse réussie :

```json theme={null}
{
  "created": 1786000000,
  "model": "seedream-4-5-251128",
  "data": [
    {
      "url": "https://example.com/generated-image.jpeg",
      "size": "2560x1440",
      "output_format": "jpeg"
    }
  ],
  "usage": {
    "generated_images": 1,
    "input_images": 0
  }
}
```

* Lorsque `response_format=url`, `data[].url` est renvoyé ; lorsque `response_format=b64_json`, `data[].b64_json` est renvoyé.
* Seedream 4.0, 4.5 et 5.0 Lite peuvent renvoyer plusieurs éléments `data` en mode série d'images.
* Seedream 5.0 Pro renvoie un élément `data` dans le scénario de génération d'images ; lorsque la décomposition en calques est activée, il renvoie plusieurs éléments `data` (une image de base + plusieurs calques), chacun incluant en plus l'ordre d'empilement du calque `z_index` (0 pour l'image de base), le nom `name`, la description `description` et la boîte englobante `bounding_box` (coordonnées absolute / normalized ; ce champ n'est pas renvoyé pour l'image de base).
* `model` renvoie l'ID de modèle côté client utilisé pour cette requête.
* La durée de validité des URL d'images est déterminée par la plateforme et le service en amont ; téléchargez et enregistrez les images rapidement après leur retour.

## 5. Limites des modèles

### Seedream 4.0 / 4.5 / 5.0 Lite

* Prend en charge la génération texte-vers-image, image-vers-image et les séries d'images.
* Les séries d'images utilisent `sequential_image_generation` et son champ options.
* Le nombre d'images en entrée, la taille des images, la résolution et le rapport hauteur/largeur dépendent de la documentation en amont du modèle correspondant. Seedream 4.0 et 4.5 produisent toujours du JPEG et ne prennent pas en charge le paramètre de requête `output_format` ; Seedream 5.0 Lite prend en charge `jpeg` et `png`.

### Seedream 5.0 Pro

* Prend en charge la génération texte-vers-image, image-vers-image à partir d'une seule image et la fusion de plusieurs images.
* Dans le scénario de génération d'images, une seule image réussie est renvoyée. Lorsque la décomposition en calques (`layer_decomposition: true`) est activée, une image de base et plusieurs calques (jusqu'à 16 calques) sont renvoyés, auquel cas `data` contient plusieurs éléments. La génération de séries d'images (`sequential_image_generation`) n'est pas prise en charge.
* `sequential_image_generation` et `sequential_image_generation_options` ne sont pas pris en charge.
* `size` peut être 1K, 1.5K, 2K ou une valeur explicite `largeurxhauteur`.
* Lorsque la largeur et la hauteur sont explicites, le rapport hauteur/largeur et le nombre total de pixels doivent respecter les limites du modèle ; les dimensions réelles de l'image de sortie sont celles indiquées dans `data[].size` de la réponse.
* Prend en charge la décomposition en calques : lorsque `layer_decomposition: true` est défini, une image d'entrée unique est décomposée en une image de base et jusqu'à 16 calques modifiables indépendamment (chaque calque étant un PNG avec canal alpha). Dans ce scénario, `image` est obligatoire et une seule image peut être transmise ; l'envoi de plusieurs images génère une erreur. La décomposition en calques est tout ou rien : si un calque échoue, toute la requête échoue ; la réussite partielle n'est pas prise en charge.
* Règles de `size` pour la décomposition en calques : la résolution de l'image de base est égale à `size` ; la résolution de chaque calque est proche de `size`, mais chaque calque conserve le rapport hauteur/largeur de sa zone correspondante dans l'image d'origine, de sorte que le nombre réel de pixels diffère d'un calque à l'autre. Cela signifie que les images de sortie d'une même requête peuvent relever de paliers de prix différents selon le nombre de pixels. `size` accepte 1K, 1.5K, 2K, auto ; auto par défaut.

## 6. Facturation et utilisation

* 4.0, 4.5 et 5.0 Lite sont facturés selon le nombre d'images générées avec succès ; pour les séries d'images, la facturation est calculée selon le nombre réel de sorties réussies.
* 5.0 Pro est facturé selon les images de sortie réussies ; en cas d'entrée de plusieurs images, la première image de référence est gratuite et les images de référence supplémentaires sont comptées séparément ; des dimensions de sortie différentes correspondent à des paliers de prix différents. Lorsque la décomposition en calques est activée, l'image de base et chaque calque comptent chacun comme une image de sortie réussie, chacun étant facturé séparément dans le palier de prix correspondant au nombre de pixels de son `data[].size` (par exemple, l'image de base dans un palier à pixels élevés et certains calques dans un palier à pixels faibles) ; la facture finale correspond à la somme des quantités de chaque palier.
* L'unité d'utilisation est « image » ou item.
* Pour les prix exacts, reportez-vous à la page des tarifs produits de votre plateforme.

## 7. Dépannage des erreurs

| Scénario                                | Recommandation                                                                                                           |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Modèle non pris en charge               | Vérifiez que `model` correspond exactement au tableau ci-dessus.                                                         |
| `prompt` manquant                       | Le corps de la requête doit contenir un prompt non vide.                                                                 |
| Impossible de lire l'image              | Vérifiez l'accessibilité, le format, la taille et les limites de pixels de l'URL.                                        |
| `stream=true`                           | L'interface d'images ne prend pas en charge la sortie en flux continu ; supprimez ce champ ou définissez-le sur `false`. |
| Champs de série d'images transmis à Pro | Supprimez les deux champs `sequential_image_generation*`.                                                                |
| `size` non valide                       | Utilisez un palier pris en charge par le modèle sélectionné ou une valeur `largeurxhauteur` conforme aux limites.        |
