API de Texto para imagem
Gere imagens a partir de um prompt de texto com os modelos de IA da Meshy.
O Texto para imagem cria imagens. Para criar um modelo 3D a partir do que há em uma imagem, use Imagem para 3D. Para criar um objeto que você possa segurar ou imprimir a partir de uma foto, use as APIs do Creative Lab. Elas criam uma imagem de protótipo e, em seguida, constroem um modelo 3D a partir dela, por exemplo, um chaveiro, ímã de geladeira, figura, luminária ou keycap.
Criar uma tarefa de Texto para imagem
Cria uma tarefa de Texto para imagem. A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa costuma levar, consulte Tempos de processamento.
Request
# Generate an image from a text prompt
curl https://api.meshy.ai/openapi/v1/text-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"aspect_ratio": "16:9"
}'
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 de acordo com o modelo. Para preços, consulte Preços.
Valores disponíveis:
nano-banana: o modelo padrãonano-banana-2: mais capaz que onano-banananano-banana-2-lite: uma versão lite donano-banana-2nano-banana-pro: o modelo Pro, com maior qualidade. Requer um plano Pro ou superior. Em um plano inferior, retorna402.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 imagem a ser gerada. Uma descrição detalhada gera melhores resultados.
- Name
- generate_multi_view
- Type
- boolean
- padrão false
- Description
Se deve gerar uma imagem Multivista que mostre o assunto a partir de vários ângulos. Quando é
true, você não pode enviaraspect_ratio. Enviar ambos retorna400.
- Name
- pose_mode
- Type
- string
- Description
A pose para um personagem,
a-poseout-pose. Omita para nenhuma pose.A forma como uma pose funciona depende do
ai_model:nano-banana-2enano-banana-2-lite: o Meshy mantém o modelo que você escolheu. A imagem é sempre3:4, e o Meshy ignoraaspect_ratio.nano-bananaenano-banana-pro: o Meshy gera a imagem comnano-banana-pro, então oai_modelda tarefa é lido de volta comonano-banana-pro. Isso requer um plano Pro ou superior. A imagem é sempre3:4, e o Meshy ignoraaspect_ratio.- Os modelos GPT Image (
gpt-image-2,gpt-image-2-5-flareegpt-image-2-5-sunburst): o Meshy mantém o modelo que você escolheu e o seuaspect_ratio.
- Name
- aspect_ratio
- Type
- string
- padrão 1:1
- Description
O formato da imagem. Os valores que você 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
nano-banana(nano-banana,nano-banana-2,nano-banana-2-liteenano-banana-pro) retornam400para3:2e2:3.
- Name
- remove_background
- Type
- boolean
- padrão false
- Description
Se deve remover o fundo da imagem.
trueretorna um PNG RGBA transparente, para que você possa colocar o assunto em qualquer fundo.
Retornos
O campo result da resposta contém o ID da nova tarefa de Texto para imagem.
Modos de falha
- Name
400 - Bad Request- Description
A solicitação não pode ser executada. A mensagem de erro informa qual problema foi encontrado. Por exemplo:
- Parâmetro ausente: Um parâmetro obrigatório, como
ai_modelouprompt, está ausente. - Parâmetro inválido:
ai_modelouaspect_rationão é um dos valores permitidos. - Conflito:
aspect_ratiofoi enviado comgenerate_multi_view: true.
Corrija a solicitação e a envie novamente. Consulte Erros.
- Parâmetro ausente: Um parâmetro obrigatório, como
- Name
401 - Unauthorized- Description
A chave de API está ausente ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
A conta não pode executar essa tarefa. Por exemplo:
- Plano gratuito: Criar uma tarefa requer um plano pago. Faça upgrade do seu plano nas configurações de assinatura e tente novamente.
- Créditos insuficientes: A conta não tem créditos suficientes para essa tarefa (
Insufficient funds), ou a conta atingiu um limite de créditos. - Plano necessário: A solicitação usa
nano-banana-pro, oupose_modecomnano-banana, em um plano abaixo do Pro (Only Pro and above users can use nano-banana-pro, ouOnly Pro and above users can use A/T pose feature (requires nano-banana-pro)).
Verifique seu saldo de créditos e plano, e tente novamente.
- Name
429 - Too Many Requests- Description
Você excedeu seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Get a Text to Image task
Retorna uma tarefa de Texto para imagem pelo seu ID.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"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 da resposta de criação.
Retornos
Excluir uma tarefa de Texto para imagem
Exclui permanentemente uma tarefa de Texto para imagem, incluindo suas imagens e dados. Você não pode desfazer uma exclusão.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/text-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 ser excluída.
Status da tarefa
Excluir uma tarefa PENDING reembolsa os créditos usados quando ela foi criada.
Uma tarefa IN_PROGRESS não pode ser excluída. A solicitação retorna 409 Conflict,
e a tarefa continua em execução. A Meshy não reembolsa uma tarefa que já foi iniciada,
então excluí-la custaria tanto os créditos quanto o resultado. Aguarde até que ela
atinja o status SUCCEEDED, FAILED ou CANCELED e, então, exclua-a.
Excluir uma tarefa em um status final (SUCCEEDED, FAILED ou CANCELED)
não reembolsa seus créditos.
Retornos
200 OK quando a tarefa é excluída, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
Listar tarefas de Texto para imagem
Retorna uma lista das suas tarefas de Texto para imagem e Imagem para imagem. O campo type de cada tarefa indica qual dos dois tipos ela é.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"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 ser retornada. Começa em e tem como padrão
1.
- Name
- page_size
- Type
- integer
- Description
O número de tarefas por página, até
100. O padrão é10.
- Name
- sort_by
- Type
- string
- Description
A ordem de classificação.
Valores disponíveis:
+created_at: mais antigas primeiro-created_at: mais recentes primeiro
Retorno
Uma lista paginada de objetos de tarefa, no mesmo formato do objeto de tarefa de Texto para imagem.
Transmitir uma tarefa de Texto para imagem
Transmite as atualizações de uma tarefa de Texto para imagem como Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/text-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": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"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 da resposta de criação.
Retornos
Um stream de objetos de tarefa de Texto para imagem como Server-Sent Events.
Cada evento contém o objeto de tarefa completo, no mesmo formato retornado pelo endpoint Get. Enquanto a tarefa estiver PENDING ou IN_PROGRESS, seus campos de resultado ainda não têm valores.
O objeto de tarefa de Texto para imagem
Um objeto de tarefa de Texto para imagem descreve uma geração de imagem a partir de um prompt de texto. Ele mantém o status, o progress e as URLs da imagem quando a tarefa é concluída com sucesso.
Propriedades
Example Text to Image Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"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
O ID da tarefa. Trate-o como uma string opaca e não dependa de seu formato.
- Name
- type
- Type
- string
- Description
O tipo da tarefa, sempre
text-to-image.
- Name
- ai_model
- Type
- string
- Description
O modelo de IA que a tarefa usou.
Valores possíveis:
nano-banananano-banana-2nano-banana-2-litenano-banana-progpt-image-2gpt-image-2-5-flaregpt-image-2-5-sunburst
- Name
- prompt
- Type
- string
- Description
O prompt de texto com o qual você criou a tarefa.
- Name
- status
- Type
- string
- Description
O status da tarefa, um dos seguintes:
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- progress
- Type
- integer
- Description
O quanto da tarefa foi concluído, em porcentagem. É
0até a tarefa começar e100quando é concluída com sucesso.
- Name
- created_at
- Type
- timestamp
- Description
Horário em que a tarefa foi criada, em milissegundos Unix.
- Name
- started_at
- Type
- timestamp
- Description
Horário em que a tarefa foi iniciada, em milissegundos Unix. É
0até a tarefa começar.
- Name
- finished_at
- Type
- timestamp
- Description
Horário em que a tarefa foi concluída, em milissegundos Unix. É
0até a tarefa ser concluída.
- Name
- expires_at
- Type
- timestamp
- Description
Horário em que os resultados da tarefa expiram, em milissegundos Unix.
- Name
- preceding_tasks
- Type
- integer
- Description
O número de tarefas à frente desta na fila. O valor só é significativo enquanto a tarefa está
PENDING.
- Name
- image_urls
- Type
- array
- Description
URLs de download para as imagens geradas. Com
generate_multi_view: true, o array contém uma URL por vista, geralmente três. Se o Meshy não conseguir separar todas as vistas, ele retorna menos, e a tarefa ainda assim é concluída com sucesso. Caso contrário, contém apenas uma URL.
- Name
- task_error
- Type
- object
- Description
Os detalhes do erro quando a tarefa falha. Consulte Erros.
- Name
- consumed_credits
- Type
- integer
- Description
O número de créditos que a tarefa usou. Presente quando o status é
PENDING,IN_PROGRESSouSUCCEEDED. É0para uma tarefaFAILED, pois o Meshy reembolsa os créditos quando uma tarefa falha.