API Gambar ke Gambar
Edit dan ubah gambar dalam aplikasi Anda sendiri. Kirim gambar referensi dan prompt teks, dan model AI Meshy akan menghasilkan gambar baru darinya.
Gambar ke Gambar menghasilkan gambar. Untuk membuat model 3D dari apa yang ada dalam gambar, gunakan Gambar ke 3D. Untuk membuat objek yang bisa Anda pegang atau cetak dari sebuah foto, gunakan API Creative Lab. API ini membuat gambar prototipe lalu membangun model 3D darinya, misalnya gantungan kunci, magnet kulkas, figur, lampu, atau keycap.
Buat tugas Image to Image
Membuat tugas Image to Image. Tugas berjalan di latar belakang. Untuk informasi tentang berapa lama tugas biasanya berlangsung, lihat Processing times.
Request
# Transform a reference image with a text prompt
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"reference_image_urls": [
"<your publicly accessible image url or base64-encoded data URI>"
]
}'
## Using data URI example
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"reference_image_urls": [
"data:image/png;base64,${YOUR_BASE64_ENCODED_IMAGE_DATA}"
]
}'
## Chaining from a previous task, instead of passing image URLs
curl https://api.meshy.ai/openapi/v1/image-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"input_task_id": "<your Text to Image or Image to Image task id>"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Parameter
- Name
- ai_model
- Type
- string
- Wajib
- Description
Model AI yang menghasilkan gambar. Harga berbeda-beda tergantung model. Lihat Harga.
Nilai yang tersedia:
nano-banana: model standarnano-banana-2: lebih mumpuni dibandingnano-banananano-banana-2-lite: versi lite darinano-banana-2nano-banana-2-1: Nano Banana 2.1nano-banana-pro: model Pro, dengan kualitas lebih tinggi. Memerlukan paket Pro atau lebih tinggi. Pada paket yang lebih rendah, akan mengembalikan402.gpt-image-2: OpenAI GPT Image 2gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare)gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst)
- Name
- prompt
- Type
- string
- Wajib
- Description
Teks yang menjelaskan editan atau transformasi yang diterapkan pada gambar referensi.
- Name
- input_task_id
- Type
- string
- Wajib
- Description
Wajib diisi kecuali Anda mengirim
reference_image_urls. ID dari tugas Text to Image atau Image to Image yang gambarnya akan digunakan sebagai referensi, termasuk tugas multi-tampilan. Tugas tersebut harus tugas yang Anda buat dengan API dan memiliki statusSUCCEEDED.Meshy menggunakan setiap gambar yang dihasilkan oleh tugas tersebut. Tugas gambar tunggal menghasilkan satu gambar referensi, dan tugas multi-tampilan menghasilkan satu per sudut pandang. Jadi satu ID tugas dapat mengisi beberapa dari lima slot referensi.
Tugas tersebut harus masih berada dalam periode retensi aset. Setelah masa berlakunya habis, ID-nya akan mengembalikan
404.
- Name
- reference_image_urls
- Type
- array
- Wajib
- Description
Wajib diisi kecuali Anda mengirim
input_task_id. Satu hingga lima gambar referensi untuk diedit, masing-masing berupa URL publik atau Data URI, misalnyadata:image/jpeg;base64,<data gambar berenkode base64 Anda>. Array kosong, atau lebih dari lima gambar, akan mengembalikan400. Jika Anda mengirim keduanya, Meshy menggunakaninput_task_id.Setiap gambar harus berupa file
.jpg,.jpeg,.png, atau.webpdengan ukuran maksimal 20 MB, dan minimal 32 piksel pada setiap sisinya.
- Name
- generate_multi_view
- Type
- boolean
- default false
- Description
Apakah akan menghasilkan gambar multi-tampilan yang menunjukkan subjek dari beberapa sudut. Jika
true, Anda tidak dapat mengirimaspect_ratio. Mengirim keduanya akan mengembalikan400.
- Name
- aspect_ratio
- Type
- string
- default 1:1
- Description
Rasio aspek gambar keluaran. Nilai yang dapat Anda kirim tergantung pada
ai_model.Nilai yang tersedia:
1:1: persegi16:9: lanskap layar lebar9:16: potret layar lebar4:3: lanskap standar3:4: potret standar3:2: lanskap, hanya untuk model GPT Image2:3: potret, hanya untuk model GPT Image
Model GPT Image adalah
gpt-image-2,gpt-image-2-5-flare, dangpt-image-2-5-sunburst. Dengan modelnano-banana,3:2dan2:3akan mengembalikan400.
- Name
- remove_background
- Type
- boolean
- default false
- Description
Apakah akan menghapus latar belakang. Jika
true, Meshy mengembalikan gambar keluaran sebagai PNG RGBA transparan, sehingga Anda dapat menempatkan subjek pada latar belakang apa pun.
Hasil
Kolom result pada respons memuat ID dari tugas Image to Image yang baru.
Mode kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat dijalankan. Pesan kesalahan menyebutkan masalah apa yang ditemukan. Contohnya:
- Parameter hilang: Parameter wajib, seperti
ai_modelatauprompt, tidak ada, atau baikreference_image_urlsmaupuninput_task_idtidak dikirim. - Tugas input tidak valid:
input_task_idtidak mengarah ke tugas yang dapat digunakan. Tugas tersebut harus berupa tugas Text to Image atau Image to Image dengan statusSUCCEEDED, termasuk multi-tampilan, yang masih memiliki keluaran gambar. Meshy menolak tugas dari tipe lain, tugas yang belum berhasil, dan tugas yang semua gambarnya sudah kedaluwarsa. - Format gambar tidak valid: Satu atau beberapa gambar referensi tidak dalam format yang didukung.
- URL tidak dapat dijangkau: Meshy tidak dapat mengunduh satu atau beberapa gambar
reference_image_urls. - Gambar terlalu besar: Satu atau beberapa gambar
reference_image_urlsberukuran lebih dari 20 MB. - Gambar terlalu kecil: Satu atau beberapa gambar
reference_image_urlsmemiliki sisi lebih pendek dari 32 piksel. - Parameter tidak valid:
aspect_ratiobukan salah satu nilai yang didukung olehai_modelyang dipilih. - Konflik: Permintaan mengirim
aspect_ratiobersamagenerate_multi_view: true.
Perbaiki permintaan, lalu kirim ulang. Lihat Kesalahan.
- Parameter hilang: Parameter wajib, seperti
- Name
401 - Unauthorized- Description
Kunci API hilang atau tidak valid. Periksa header
Authorization.
- Name
402 - Payment Required- Description
Akun tidak dapat menjalankan tugas ini. Contohnya:
- Paket gratis: Membuat tugas memerlukan paket berbayar. Tingkatkan paket Anda di pengaturan langganan Anda, lalu coba lagi.
- Kredit tidak cukup: Akun tidak memiliki cukup kredit untuk tugas ini, atau akun telah mencapai batas kredit.
- Paket diperlukan: Permintaan menggunakan
nano-banana-propada paket di bawah Pro.
Periksa saldo kredit dan paket Anda, lalu coba lagi.
- Name
404 - Not Found- Description
input_task_idtidak cocok dengan tugas mana pun di akun Anda. Tugas yang tidak ada dan tugas yang dimiliki akun lain mengembalikan respons yang sama. Periksa ID-nya.
- Name
429 - Too Many Requests- Description
Anda melebihi batas laju Anda. Tunggu, lalu coba lagi. Lihat Batas laju.
Dapatkan tugas Gambar ke Gambar
Mengembalikan tugas Gambar ke Gambar berdasarkan ID-nya.
Request
curl https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas dari respons pembuatan.
Returns
Hapus tugas Gambar ke Gambar
Menghapus tugas Gambar ke Gambar secara permanen, termasuk gambar dan datanya. Anda tidak dapat membatalkan penghapusan ini.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
Parameter path
- Name
- id
- Type
- path
- Description
ID tugas yang akan dihapus.
Status tugas
Menghapus tugas PENDING akan mengembalikan kredit yang digunakan saat Anda membuatnya.
Tugas IN_PROGRESS tidak dapat dihapus. Permintaan akan mengembalikan 409 Conflict,
dan tugas tersebut akan terus berjalan. Meshy tidak mengembalikan kredit untuk tugas yang sudah dimulai,
jadi menghapusnya akan membuat Anda kehilangan kredit sekaligus hasilnya. Tunggu hingga tugas tersebut
mencapai status SUCCEEDED, FAILED, atau CANCELED, lalu hapus.
Menghapus tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED)
tidak akan mengembalikan kreditnya.
Pengembalian
200 OK ketika tugas berhasil dihapus, atau 409 Conflict ketika tugas sedang
IN_PROGRESS.
Daftar tugas Image to Image
Mengembalikan daftar tugas Image to Image dan Text to Image Anda. Field type pada setiap tugas menunjukkan termasuk yang mana dari keduanya.
Request
curl https://api.meshy.ai/openapi/v1/image-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
]
Parameter
- Name
- page_num
- Type
- integer
- Description
Nomor halaman yang akan dikembalikan. Dimulai dari dan default-nya
1.
- Name
- page_size
- Type
- integer
- Description
Jumlah tugas per halaman, hingga
100. Default-nya10.
- Name
- sort_by
- Type
- string
- Description
Urutan pengurutan.
Nilai yang tersedia:
+created_at: terlama lebih dulu-created_at: terbaru lebih dulu
Returns
Daftar objek tugas yang dipaginasi, dalam format yang sama dengan objek tugas Image to Image.
Stream Tugas Image to Image
Melakukan streaming pembaruan tugas Gambar ke Gambar sebagai Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/image-to-image/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas dari respons pembuatan (create).
Returns
Sebuah stream dari objek tugas Gambar ke Gambar sebagai Server-Sent Events.
Setiap event menyimpan objek tugas secara lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Selama tugas berstatus PENDING atau IN_PROGRESS, field hasilnya belum memiliki nilai.
Objek tugas Image to Image
Objek tugas Image to Image menggambarkan satu gambar yang dihasilkan dari gambar referensi dan sebuah prompt teks. Objek ini menyimpan status, progress, dan gambar saat tugas berhasil.
Properti
Example Image to Image Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-image",
"ai_model": "nano-banana",
"prompt": "Transform this into a cyberpunk style artwork",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
],
"task_error": null,
"consumed_credits": 3
}
- Name
- id
- Type
- string
- Description
ID tugas. Perlakukan sebagai string opaque, dan jangan bergantung pada formatnya.
- Name
- type
- Type
- string
- Description
Tipe tugas, selalu
image-to-image.
- Name
- ai_model
- Type
- string
- Description
Model AI yang digunakan oleh tugas.
Nilai yang tersedia:
nano-banananano-banana-2nano-banana-2-litenano-banana-2-1nano-banana-progpt-image-2gpt-image-2-5-flaregpt-image-2-5-sunburst
- Name
- prompt
- Type
- string
- Description
Prompt teks yang memandu proses edit.
- Name
- status
- Type
- string
- Description
Status tugas, salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, atauCANCELED.
- Name
- progress
- Type
- integer
- Description
Seberapa banyak bagian tugas yang telah selesai, dalam persentase. Nilainya
0sampai tugas dimulai dan100saat tugas berhasil.
- Name
- created_at
- Type
- timestamp
- Description
Waktu tugas dibuat, dalam milidetik Unix.
- Name
- started_at
- Type
- timestamp
- Description
Waktu tugas dimulai, dalam milidetik Unix. Tidak ada sampai tugas dimulai.
- Name
- finished_at
- Type
- timestamp
- Description
Waktu tugas selesai, dalam milidetik Unix. Tidak ada sampai tugas selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Waktu hasil tugas kedaluwarsa, dalam milidetik Unix. Tidak ada sampai tugas selesai.
- Name
- preceding_tasks
- Type
- integer
- Description
Jumlah tugas yang berada di depan tugas ini dalam antrean. Nilai ini hanya berarti selama tugas berstatus
PENDING. Bidang ini tidak disertakan saat nilainya0.
- Name
- image_urls
- Type
- array
- Description
URL unduhan untuk gambar yang dihasilkan. Dengan
generate_multi_view: true, properti ini menyimpan satu URL per sudut pandang, biasanya tiga. Jika Meshy tidak dapat memisahkan setiap sudut pandang, properti ini mengembalikan lebih sedikit URL, dan tugas tetap berhasil. Selain itu, properti ini menyimpan satu URL.
- Name
- task_error
- Type
- object
- Description
Detail kesalahan saat tugas gagal. Nilainya
nullkecuali statusnyaFAILED. Lihat Kesalahan.
- Name
- consumed_credits
- Type
- integer
- Description
Jumlah kredit yang digunakan oleh tugas. Tersedia saat statusnya
PENDING,IN_PROGRESS, atauSUCCEEDED. Nilainya0untuk tugasFAILED, karena Meshy mengembalikan kredit saat tugas gagal.