Görselden Görsele API
Kendi uygulamanızda görselleri düzenleyin ve dönüştürün. Referans görseller ve bir metin prompt'u gönderin, Meshy'nin yapay zeka modelleri bunlardan yeni bir görsel oluştursun.
Görselden görsele, görseller oluşturur. Bir görseldeki içeriğin 3D modelini oluşturmak için Görselden 3D'ye özelliğini kullanın. Bir fotoğraftan elinizde tutabileceğiniz veya yazdırabileceğiniz bir nesne oluşturmak için Creative Lab API'lerini kullanın. Bunlar önce bir prototip görseli oluşturur, ardından ondan bir 3D model inşa eder; örneğin bir anahtarlık, buzdolabı mıknatısı, figür, lamba veya keycap.
Image to Image görevi oluştur
Bir Image to Image görevi oluşturur. Görev arka planda çalışır. Bir görevin genellikle ne kadar sürdüğü için bkz. İşlem süreleri.
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"
}
Parametreler
- Name
- ai_model
- Type
- string
- Zorunlu
- Description
Görseli oluşturan yapay zeka modeli. Fiyatlar modele göre değişir. Bkz. Fiyatlandırma.
Kullanılabilir değerler:
nano-banana: standart modelnano-banana-2:nano-banana'dan daha yeteneklinano-banana-2-lite:nano-banana-2'nin hafif bir sürümünano-banana-2-1: Nano Banana 2.1nano-banana-pro: daha yüksek kaliteli Pro model. Pro plan veya üstü gerektirir. Daha düşük bir planda402döndürür.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
- Zorunlu
- Description
Referans görsellere uygulanacak düzenleme veya dönüşümü açıklayan metin.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
reference_image_urlsgöndermediğiniz sürece gereklidir. Referans olarak kullanılacak görselleri üreten bir Text to Image veya Image to Image görevinin kimliği; çoklu görünüm görevleri de dahil. Görev, API ile oluşturduğunuz ve durumuSUCCEEDEDolan bir görev olmalıdır.Meshy, görevin ürettiği her görseli kullanır. Tek görsel üreten bir görev bir referans görsel sağlar, çoklu görünüm görevi ise her görünüm için bir tane sağlar. Yani tek bir görev kimliği, beş referans yuvasının birden fazlasını doldurabilir.
Görevin hâlâ varlık saklama süresi içinde olması gerekir. Süre dolduktan sonra kimliği
404döndürür.
- Name
- reference_image_urls
- Type
- array
- Zorunlu
- Description
input_task_idgöndermediğiniz sürece gereklidir. Düzenlenecek bir ila beş referans görsel; her biri genel erişime açık bir URL veya bir data URI olmalıdır, örneğindata:image/jpeg;base64,<your base64-encoded image data>. Boş bir dizi veya beşten fazla görsel400döndürür. İkisini de gönderirseniz Meshyinput_task_id'yi kullanır.Her görsel en fazla 20 MB boyutunda ve her kenarı en az 32 piksel olan bir
.jpg,.jpeg,.pngveya.webpdosyası olmalıdır.
- Name
- generate_multi_view
- Type
- boolean
- varsayılan false
- Description
Konuyu birden fazla açıdan gösteren çoklu görünüm bir görsel oluşturulup oluşturulmayacağı.
trueolduğundaaspect_ratiogönderemezsiniz. İkisini birden göndermek400döndürür.
- Name
- aspect_ratio
- Type
- string
- varsayılan 1:1
- Description
Çıktı görselinin en boy oranı. Gönderebileceğiniz değerler
ai_model'e bağlıdır.Kullanılabilir değerler:
1:1: kare16:9: geniş ekran yatay9:16: geniş ekran dikey4:3: standart yatay3:4: standart dikey3:2: yatay, yalnızca GPT Image modelleri2:3: dikey, yalnızca GPT Image modelleri
GPT Image modelleri
gpt-image-2,gpt-image-2-5-flarevegpt-image-2-5-sunburst'tür. Birnano-bananamodeliyle3:2ve2:3değerleri400döndürür.
- Name
- remove_background
- Type
- boolean
- varsayılan false
- Description
Arka planın kaldırılıp kaldırılmayacağı.
trueolduğunda Meshy, çıktı görselini saydam bir RGBA PNG olarak döndürür, böylece konuyu herhangi bir arka plana yerleştirebilirsiniz.
Dönüş değerleri
Yanıtın result alanı, yeni Image to Image görevinin kimliğini tutar.
Hata durumları
- Name
400 - Bad Request- Description
İstek çalıştırılamıyor. Hata mesajı hangi sorunu bulduğunu belirtir. Örneğin:
- Eksik parametre:
ai_modelveyapromptgibi gerekli bir parametre eksik ya da nereference_image_urlsne deinput_task_idgönderilmiş. - Geçersiz giriş görevi:
input_task_id, kullanılabilir bir göreve işaret etmiyor. Çoklu görünüm dahil, hâlâ görsel çıktısı olan,SUCCEEDEDdurumundaki bir Text to Image veya Image to Image görevi olmalıdır. Meshy, başka bir türdeki bir görevi, başarılı olmamış bir görevi ve görselleri tamamen süresi dolmuş bir görevi reddeder. - Geçersiz görsel biçimi: Bir veya daha fazla referans görsel desteklenen bir biçimde değil.
- Erişilemeyen URL: Meshy, bir veya daha fazla
reference_image_urlsgörselini indiremiyor. - Görsel çok büyük: Bir veya daha fazla
reference_image_urlsgörseli 20 MB'den büyük. - Görsel çok küçük: Bir veya daha fazla
reference_image_urlsgörselinin bir kenarı 32 pikselden kısa. - Geçersiz parametre:
aspect_ratio, seçilenai_model'in desteklediği değerlerden biri değil. - Çakışma: İstek,
aspect_ratio'yugenerate_multi_view: trueile birlikte gönderiyor.
İsteği düzeltip tekrar gönderin. Bkz. Hatalar.
- Eksik parametre:
- Name
401 - Unauthorized- Description
API anahtarı eksik veya geçersiz.
Authorizationbaşlığını kontrol edin.
- Name
402 - Payment Required- Description
Hesap bu görevi çalıştıramıyor. Örneğin:
- Ücretsiz plan: Bir görev oluşturmak ücretli bir plan gerektirir. Abonelik ayarlarınızdan planınızı yükseltip tekrar deneyin.
- Yetersiz kredi: Hesapta bu görev için yeterli kredi yok veya hesap bir kredi sınırına ulaştı.
- Plan gerekli: İstek, Pro altındaki bir planda
nano-banana-prokullanıyor.
Kredi bakiyenizi ve planınızı kontrol edip tekrar deneyin.
- Name
404 - Not Found- Description
input_task_id, hesabınızdaki bir göreve karşılık gelmiyor. Var olmayan bir görev ile başka bir hesaba ait bir görev aynı yanıtı döndürür. Kimliği kontrol edin.
- Name
429 - Too Many Requests- Description
Hız sınırınızı aştınız. Bekleyip tekrar deneyin. Bkz. Hız sınırları.
Image to Image görevi alma
Kimliğine göre bir Image to Image görevini döndürür.
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=***"
]
}
Parametreler
- Name
- id
- Type
- path
- Description
Oluşturma yanıtından alınan görev kimliği.
Döndürülenler
Bir Görselden görsele görevini sil
Bir Görselden görsele görevini, görselleri ve verileri dahil olmak üzere kalıcı olarak siler. Silme işlemini geri alamazsınız.
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."
}
Yol parametreleri
- Name
- id
- Type
- path
- Description
Silinecek görevin ID'si.
Görev durumu
PENDING durumundaki bir görevi silmek, görevi oluştururken kullanılan kredileri iade eder.
IN_PROGRESS durumundaki bir görev silinemez. İstek 409 Conflict döndürür
ve görev çalışmaya devam eder. Meshy, başlamış olan bir görev için iade
yapmaz, bu nedenle bu görevi silmek hem kredilerinize hem de sonuca mal
olur. Görevin SUCCEEDED, FAILED veya CANCELED durumuna ulaşmasını
bekleyin, ardından silin.
Son durumda (SUCCEEDED, FAILED veya CANCELED) olan bir görevi silmek,
kredilerini iade etmez.
Dönüş değerleri
Görev silindiğinde 200 OK, görev IN_PROGRESS durumundayken
409 Conflict döner.
Image to Image görevlerini listele
Image to Image ve Text to Image görevlerinizin bir listesini döndürür. Her görevin type alanı, bu iki türden hangisi olduğunu belirtir.
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=***"
]
}
]
Parametreler
- Name
- page_num
- Type
- integer
- Description
Döndürülecek sayfa numarası.
1'den başlar ve varsayılan değeri1'dir.
- Name
- page_size
- Type
- integer
- Description
Sayfa başına görev sayısı, en fazla
100. Varsayılan değeri10'dur.
- Name
- sort_by
- Type
- string
- Description
Sıralama düzeni.
Kullanılabilir değerler:
+created_at: en eskiden en yeniye-created_at: en yeniden en eskiye
Döndürülen Değerler
Image to Image görev nesnesi ile aynı formatta, sayfalanmış bir görev nesneleri listesi.
Bir Image to Image görevini akışla izleme
Bir Image to Image görevinin güncellemelerini Server-Sent Events (SSE) olarak akışla sunar.
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=***"
]
}
Parametreler
- Name
- id
- Type
- path
- Description
Oluşturma yanıtından alınan görev kimliği.
Dönüş Değerleri
Server-Sent Events olarak bir Image to Image görev nesneleri akışı.
Her olay, Get uç noktasının döndürdüğüyle aynı biçimde, görev nesnesinin tamamını içerir. Görev PENDING veya IN_PROGRESS durumundayken, sonuç alanlarının henüz değeri yoktur.
Görselden görsele görev nesnesi
Bir Görselden görsele görev nesnesi, referans görsellerden ve bir metin prompt'undan üretilen bir görseli tanımlar. Görev başarılı olduğunda durumu, progress'i ve görselleri tutar.
Özellikler
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
Görev kimliği. Bunu opak bir dize olarak kabul edin ve biçimine güvenmeyin.
- Name
- type
- Type
- string
- Description
Görev türü, her zaman
image-to-image.
- Name
- ai_model
- Type
- string
- Description
Görevin kullandığı AI modeli.
Kullanılabilir değerler:
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
Düzenlemeyi yönlendiren metin prompt'u.
- Name
- status
- Type
- string
- Description
Görev durumu;
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDveyaCANCELEDdeğerlerinden biridir.
- Name
- progress
- Type
- integer
- Description
Görevin ne kadarının tamamlandığı, yüzde olarak. Görev başlayana kadar
0, başarılı olduğunda100değerindedir.
- Name
- created_at
- Type
- timestamp
- Description
Görevin oluşturulduğu zaman, Unix milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başladığı zaman, Unix milisaniye cinsinden. Görev başlayana kadar bulunmaz.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin bittiği zaman, Unix milisaniye cinsinden. Görev bitene kadar bulunmaz.
- Name
- expires_at
- Type
- timestamp
- Description
Görevin sonuçlarının süresinin dolacağı zaman, Unix milisaniye cinsinden. Görev bitene kadar bulunmaz.
- Name
- preceding_tasks
- Type
- integer
- Description
Kuyrukta bu görevden önce gelen görev sayısı. Bu değer yalnızca görev
PENDINGdurumundayken anlamlıdır. Değer0olduğunda bu alan dahil edilmez.
- Name
- image_urls
- Type
- array
- Description
Üretilen görseller için indirme URL'leri.
generate_multi_view: trueile, genellikle üç olmak üzere görünüm başına bir URL tutar. Meshy her görünümü ayıramazsa daha az döndürür ve görev yine de başarılı olur. Aksi takdirde tek bir URL tutar.
- Name
- task_error
- Type
- object
- Description
Görev başarısız olduğunda hata ayrıntıları. Durum
FAILEDolmadıkçanulldeğerindedir. Bkz. Hatalar.
- Name
- consumed_credits
- Type
- integer
- Description
Görevin kullandığı kredi sayısı. Durum
PENDING,IN_PROGRESSveyaSUCCEEDEDolduğunda mevcuttur.FAILEDbir görev için0değerindedir, çünkü Meshy bir görev başarısız olduğunda kredileri iade eder.