API Image en image
Modifiez et transformez des images dans votre propre application. Envoyez des images de référence et un prompt textuel, et les modèles d'IA de Meshy génèrent une nouvelle image à partir de ceux-ci.
Image en image crée des images. Pour créer un modèle 3D à partir de ce qui se trouve dans une image, utilisez Image en 3D. Pour créer un objet que vous pouvez tenir ou imprimer à partir d'une photo, utilisez les API Creative Lab. Elles créent une image de prototype puis construisent un modèle 3D à partir de celle-ci, par exemple un porte-clés, un aimant de frigo, une figurine, une lampe ou un keycap.
Create an Image to Image task
Crée une tâche Image en image. La tâche s'exécute en arrière-plan. Pour la durée habituelle d'une tâche, consultez Temps de traitement.
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"
}
Paramètres
- Name
- ai_model
- Type
- string
- Requis
- Description
Le modèle d'IA qui génère l'image. Les prix varient selon le modèle. Consultez Tarification.
Valeurs disponibles :
nano-banana: le modèle standardnano-banana-2: plus performant quenano-banananano-banana-2-lite: une version allégée denano-banana-2nano-banana-pro: le modèle Pro, de meilleure qualité. Il nécessite un plan Pro ou supérieur. Sur un plan inférieur, il renvoie402.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
- Requis
- Description
Texte qui décrit la modification ou la transformation à appliquer aux images de référence.
- Name
- input_task_id
- Type
- string
- Requis
- Description
Obligatoire sauf si vous envoyez
reference_image_urls. L'ID d'une tâche Texte en image ou Image en image dont les images doivent servir de références, y compris les tâches multi-vue. La tâche doit être une tâche que vous avez créée avec l'API et dont le statut estSUCCEEDED.Meshy utilise toutes les images produites par la tâche. Une tâche à image unique fournit une image de référence, et une tâche multi-vue en fournit une par vue. Ainsi, un seul ID de tâche peut remplir plusieurs des cinq emplacements de référence.
La tâche doit toujours se trouver dans la période de conservation des ressources. Une fois cette période expirée, son ID renvoie
404.
- Name
- reference_image_urls
- Type
- array
- Requis
- Description
Obligatoire sauf si vous envoyez
input_task_id. Une à cinq images de référence à modifier, chacune étant une URL publique ou un Data URI, par exempledata:image/jpeg;base64,<vos données d'image encodées en base64>. Un tableau vide, ou plus de cinq images, renvoie400. Si vous envoyez les deux, Meshy utiliseinput_task_id.Chaque image doit être un fichier
.jpg,.jpeg,.pngou.webpd'au plus 20 Mo, et d'au moins 32 × 32 pixels.
- Name
- generate_multi_view
- Type
- boolean
- défaut false
- Description
Indique s'il faut générer une image multi-vue qui montre le sujet sous plusieurs angles. Lorsque
true, vous ne pouvez pas envoyeraspect_ratio. Envoyer les deux renvoie400.
- Name
- aspect_ratio
- Type
- string
- défaut 1:1
- Description
Le rapport d'aspect de l'image de sortie. Les valeurs que vous pouvez envoyer dépendent de
ai_model.Valeurs disponibles :
1:1: carré16:9: paysage grand écran9:16: portrait grand écran4:3: paysage standard3:4: portrait standard3:2: paysage, modèles GPT Image uniquement2:3: portrait, modèles GPT Image uniquement
Les modèles GPT Image sont
gpt-image-2,gpt-image-2-5-flareetgpt-image-2-5-sunburst. Avec un modèlenano-banana,3:2et2:3renvoient400.
- Name
- remove_background
- Type
- boolean
- défaut false
- Description
Indique s'il faut supprimer l'arrière-plan. Lorsque
true, Meshy renvoie l'image de sortie sous forme de PNG RGBA transparent, afin que vous puissiez placer le sujet sur n'importe quel arrière-plan.
Retours
Le champ result de la réponse contient l'ID de la nouvelle tâche Image en image.
Modes d'échec
- Name
400 - Bad Request- Description
La requête ne peut pas s'exécuter. Le message d'erreur indique le problème trouvé. Par exemple :
- Paramètre manquant : Un paramètre requis, tel que
ai_modelouprompt, est manquant, ou nireference_image_urlsniinput_task_idn'a été envoyé. - Tâche d'entrée invalide :
input_task_idne pointe pas vers une tâche utilisable. Il doit s'agir d'une tâche Texte en image ou Image en image avec le statutSUCCEEDED, multi-vue incluse, qui dispose encore d'images en sortie. Meshy rejette une tâche d'un autre type, une tâche qui n'a pas réussi, et une tâche dont toutes les images ont expiré. - Format d'image invalide : Une ou plusieurs images de référence ne sont pas dans un format pris en charge.
- URL inaccessible : Meshy ne peut pas télécharger une ou plusieurs images
reference_image_urls. - Image trop grande : Une ou plusieurs images
reference_image_urlsdépassent 20 Mo. - Image trop petite : Une ou plusieurs images
reference_image_urlssont plus petites que 32 × 32 pixels. - Paramètre invalide :
aspect_ratione correspond à aucune des valeurs prises en charge par leai_modelsélectionné. - Conflit : La requête envoie
aspect_ratioavecgenerate_multi_view: true.
Corrigez la requête, puis envoyez-la à nouveau. Consultez Erreurs.
- Paramètre manquant : Un paramètre requis, tel que
- Name
401 - Unauthorized- Description
La clé API est manquante ou invalide. Vérifiez l'en-tête
Authorization.
- Name
402 - Payment Required- Description
Le compte ne peut pas exécuter cette tâche. Par exemple :
- Plan gratuit : La création d'une tâche nécessite un plan payant. Mettez à niveau votre plan dans vos paramètres d'abonnement, puis réessayez.
- Crédits insuffisants : Le compte ne dispose pas de crédits suffisants pour cette tâche, ou le compte a atteint une limite de crédits.
- Plan requis : La requête utilise
nano-banana-prosur un plan inférieur à Pro.
Vérifiez votre solde de crédits et votre plan, puis réessayez.
- Name
404 - Not Found- Description
input_task_idne correspond à aucune tâche de votre compte. Une tâche qui n'existe pas et une tâche appartenant à un autre compte renvoient la même réponse. Vérifiez l'ID.
- Name
429 - Too Many Requests- Description
Vous avez dépassé votre limite de débit. Attendez, puis réessayez. Consultez Limites de débit.
Récupérer une tâche Image en image
Renvoie une tâche Image en image par son ID.
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=***"
]
}
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de tâche provenant de la réponse de création.
Retours
Supprimer une tâche Image en image
Supprime définitivement une tâche Image en image, y compris ses images et données. Vous ne pouvez pas annuler une suppression.
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."
}
Paramètres de chemin
- Name
- id
- Type
- path
- Description
L'ID de la tâche à supprimer.
Statut de la tâche
Supprimer une tâche PENDING rembourse les crédits utilisés lors de sa création.
Une tâche IN_PROGRESS ne peut pas être supprimée. La requête renvoie 409 Conflict,
et la tâche continue de s'exécuter. Meshy ne rembourse pas une tâche qui a démarré,
donc la supprimer vous coûterait à la fois les crédits et le résultat. Attendez
qu'elle atteigne le statut SUCCEEDED, FAILED ou CANCELED, puis supprimez-la.
Supprimer une tâche dans un statut final (SUCCEEDED, FAILED ou CANCELED)
ne rembourse pas ses crédits.
Retours
200 OK lorsque la tâche est supprimée, ou 409 Conflict lorsque la tâche est
IN_PROGRESS.
Lister les tâches Image en image
Renvoie une liste de vos tâches Image en image et Texte en image. Le champ type de chaque tâche indique de laquelle des deux il s'agit.
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=***"
]
}
]
Paramètres
- Name
- page_num
- Type
- integer
- Description
Le numéro de page à renvoyer. Commence à
1et vaut1par défaut.
- Name
- page_size
- Type
- integer
- Description
Le nombre de tâches par page, jusqu'à
100. La valeur par défaut est10.
- Name
- sort_by
- Type
- string
- Description
L'ordre de tri.
Valeurs disponibles :
+created_at: les plus anciennes en premier-created_at: les plus récentes en premier
Retours
Une liste paginée d'objets tâche, au même format que l'objet tâche Image en image.
Diffuser une tâche d'image en image
Diffuse les mises à jour d'une tâche Image en image sous forme d'événements envoyés par le serveur (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=***"
]
}
Paramètres
- Name
- id
- Type
- path
- Description
L'identifiant de la tâche issu de la réponse de création.
Retour
Un flux d'objets de tâche Image en image sous forme d'événements envoyés par le serveur.
Chaque événement contient l'objet de tâche complet, dans le même format que celui renvoyé par le point de terminaison Get. Tant que la tâche est PENDING ou IN_PROGRESS, ses champs de résultat n'ont pas encore de valeurs.
L'objet de tâche Image en image
Un objet de tâche Image en image décrit une image générée à partir d'images de référence et d'un prompt textuel. Il contient le statut, le progress, et les images lorsque la tâche réussit.
Propriétés
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,
"preceding_tasks": 0,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
],
"task_error": {
"message": ""
},
"consumed_credits": 3
}
- Name
- id
- Type
- string
- Description
L'ID de la tâche. Traitez-le comme une chaîne opaque, et ne vous fiez pas à son format.
- Name
- type
- Type
- string
- Description
Le type de tâche, toujours
image-to-image.
- Name
- ai_model
- Type
- string
- Description
Le modèle d'IA utilisé par la tâche.
Valeurs disponibles :
nano-banananano-banana-2nano-banana-2-litenano-banana-progpt-image-2gpt-image-2-5-flaregpt-image-2-5-sunburst
- Name
- prompt
- Type
- string
- Description
Le prompt textuel qui a guidé la modification.
- Name
- status
- Type
- string
- Description
Le statut de la tâche, l'un des suivants :
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, ouCANCELED.
- Name
- progress
- Type
- integer
- Description
La part de la tâche déjà accomplie, en pourcentage. Elle est à
0jusqu'à ce que la tâche démarre et à100lorsqu'elle réussit.
- Name
- created_at
- Type
- timestamp
- Description
Heure de création de la tâche, en millisecondes Unix.
- Name
- started_at
- Type
- timestamp
- Description
Heure de démarrage de la tâche, en millisecondes Unix. Elle est à
0jusqu'à ce que la tâche démarre.
- Name
- finished_at
- Type
- timestamp
- Description
Heure de fin de la tâche, en millisecondes Unix. Elle est à
0jusqu'à ce que la tâche se termine.
- Name
- expires_at
- Type
- timestamp
- Description
Heure d'expiration des résultats de la tâche, en millisecondes Unix.
- Name
- preceding_tasks
- Type
- integer
- Description
Le nombre de tâches devant celle-ci dans la file d'attente. Cette valeur n'a de sens que tant que la tâche est
PENDING.
- Name
- image_urls
- Type
- array
- Description
Les URL de téléchargement des images générées. Avec
generate_multi_view: true, elle contient une URL par vue, généralement trois. Si Meshy ne parvient pas à séparer chaque vue, elle en renvoie moins, et la tâche réussit quand même. Sinon, elle contient une seule URL.
- Name
- task_error
- Type
- object
- Description
Les détails de l'erreur lorsque la tâche échoue. Voir Erreurs.
- Name
- consumed_credits
- Type
- integer
- Description
Le nombre de crédits utilisés par la tâche. Présent lorsque le statut est
PENDING,IN_PROGRESS, ouSUCCEEDED. Il est à0pour une tâcheFAILED, car Meshy rembourse les crédits lorsqu'une tâche échoue.