A API de Imagem para imagem é uma funcionalidade que permite integrar as capacidades de edição de imagem com IA da Meshy na sua própria aplicação. Transforme e edite imagens existentes utilizando imagens de referência e comandos de texto com os nossos poderosos modelos de IA.
Este endpoint permite-lhe criar uma nova tarefa Image to Image. Consulte
O Objeto de Tarefa Image to Image para ver quais
propriedades estão incluídas no objeto de tarefa Image to Image.
Parâmetros
Name
ai_model
Type
string
Obrigatório
Description
ID do modelo a utilizar para a geração de imagens.
Valores disponíveis:
nano-banana: Modelo padrão (3 créditos por imagem)
nano-banana-2: Modelo equilibrado com maior capacidade que o padrão (6 créditos por imagem)
nano-banana-pro: Modelo Pro com qualidade melhorada (9 créditos por imagem)
gpt-image-2: OpenAI GPT Image 2, um modelo de edição de imagem de alta fidelidade (12 créditos por imagem)
gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare), um modelo de edição de imagem de alta fidelidade (12 créditos por imagem)
gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst), um modelo de edição de imagem de alta fidelidade (12 créditos por imagem)
Name
prompt
Type
string
Obrigatório
Description
Uma descrição textual da transformação ou edição que pretende aplicar às imagens de referência.
Apenas um de input_task_id ou reference_image_urls é obrigatório. Se ambos forem fornecidos, input_task_id tem prioridade.
Name
input_task_id
Type
string
Obrigatório
Description
O ID de uma tarefa de geração de imagens concluída cujas imagens de saída devem ser utilizadas como imagens de referência. Esta tarefa deve ser uma das seguintes: Texto para imagem ou Imagem para imagem, incluindo as respetivas variantes multivista. Além disso, deve ter sido executada através da API e ter um estado SUCCEEDED.
Todas as imagens de saída da tarefa de origem são utilizadas. Uma tarefa de imagem única contribui com 1 imagem de referência; uma tarefa multivista contribui com uma por cada vista gerada, pelo que um único ID de tarefa pode preencher vários dos 5 espaços de referência.
A tarefa de origem tem de estar ainda dentro do período de retenção de recursos — assim que expirar, o respetivo ID devolve 404.
Name
reference_image_urls
Type
array
Obrigatório
Description
Uma matriz de 1 a 5 imagens de referência a utilizar para a tarefa de edição de imagem. Atualmente, suportamos os formatos .jpg, .jpeg e .png.
Existem duas formas de fornecer cada imagem:
URL acessível publicamente: Um URL acessível a partir da internet pública.
Data URI: Um data URI da imagem codificado em base64. Exemplo de um data URI: data:image/jpeg;base64,<os seus dados de imagem codificados em base64>.
Name
generate_multi_view
Type
boolean
predefinição false
Description
Quando definido como true, gera uma imagem multivista mostrando o sujeito a partir de vários ângulos.
Quando generate_multi_view é true, o parâmetro aspect_ratio não pode ser definido.
Name
aspect_ratio
Type
string
predefinição 1:1
Description
Especifique o rácio de aspeto da imagem de saída. Os valores permitidos dependem do ai_model selecionado:
3:2: Horizontal (apenas suportado pelos modelos GPT Image)
2:3: Vertical (apenas suportado pelos modelos GPT Image)
Name
remove_background
Type
boolean
predefinição false
Description
Quando definido como true, a imagem de saída é devolvida como um PNG RGBA transparente com o fundo removido, para que possa compor o sujeito sobre qualquer fundo.
Devolve
A propriedade result da resposta contém o id da tarefa da nova tarefa Image to Image criada.
Modos de Falha
Name
400 - Bad Request
Description
O pedido foi inaceitável. Causas comuns:
Parâmetro em falta: Falta um parâmetro obrigatório (por exemplo, ai_model, prompt), ou não foi fornecido nem reference_image_urls nem input_task_id.
Tarefa de entrada inválida: O input_task_id deve referir-se a uma tarefa SUCCEEDED de Texto para imagem ou Imagem para imagem (incluindo multivista) que ainda tenha saída de imagem. Uma tarefa de qualquer outro tipo, uma que não tenha sido bem-sucedida, ou uma cujas imagens tenham todas expirado, é rejeitada.
Formato de imagem inválido: Uma ou mais imagens de referência não estão em formatos suportados.
URL inacessível: Não foi possível transferir uma ou mais reference_image_urls.
Parâmetro inválido: aspect_ratio não é um dos valores permitidos para o ai_model selecionado.
Conflito: generate_multi_view e aspect_ratio não podem ser utilizados simultaneamente.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique a sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarefa.
Name
404 - Not Found
Description
O input_task_id não se refere a uma tarefa pertencente à sua conta. Uma tarefa que não existe e uma que pertence a outra conta devolvem a mesma resposta.
Name
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Request
POST
/openapi/v1/image-to-image
# Transform a reference image with a text promptcurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-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 examplecurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-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 URLscurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-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>" }'
Este endpoint permite-lhe obter uma tarefa de Imagem para imagem dado um id de tarefa válido.
Consulte O Objeto de Tarefa de Imagem para imagem para ver que
propriedades estão incluídas no objeto de tarefa de Imagem para imagem.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de Imagem para imagem a obter.
{"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=***" ]}
Este endpoint elimina permanentemente uma tarefa de Imagem para imagem, incluindo todas as imagens e dados associados. Esta ação é irreversível.
Parâmetros de Caminho
Name
id
Type
path
Description
O ID da tarefa de Imagem para imagem a eliminar.
Estado da Tarefa
Uma tarefa que ainda está PENDING é eliminada e os créditos consumidos no
momento da criação são reembolsados.
Uma tarefa que já está IN_PROGRESS não pode ser eliminada: o pedido é
rejeitado com 409 Conflict e a tarefa continua em execução. Os créditos de
uma tarefa que o worker já começou a processar não são reembolsáveis, pelo
que eliminá-la a meio da execução far-lhe-ia perder tanto os créditos como
o resultado. Aguarde que atinja o estado SUCCEEDED, FAILED ou
CANCELED e só depois a elimine.
Uma tarefa num estado terminal (SUCCEEDED, FAILED ou CANCELED) é
eliminada sem reembolso.
Devolve
Devolve 200 OK em caso de sucesso, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left 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."}
[ {"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=***" ] }]
O objeto Image to Image Task é uma unidade de trabalho que o Meshy mantém para gerar uma imagem a partir de imagens de referência e de um prompt de texto de entrada.
O objeto tem as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa. Embora usemos um UUID k-sortable para os ids das tarefas como
detalhe de implementação, não deve fazer suposições sobre o formato do id.
Name
type
Type
string
Description
O tipo de tarefa de geração de imagem. Para tarefas Image to Image, este valor será sempre image-to-image.
Name
ai_model
Type
string
Description
O modelo de IA usado nesta tarefa. Os valores possíveis são nano-banana, nano-banana-2, nano-banana-pro, gpt-image-2, gpt-image-2-5-flare, ou gpt-image-2-5-sunburst.
Name
prompt
Type
string
Description
O prompt de texto usado para orientar a transformação da imagem.
Name
status
Type
string
Description
Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será 0. Assim que a tarefa for concluída com sucesso, passará a ser 100.
Name
created_at
Type
timestamp
Description
Carimbo de data/hora da criação da tarefa, em milissegundos.
Um carimbo de data/hora representa o número de milissegundos decorridos desde 1 de janeiro de 1970 UTC, seguindo
a norma RFC 3339.
Por exemplo, sexta-feira, 1 de setembro de 2023, 12:00:00 GMT é representada como 1693569600000. Isto aplica-se
a todos os carimbos de data/hora na Meshy API.
Name
started_at
Type
timestamp
Description
Carimbo de data/hora do início da tarefa, em milissegundos. Se a tarefa ainda não tiver começado, esta propriedade será 0.
Name
finished_at
Type
timestamp
Description
Carimbo de data/hora da conclusão da tarefa, em milissegundos. Se a tarefa ainda não tiver terminado, esta propriedade será 0.
Name
expires_at
Type
timestamp
Description
Carimbo de data/hora de quando o resultado da tarefa expira, em milissegundos.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes.
O valor deste campo só é significativo se o estado da tarefa for PENDING.
Name
image_urls
Type
array
Description
Uma matriz de URLs transferíveis para as imagens geradas. Quando generate_multi_view está ativado, esta matriz contém três URLs de imagem que representam diferentes ângulos de visualização. Caso contrário, contém um único URL de imagem.
Name
task_error
Type
object
Description
Detalhes do erro para tarefas com falha. Consulte Erros para a referência completa do objeto task_error.
Name
consumed_credits
Type
integer
Description
O número de créditos consumidos por esta tarefa. Presente quando o estado da tarefa é PENDING, IN_PROGRESS, ou SUCCEEDED. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
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}