API Imagem para imagem
Edite e transforme imagens na sua própria aplicação. Envie imagens de referência e um prompt de texto, e os modelos de IA da Meshy geram uma nova imagem a partir deles.
A Imagem para imagem cria imagens. Para criar um modelo 3D a partir do conteúdo de uma imagem, utilize Imagem para 3D. Para criar um objeto que possa segurar ou imprimir a partir de uma fotografia, utilize as APIs do Creative Lab. Estas criam uma imagem de protótipo e, em seguida, constroem um modelo 3D a partir dela, por exemplo um porta-chaves, íman de frigorífico, figura, candeeiro ou keycap.
Create an Image to Image task
Cria uma tarefa Imagem para imagem. A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa costuma demorar, consulte Tempos de processamento.
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"
}
Parâmetros
- Name
- ai_model
- Type
- string
- Obrigatório
- Description
O modelo de IA que gera a imagem. Os preços variam consoante o modelo. Consulte Preços.
Valores disponíveis:
nano-banana: o modelo padrãonano-banana-2: mais capaz do que onano-banananano-banana-2-lite: uma versão lite donano-banana-2nano-banana-2-1: Nano Banana 2.1nano-banana-pro: o modelo Pro, com maior qualidade. Requer um plano Pro ou superior. Num plano inferior, devolve402.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
- Obrigatório
- Description
Texto que descreve a edição ou transformação a aplicar às imagens de referência.
- Name
- input_task_id
- Type
- string
- Obrigatório
- Description
Obrigatório, a menos que envie
reference_image_urls. O ID de uma tarefa Texto para imagem ou Imagem para imagem cujas imagens devem ser usadas como referência, incluindo tarefas multivista. A tarefa tem de ser uma que tenha criado com a API e ter o estadoSUCCEEDED.A Meshy utiliza todas as imagens que a tarefa produziu. Uma tarefa de imagem única fornece uma imagem de referência, e uma tarefa multivista fornece uma por vista. Assim, um único ID de tarefa pode preencher várias das cinco posições de referência.
A tarefa ainda tem de estar dentro do período de retenção de recursos. Depois de expirar, o seu ID devolve
404.
- Name
- reference_image_urls
- Type
- array
- Obrigatório
- Description
Obrigatório, a menos que envie
input_task_id. Uma a cinco imagens de referência a editar, cada uma um URL público ou um Data URI, por exemplodata:image/jpeg;base64,<your base64-encoded image data>. Um array vazio, ou mais de cinco imagens, devolve400. Se enviar ambos, a Meshy utilizainput_task_id.Cada imagem tem de ser um ficheiro
.jpg,.jpeg,.pngou.webpde, no máximo, 20 MB, e com pelo menos 32 pixels em cada lado.
- Name
- generate_multi_view
- Type
- boolean
- predefinição false
- Description
Se deve gerar uma imagem multivista que mostre o sujeito a partir de vários ângulos. Quando
true, não pode enviaraspect_ratio. Enviar ambos devolve400.
- Name
- aspect_ratio
- Type
- string
- predefinição 1:1
- Description
A proporção da imagem de saída. Os valores que pode enviar dependem do
ai_model.Valores disponíveis:
1:1: quadrado16:9: paisagem widescreen9:16: retrato widescreen4:3: paisagem padrão3:4: retrato padrão3:2: paisagem, apenas modelos GPT Image2:3: retrato, apenas modelos GPT Image
Os modelos GPT Image são
gpt-image-2,gpt-image-2-5-flareegpt-image-2-5-sunburst. Com um modelonano-banana,3:2e2:3devolvem400.
- Name
- remove_background
- Type
- boolean
- predefinição false
- Description
Se deve remover o fundo. Quando
true, a Meshy devolve a imagem de saída como um PNG RGBA transparente, para que possa colocar o sujeito sobre qualquer fundo.
Devolve
O campo result da resposta contém o ID da nova tarefa Imagem para imagem.
Modos de falha
- Name
400 - Bad Request- Description
O pedido não pode ser executado. A mensagem de erro indica qual o problema encontrado. Por exemplo:
- Parâmetro em falta: Falta um parâmetro obrigatório, como
ai_modelouprompt, ou não foi enviado nemreference_image_urlsneminput_task_id. - Tarefa de entrada inválida:
input_task_idnão aponta para uma tarefa utilizável. Tem de ser uma tarefa Texto para imagem ou Imagem para imagem com estadoSUCCEEDED, incluindo multivista, que ainda tenha saída de imagem. A Meshy rejeita uma tarefa de outro tipo, uma tarefa que não teve sucesso e uma tarefa cujas imagens expiraram todas. - Formato de imagem inválido: Uma ou mais imagens de referência não estão num formato suportado.
- URL inacessível: A Meshy não consegue transferir uma ou mais imagens de
reference_image_urls. - Imagem demasiado grande: Uma ou mais imagens de
reference_image_urlstêm mais de 20 MB. - Imagem demasiado pequena: Uma ou mais imagens de
reference_image_urlstêm um lado com menos de 32 pixels. - Parâmetro inválido:
aspect_rationão é um dos valores suportados peloai_modelselecionado. - Conflito: O pedido envia
aspect_ratiocomgenerate_multi_view: true.
Corrija o pedido e envie-o novamente. Consulte Erros.
- Parâmetro em falta: Falta um parâmetro obrigatório, como
- Name
401 - Unauthorized- Description
A chave de API está em falta ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
A conta não pode executar esta tarefa. Por exemplo:
- Plano gratuito: Criar uma tarefa requer um plano pago. Atualize o seu plano nas definições de subscrição e tente novamente.
- Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos.
- Plano necessário: O pedido utiliza
nano-banana-pronum plano inferior ao Pro.
Verifique o seu saldo de créditos e o plano, e tente novamente.
- Name
404 - Not Found- Description
input_task_idnão corresponde a nenhuma tarefa na sua conta. Uma tarefa que não existe e uma tarefa que pertence a outra conta devolvem a mesma resposta. Verifique o ID.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Obter uma tarefa Imagem para imagem
Devolve uma tarefa Imagem para imagem através do seu 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=***"
]
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa a partir da resposta de criação.
Devoluções
Eliminar uma tarefa de Imagem para imagem
Elimina permanentemente uma tarefa de Imagem para imagem, incluindo as suas imagens e dados. Não é possível anular uma eliminação.
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."
}
Parâmetros de caminho
- Name
- id
- Type
- path
- Description
O ID da tarefa a eliminar.
Estado da tarefa
Eliminar uma tarefa PENDING reembolsa os créditos utilizados quando a criou.
Uma tarefa IN_PROGRESS não pode ser eliminada. O pedido devolve 409 Conflict,
e a tarefa continua em execução. A Meshy não reembolsa uma tarefa que já começou,
pelo que eliminá-la custar-lhe-ia tanto os créditos como o resultado. Aguarde até
que atinja o estado SUCCEEDED, FAILED ou CANCELED, e só depois a elimine.
Eliminar uma tarefa num estado final (SUCCEEDED, FAILED ou CANCELED)
não reembolsa os seus créditos.
Devolve
200 OK quando a tarefa é eliminada, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
Listar tarefas de Imagem para imagem
Devolve uma lista das suas tarefas de Imagem para imagem e Texto para imagem. O campo type de cada tarefa indica qual das duas é.
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=***"
]
}
]
Parâmetros
- Name
- page_num
- Type
- integer
- Description
O número da página a devolver. Começa em
1e esse é também o valor predefinido.
- Name
- page_size
- Type
- integer
- Description
O número de tarefas por página, até
100. O valor predefinido é10.
- Name
- sort_by
- Type
- string
- Description
A ordem de ordenação.
Valores disponíveis:
+created_at: mais antigas primeiro-created_at: mais recentes primeiro
Devolve
Uma lista paginada de objetos de tarefa, no mesmo formato do objeto de tarefa de Imagem para imagem.
Transmitir uma tarefa de Imagem para imagem
Transmite as atualizações de uma tarefa de Imagem para imagem como 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=***"
]
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa proveniente da resposta de criação.
Devolve
Um stream de objetos de tarefa de Imagem para imagem como Server-Sent Events.
Cada evento contém o objeto de tarefa completo, na mesma forma devolvida pelo endpoint Get. Enquanto a tarefa estiver PENDING ou IN_PROGRESS, os seus campos de resultado ainda não têm valores.
O objeto de tarefa Imagem para imagem
Um objeto de tarefa Imagem para imagem descreve uma imagem gerada a partir de imagens de referência e de um prompt de texto. Contém o estado, o progresso e as imagens quando a tarefa é bem-sucedida.
Propriedades
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
O ID da tarefa. Trate-o como uma string opaca e não dependa do seu formato.
- Name
- type
- Type
- string
- Description
O tipo de tarefa, sempre
image-to-image.
- Name
- ai_model
- Type
- string
- Description
O modelo de IA que a tarefa utilizou.
Valores disponíveis:
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
O prompt de texto que orientou a edição.
- Name
- status
- Type
- string
- Description
O estado da tarefa, um de
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- progress
- Type
- integer
- Description
Quanto da tarefa está concluído, em percentagem. É
0até a tarefa começar e100quando é bem-sucedida.
- Name
- created_at
- Type
- timestamp
- Description
Momento em que a tarefa foi criada, em milissegundos Unix.
- Name
- started_at
- Type
- timestamp
- Description
Momento em que a tarefa começou, em milissegundos Unix. Ausente até a tarefa começar.
- Name
- finished_at
- Type
- timestamp
- Description
Momento em que a tarefa terminou, em milissegundos Unix. Ausente até a tarefa terminar.
- Name
- expires_at
- Type
- timestamp
- Description
Momento em que os resultados da tarefa expiram, em milissegundos Unix. Ausente até a tarefa terminar.
- Name
- preceding_tasks
- Type
- integer
- Description
O número de tarefas à frente desta na fila. O valor só é significativo enquanto a tarefa está
PENDING. O campo é omitido quando o valor é0.
- Name
- image_urls
- Type
- array
- Description
URLs de transferência para as imagens geradas. Com
generate_multi_view: true, contém um URL por vista, normalmente três. Se o Meshy não conseguir separar todas as vistas, devolve menos, e a tarefa continua a ser bem-sucedida. Caso contrário, contém um único URL.
- Name
- task_error
- Type
- object
- Description
Os detalhes do erro quando a tarefa falha. É
nulla menos que o estado sejaFAILED. Consulte Erros.
- Name
- consumed_credits
- Type
- integer
- Description
O número de créditos que a tarefa utilizou. Presente quando o estado é
PENDING,IN_PROGRESSouSUCCEEDED. É0para uma tarefaFAILED, porque o Meshy reembolsa os créditos quando uma tarefa falha.