API Gambar
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
| Method | Path | Deskripsi |
|---|---|---|
| POST | /v1/images/generations | Teks-ke-gambar |
| POST | /v1/images/edits | Gambar-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
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model | string | Ya | ID model gambar |
prompt | string | Ya | Deskripsi gambar |
n | integer | Tidak | Jumlah gambar yang dihasilkan; default 1 |
size | string | Tidak | Ukuran, mis. 1024x1024, 1792x1024 |
quality | string | Tidak | Kualitas, mis. standard, hd |
response_format | string | Tidak | url (default) atau b64_json |
style | string | Tidak | Gaya, 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
| Field | Tipe | Deskripsi |
|---|---|---|
created | integer | Unix timestamp (detik) |
data | array | Hasil generasi; panjang sama dengan n permintaan |
data[].url | string | URL gambar (saat response_format=url) |
data[].b64_json | string | Gambar yang di-encode Base64 (saat response_format=b64_json) |
data[].revised_prompt | string | Prompt yang ditulis ulang model (dikembalikan beberapa model) |
usage | object | Info penagihan; lihat Objek respons bersama |
urldanb64_jsonsaling eksklusif, tergantungresponse_formatpermintaan.
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)
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
model | string | Ya | Model gambar |
prompt | string | Ya | Deskripsi edit |
image | file | Ya | Gambar yang diedit |
mask | file | Tidak | Mask (untuk edit lokal) |
n | integer | Tidak | Jumlah gambar yang dihasilkan |
size | string | Tidak | Ukuran output |
response_format | string | Tidak | url 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.
