> ## 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 pembuatan dan pengeditan gambar

> Pilih rute gambar CometAPI untuk pembuatan dan pengeditan yang kompatibel dengan OpenAI, Gemini dan Nano Banana, Midjourney, Flux, Bria, Replicate, serta alur kerja Seedream atau SeedEdit.

Gunakan dokumentasi model gambar CometAPI dengan memilih format permintaan yang sesuai dengan alur kerja Anda. Endpoint gambar yang kompatibel dengan OpenAI mencakup alur pembuatan dan pengeditan umum; halaman khusus penyedia mencakup sistem gambar berbasis tugas.

## Pilih API gambar

<CardGroup cols={2}>
  <Card title="Buat gambar" icon="image" href="/api/image/openai/images">
    Buat gambar dengan permintaan yang kompatibel dengan OpenAI.
  </Card>

  <Card title="Buat pengeditan gambar" icon="sparkles" href="/api/image/openai/image-editing">
    Edit gambar dengan permintaan yang kompatibel dengan OpenAI.
  </Card>

  <Card title="Buat gambar dengan Gemini" icon="image" href="/api/image/gemini/gemini-generates-image">
    Buat atau edit gambar dengan format Gemini.
  </Card>

  <Card title="Mulai dengan Midjourney API" icon="sparkles" href="/api/image/midjourney/midjourney-api-quick-start">
    Kirim dan polling tugas gambar Midjourney.
  </Card>

  <Card title="Buat gambar Flux" icon="image" href="/api/image/flux/flux-generate-image">
    Buat gambar Flux melalui CometAPI.
  </Card>

  <Card title="Buat gambar Bria" icon="image" href="/api/image/bria/generate-image">
    Gunakan alat pembuatan gambar Bria.
  </Card>

  <Card title="Buat prediksi Replicate" icon="sparkles" href="/api/image/replicate/create-predictions-general">
    Jalankan permintaan prediksi gambar berformat Replicate.
  </Card>

  <Card title="Buat gambar Seedream" icon="image" href="/api/image/seededit-seedream/bytedance-image-generation">
    Buat permintaan pembuatan gambar Seedream.
  </Card>
</CardGroup>

## Buat gambar

Gunakan model ID yang mendukung gambar dari [halaman Models](/id/overview/models) atau [direktori model](https://www.cometapi.com/models/). Contoh di bawah memanggil endpoint Create an image yang kompatibel dengan OpenAI.

<Note>
  Contoh ini menggunakan placeholder `your-image-model-id`. Ganti dengan model ID gambar yang tersedia dari [halaman Models](/id/overview/models) atau [direktori model](https://www.cometapi.com/models/) sebelum Anda menjalankan permintaan.
</Note>

<Tip>
  Buka [Create an image](/api/image/openai/images) untuk menggunakan playground dan skema 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>

## Contoh respons

Respons yang berhasil dapat terlihat seperti ini. Bergantung pada model yang dipilih, setiap item dapat berisi gambar base64 atau URL hasil:

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

## Contoh record model

<Info>
  Contoh respons katalog model ini menampilkan envelope `/api/models` dan satu bentuk record model gambar. Ini bukan daftar model yang lengkap.
</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
      }
    }
  ]
}
```

## Error umum

<AccordionGroup>
  <Accordion title="Invalid model ID">
    Pilih model yang mendukung gambar dari [halaman Models](/id/overview/models).
  </Accordion>

  <Accordion title="Unsupported size">
    Gunakan ukuran yang diterima oleh endpoint gambar yang dipilih.
  </Accordion>

  <Accordion title="Expired result URL">
    Unduh aset yang dihasilkan sebelum tautan provider kedaluwarsa.
  </Accordion>

  <Accordion title="Upload too large">
    Gunakan URL gambar atau file yang lebih kecil alih-alih payload base64 yang besar.
  </Accordion>

  <Accordion title="Missing image data">
    Periksa kedua field `b64_json` dan `url` karena bentuk output dapat berbeda menurut model.
  </Accordion>
</AccordionGroup>

## Kode error dan strategi retry

<AccordionGroup>
  <Accordion title="400">
    Jangan retry sampai prompt, ukuran, atau input gambar diperbaiki.
  </Accordion>

  <Accordion title="401">
    Jangan retry sampai API key tersedia dan valid.
  </Accordion>

  <Accordion title="404">
    Periksa base URL, path, dan model ID sebelum retry.
  </Accordion>

  <Accordion title="413">
    Kurangi ukuran upload sebelum retry.
  </Accordion>

  <Accordion title="429">
    Retry dengan exponential backoff dan kurangi concurrency.
  </Accordion>

  <Accordion title="500 or 503">
    Retry dengan backoff untuk error provider atau layanan yang bersifat sementara.
  </Accordion>
</AccordionGroup>

<Tip>
  Untuk pola implementasi, lihat [Kode error dan strategi retry](/id/guides/error-codes-and-retry-strategy) dan [Rate limits and concurrency](/id/guides/rate-limits-and-concurrency).
</Tip>

## Harga dan direktori model

<CardGroup cols={3}>
  <Card title="Models page" icon="list" href="/overview/models">
    Baca bagaimana CometAPI mengekspos model ID di dokumentasi.
  </Card>

  <Card title="Model directory" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    Jelajahi ketersediaan dan kapabilitas model.
  </Card>

  <Card title="Pricing" icon="tag" href="https://www.cometapi.com/pricing/">
    Periksa harga sebelum Anda memanggil model.
  </Card>
</CardGroup>
