> ## 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

> OpenAI 互換の生成・編集、Gemini と Nano Banana、Midjourney、Flux、Bria、Replicate、そして Seedream または SeedEdit のワークフローに対応する CometAPI の画像ルートを選択します。

ワークフローに合ったリクエスト形式を選んで、CometAPI の画像モデルドキュメントを利用してください。OpenAI 互換の画像エンドポイントは一般的な生成および編集フローをカバーし、プロバイダー固有のページではタスクベースの画像システムを扱います。

## 画像 API を選ぶ

<CardGroup cols={2}>
  <Card title="画像を作成" icon="image" href="/api/image/openai/images">
    OpenAI 互換のリクエストで画像を生成します。
  </Card>

  <Card title="画像編集を作成" icon="sparkles" href="/api/image/openai/image-editing">
    OpenAI 互換のリクエストで画像を編集します。
  </Card>

  <Card title="Gemini で画像を生成" icon="image" href="/api/image/gemini/gemini-generates-image">
    Gemini 形式で画像を生成または編集します。
  </Card>

  <Card title="Midjourney API を使い始める" icon="sparkles" href="/api/image/midjourney/midjourney-api-quick-start">
    Midjourney の画像タスクを送信してポーリングします。
  </Card>

  <Card title="Flux 画像を生成" icon="image" href="/api/image/flux/flux-generate-image">
    CometAPI を通じて Flux 画像を生成します。
  </Card>

  <Card title="Bria 画像を生成" icon="image" href="/api/image/bria/generate-image">
    Bria の画像生成ツールを使用します。
  </Card>

  <Card title="Replicate prediction を作成" icon="sparkles" href="/api/image/replicate/create-predictions-general">
    Replicate 形式の画像 prediction リクエストを実行します。
  </Card>

  <Card title="Seedream 画像を作成" icon="image" href="/api/image/seededit-seedream/bytedance-image-generation">
    Seedream の画像生成リクエストを作成します。
  </Card>
</CardGroup>

## 画像を生成する

[Models page](/ja/overview/models) または [model directory](https://www.cometapi.com/models/) から画像対応の model ID を使用します。以下の例では、OpenAI 互換の Create an image エンドポイントを呼び出します。

<Note>
  これらの例ではプレースホルダー `your-image-model-id` を使用しています。リクエストを実行する前に、[Models page](/ja/overview/models) または [model directory](https://www.cometapi.com/models/) にある利用可能な画像 model ID に置き換えてください。
</Note>

<Tip>
  プレイグラウンドとエンドポイントスキーマを使うには、[Create an image](/api/image/openai/images) を開いてください。
</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>

## レスポンス例

成功したレスポンスは次のようになります。選択したモデルによって、各項目には base64 画像または結果 URL を含めることができます。

```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
  }
}
```

## モデルレコードの例

<Info>
  このモデルカタログのレスポンス例は、`/api/models` のエンベロープと、1 つの画像モデルレコードの形式を示しています。完全なモデル一覧ではありません。
</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
      }
    }
  ]
}
```

## よくあるエラー

<AccordionGroup>
  <Accordion title="Invalid model ID">
    [Models page](/ja/overview/models) から画像対応モデルを選択してください。
  </Accordion>

  <Accordion title="Unsupported size">
    選択した画像エンドポイントが受け付けるサイズを使用してください。
  </Accordion>

  <Accordion title="Expired result URL">
    プロバイダーのリンクが期限切れになる前に、生成されたアセットをダウンロードしてください。
  </Accordion>

  <Accordion title="Upload too large">
    大きな base64 ペイロードの代わりに、画像 URL またはより小さいファイルを使用してください。
  </Accordion>

  <Accordion title="Missing image data">
    モデルによって出力形式が異なる可能性があるため、`b64_json` と `url` の両方のフィールドを確認してください。
  </Accordion>
</AccordionGroup>

## エラーコードと再試行戦略

<AccordionGroup>
  <Accordion title="400">
    プロンプト、サイズ、または画像入力を修正するまで再試行しないでください。
  </Accordion>

  <Accordion title="401">
    API キーが存在し有効になるまで再試行しないでください。
  </Accordion>

  <Accordion title="404">
    再試行する前に、ベース URL、パス、および model ID を確認してください。
  </Accordion>

  <Accordion title="413">
    再試行する前にアップロードサイズを減らしてください。
  </Accordion>

  <Accordion title="429">
    指数バックオフで再試行し、同時実行数を減らしてください。
  </Accordion>

  <Accordion title="500 or 503">
    一時的なプロバイダーまたはサービスエラーについては、バックオフを入れて再試行してください。
  </Accordion>
</AccordionGroup>

<Tip>
  実装パターンについては、[Error codes and retry strategy](/ja/guides/error-codes-and-retry-strategy) と [Rate limits and concurrency](/ja/guides/rate-limits-and-concurrency) を参照してください。
</Tip>

## 価格設定とモデルディレクトリ

<CardGroup cols={3}>
  <Card title="Models page" icon="list" href="/overview/models">
    ドキュメントで CometAPI が model IDs をどのように公開しているかを確認してください。
  </Card>

  <Card title="Model directory" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    モデルの提供状況と機能を確認できます。
  </Card>

  <Card title="Pricing" icon="tag" href="https://www.cometapi.com/pricing/">
    モデルを呼び出す前に価格を確認してください。
  </Card>
</CardGroup>
