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

# API de génération et d’édition d’images

> Choisissez les routes d’image CometAPI pour la génération et les modifications compatibles OpenAI, Gemini et Nano Banana, Midjourney, Flux, Bria, Replicate, ainsi que les workflows Seedream ou SeedEdit.

Utilisez la documentation des modèles d’image CometAPI en choisissant le format de requête qui correspond à votre workflow. Les endpoints d’image compatibles OpenAI couvrent les flux courants de génération et d’édition ; les pages spécifiques aux fournisseurs couvrent les systèmes d’image orientés tâche.

## Choisir une API d’image

<CardGroup cols={2}>
  <Card title="Créer une image" icon="image" href="/api/image/openai/images">
    Générez des images avec une requête compatible OpenAI.
  </Card>

  <Card title="Créer une modification d’image" icon="sparkles" href="/api/image/openai/image-editing">
    Modifiez des images avec une requête compatible OpenAI.
  </Card>

  <Card title="Générer des images avec Gemini" icon="image" href="/api/image/gemini/gemini-generates-image">
    Générez ou modifiez des images au format Gemini.
  </Card>

  <Card title="Commencer avec l’API Midjourney" icon="sparkles" href="/api/image/midjourney/midjourney-api-quick-start">
    Soumettez et interrogez les tâches d’image Midjourney.
  </Card>

  <Card title="Générer une image Flux" icon="image" href="/api/image/flux/flux-generate-image">
    Générez des images Flux via CometAPI.
  </Card>

  <Card title="Générer une image Bria" icon="image" href="/api/image/bria/generate-image">
    Utilisez les outils de génération d’image Bria.
  </Card>

  <Card title="Créer une prédiction Replicate" icon="sparkles" href="/api/image/replicate/create-predictions-general">
    Exécutez des requêtes de prédiction d’image au format Replicate.
  </Card>

  <Card title="Créer des images Seedream" icon="image" href="/api/image/seededit-seedream/bytedance-image-generation">
    Créez des requêtes de génération d’image Seedream.
  </Card>
</CardGroup>

## Générer une image

Utilisez un model ID compatible avec les images depuis la [page Models](/fr/overview/models) ou le [répertoire des modèles](https://www.cometapi.com/models/). Les exemples ci-dessous appellent l’endpoint OpenAI-compatible Create an image.

<Note>
  Ces exemples utilisent l’espace réservé `your-image-model-id`. Remplacez-le par un model ID d’image disponible depuis la [page Models](/fr/overview/models) ou le [répertoire des modèles](https://www.cometapi.com/models/) avant d’exécuter la requête.
</Note>

<Tip>
  Ouvrez [Create an image](/api/image/openai/images) pour utiliser le playground et le schéma de l’endpoint.
</Tip>

<CodeGroup>
  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.cometapi.com/v1/images/generations",
      headers={
          "Authorization": "Bearer " + os.environ["COMETAPI_KEY"],
          "Content-Type": "application/json",
      },
      json={
          "model": "your-image-model-id",
          "prompt": "A clean product photo of a glass teapot on a white table",
          "size": "1024x1024",
      },
      timeout=120,
  )

  response.raise_for_status()
  result = response.json()
  print(result["data"][0].keys())
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://api.cometapi.com/v1/images/generations", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "your-image-model-id",
      prompt: "A clean product photo of a glass teapot on a white table",
      size: "1024x1024",
    }),
  });

  if (!response.ok) {
    throw new Error(await response.text());
  }

  const result = await response.json();
  console.log(Object.keys(result.data[0]));
  ```

  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/images/generations \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-image-model-id",
      "prompt": "A clean product photo of a glass teapot on a white table",
      "size": "1024x1024"
    }'
  ```
</CodeGroup>

## Exemple de réponse

Une réponse réussie peut ressembler à ceci. Selon le modèle sélectionné, chaque élément peut contenir une image base64 ou une URL de résultat :

