API Gambar

Teks-ke-gambar dan gambar-ke-gambar/edit; secara sinkron mengembalikan URL gambar atau data Base64

API Gambar menyediakan kemampuan teks-ke-gambar dan gambar-ke-gambar/edit. Semua permintaan sinkron dan mengembalikan URL gambar atau data Base64 saat berhasil.

Endpoint

MethodPathDeskripsi
POST/v1/images/generationsTeks-ke-gambar
POST/v1/images/editsGambar-ke-gambar / edit gambar

Prasyarat: model harus berupa model dari API Model yang supported_endpoint_types-nya mencakup image-generation.

Penagihan: Penagihan per permintaan. Lihat field usage di Objek respons bersama.


POST /v1/images/generations

Teks-ke-gambar.

Auth: Bearer Token

Content-Type: application/json

Body permintaan

{
  "model": "dall-e-3",
  "prompt": "A white siamese cat sitting on a windowsill, watercolor style",
  "n": 1,
  "size": "1024x1024",
  "quality": "standard",
  "response_format": "url"
}

Field permintaan

FieldTipeWajibDeskripsi
modelstringYaID model gambar
promptstringYaDeskripsi gambar
nintegerTidakJumlah gambar yang dihasilkan; default 1
sizestringTidakUkuran, mis. 1024x1024, 1792x1024
qualitystringTidakKualitas, mis. standard, hd
response_formatstringTidakurl (default) atau b64_json
stylestringTidakGaya, mis. vivid, natural

Contoh model gambar Agnes (dengan gambar referensi):

{
  "model": "agnes-image-2.0-flash",
  "prompt": "A sunset over the ocean, cinematic lighting",
  "size": "1024x768",
  "response_format": "url",
  "extra_body": {
    "response_format": "url"
  },
  "image": ["https://example.com/reference.jpg"]
}

Contoh permintaan (curl)

curl http://www.mangoto.ai/v1/images/generations \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A white siamese cat sitting on a windowsill, watercolor style",
    "n": 1,
    "size": "1024x1024",
    "quality": "standard",
    "response_format": "url"
  }'

Body respons

HTTP 200

{
  "created": 1712697600,
  "data": [
    {
      "url": "https://cdn.example.com/generated/image_abc123.png",
      "revised_prompt": "A white Siamese cat perched on a sunlit windowsill, rendered in soft watercolor style."
    }
  ],
  "usage": {
    "quota_type": 1,
    "prompt_tokens": 0,
    "completion_tokens": 0,
    "total_tokens": 0,
    "request_count": 1,
    "quota": 5000
  }
}

Saat response_format adalah b64_json:

{
  "created": 1712697600,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ]
}

Field respons

FieldTipeDeskripsi
createdintegerUnix timestamp (detik)
dataarrayHasil generasi; panjang sama dengan n permintaan
data[].urlstringURL gambar (saat response_format=url)
data[].b64_jsonstringGambar yang di-encode Base64 (saat response_format=b64_json)
data[].revised_promptstringPrompt yang ditulis ulang model (dikembalikan beberapa model)
usageobjectInfo penagihan; lihat Objek respons bersama

url dan b64_json saling eksklusif, tergantung response_format permintaan.

Respons kegagalan

HTTP 400, dll. Format: Error standar.


POST /v1/images/edits

Gambar-ke-gambar / edit gambar.

Auth: Bearer Token

Content-Type: multipart/form-data atau application/json (tergantung dukungan model/channel)

Body permintaan (multipart/form-data)

FieldTipeWajibDeskripsi
modelstringYaModel gambar
promptstringYaDeskripsi edit
imagefileYaGambar yang diedit
maskfileTidakMask (untuk edit lokal)
nintegerTidakJumlah gambar yang dihasilkan
sizestringTidakUkuran output
response_formatstringTidakurl atau b64_json

Body permintaan (JSON; beberapa channel mendukung array URL)

{
  "model": "agnes-image-2.0-flash",
  "prompt": "Add a red scarf to the cat",
  "size": "1024x768",
  "image": ["https://example.com/cat.jpg"],
  "response_format": "url"
}

Contoh permintaan (curl)

JSON (array URL):

curl http://www.mangoto.ai/v1/images/edits \
  -H "Authorization: Bearer sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "agnes-image-2.0-flash",
    "prompt": "Add a red scarf to the cat",
    "size": "1024x768",
    "image": ["https://example.com/cat.jpg"],
    "response_format": "url"
  }'

multipart/form-data (unggah file lokal):

curl http://www.mangoto.ai/v1/images/edits \
  -H "Authorization: Bearer sk-xxx" \
  -F "model=dall-e-2" \
  -F "prompt=Add a red scarf to the cat" \
  -F "image=@/path/to/cat.png" \
  -F "response_format=url"

Body respons

HTTP 200, struktur sama dengan /v1/images/generations:

{
  "created": 1712697600,
  "data": [
    {
      "url": "https://cdn.example.com/generated/edit_abc123.png"
    }
  ]
}

Field respons

Sama dengan field respons POST /v1/images/generations.