```json theme={null}
{
  "created": 1779872000,
  "background": "opaque",
  "data": [
    {
      "b64_json": "iVBORw0KGgo..."
    }
  ],
  "output_format": "png",
  "quality": "low",
  "size": "1024x1024",
  "usage": {
    "input_tokens": 19,
    "input_tokens_details": {
      "image_tokens": 0,
      "text_tokens": 19
    },
    "output_tokens": 196,
    "output_tokens_details": {
      "image_tokens": 196,
      "text_tokens": 0
    },
    "total_tokens": 215
  }
}
```

## Exemples d’enregistrements de modèle

<Info>
  Cet exemple de réponse du catalogue de modèles montre l’enveloppe `/api/models` et la forme d’un enregistrement de modèle d’image. Il ne s’agit pas d’une liste complète des modèles.
</Info>

```bash cURL theme={null}
curl https://api.cometapi.com/api/models
```

```json theme={null}
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 1776391310,
      "id": "your-image-model-id",
      "code": "your-image-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example image model",
      "model_type": "image",
      "features": [
        "text-to-image"
      ],
      "endpoints": "{\n  \"openai-image\": {\n    \"path\": \"/v1/images/generations\",\n    \"method\": \"POST\"\n  }\n}",
      "pricing": {
        "currency": "USD / M Tokens",
        "input": 4,
        "output": 24,
        "per_request": null,
        "per_second": null
      }
    }
  ]
}
```

## Erreurs courantes

<AccordionGroup>
  <Accordion title="Invalid model ID">
    Choisissez un modèle compatible avec les images depuis la [page Models](/fr/overview/models).
  </Accordion>

  <Accordion title="Unsupported size">
    Utilisez une taille acceptée par le endpoint d’image sélectionné.
  </Accordion>

  <Accordion title="Expired result URL">
    Téléchargez les ressources générées avant l’expiration des liens du fournisseur.
  </Accordion>

  <Accordion title="Upload too large">
    Utilisez des URL d’image ou des fichiers plus petits au lieu de charges utiles base64 volumineuses.
  </Accordion>

  <Accordion title="Missing image data">
    Vérifiez les champs `b64_json` et `url`, car la forme de la sortie peut varier selon le modèle.
  </Accordion>
</AccordionGroup>

## Codes d’erreur et stratégie de nouvelle tentative

<AccordionGroup>
  <Accordion title="400">
    N’effectuez pas de nouvelle tentative tant que le prompt, la taille ou l’image d’entrée n’est pas corrigé.
  </Accordion>

  <Accordion title="401">
    N’effectuez pas de nouvelle tentative tant que la clé API n’est pas présente et valide.
  </Accordion>

  <Accordion title="404">
    Vérifiez l’URL de base, le chemin et le model ID avant de réessayer.
  </Accordion>

  <Accordion title="413">
    Réduisez la taille du téléversement avant de réessayer.
  </Accordion>

  <Accordion title="429">
    Réessayez avec un backoff exponentiel et réduisez la concurrence.
  </Accordion>

  <Accordion title="500 or 503">
    Réessayez avec un backoff pour les erreurs temporaires du fournisseur ou du service.
  </Accordion>
</AccordionGroup>

<Tip>
  Pour des modèles d’implémentation, consultez [Error codes and retry strategy](/fr/guides/error-codes-and-retry-strategy) et [Rate limits and concurrency](/fr/guides/rate-limits-and-concurrency).
</Tip>

## Tarification et répertoire des modèles

<CardGroup cols={3}>
  <Card title="Models page" icon="list" href="/overview/models">
    Découvrez comment CometAPI expose les model IDs dans la documentation.
  </Card>

  <Card title="Model directory" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    Parcourez la disponibilité et les capacités des modèles.
  </Card>

  <Card title="Pricing" icon="tag" href="https://www.cometapi.com/pricing/">
    Vérifiez la tarification avant d’appeler un modèle.
  </Card>
</CardGroup>
