API de Texto para imagem
Gere imagens a partir de um prompt de texto com os modelos de IA da Meshy.
Texto para imagem cria imagens. Para criar um modelo 3D a partir do que está numa imagem, utilize Imagem para 3D. Para criar um objeto que pode segurar ou imprimir a partir de uma fotografia, utilize as APIs do Creative Lab. Estas criam uma imagem de protótipo e depois constroem um modelo 3D a partir dela, por exemplo um porta-chaves, íman de frigorífico, figura, candeeiro 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 normalmente demora, 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 consoante o modelo. Para preços, 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 imagem a gerar. Uma descrição detalhada produz melhores resultados.
- Name
- generate_multi_view
- Type
- boolean
- predefinição false
- Description
Se deve gerar uma imagem Multivista que mostra o sujeito a partir de vários ângulos. Quando é
true, não pode enviaraspect_ratio. Enviar ambos devolve400.
- Name
- pose_mode
- Type
- string
- Description
A pose de uma personagem,
a-poseout-pose. Deixe em branco para não aplicar pose.O funcionamento da pose depende do
ai_model:nano-banana-2,nano-banana-2-liteenano-banana-2-1: o Meshy mantém o modelo escolhido. A imagem é sempre3:4, e o Meshy ignoraaspect_ratio.nano-bananaenano-banana-pro: o Meshy gera a imagem comnano-banana-pro, pelo que oai_modelda tarefa é devolvido comonano-banana-pro. Isto 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 escolhido e o seuaspect_ratio.
- Name
- aspect_ratio
- Type
- string
- predefinição 1:1
- Description
A forma da imagem. 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
nano-banana(nano-banana,nano-banana-2,nano-banana-2-lite,nano-banana-2-1enano-banana-pro) devolvem400para3:2e2:3.
- Name
- remove_background
- Type
- boolean
- predefinição false
- Description
Se deve remover o fundo da imagem.
truedevolve um PNG RGBA transparente, para poder colocar o sujeito sobre qualquer fundo.
Resultados devolvidos
O campo result da resposta contém o ID da nova tarefa de Texto 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. - Parâmetro inválido:
ai_modelouaspect_rationão é um dos valores permitidos. - Conflito:
aspect_ratiofoi enviado comgenerate_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 (
Insufficient funds), ou a conta atingiu um limite de créditos. - Plano necessário: o pedido utiliza
nano-banana-pro, oupose_modecomnano-banana, num 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 o seu saldo de créditos e plano, e tente novamente.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Obter uma tarefa de Texto para imagem
Devolve 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 proveniente da resposta de criação.
Devolve
Eliminar uma tarefa de Texto para imagem
Elimina permanentemente uma tarefa de Texto para imagem, incluindo as suas imagens e dados. Não pode anular uma eliminaçã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 eliminar.
Estado da tarefa
Eliminar uma tarefa PENDING reembolsa os créditos que utilizou ao criá-la.
Uma tarefa IN_PROGRESS não pode ser eliminada. O pedido devolve 409 Conflict,
e a tarefa continua a ser executada. 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 que
atinja o estado SUCCEEDED, FAILED ou CANCELED e, só então, elimine-a.
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 Texto para imagem
Devolve uma lista das suas tarefas de Texto para imagem e Imagem para imagem. O campo type de cada tarefa indica qual dos dois tipos é.
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 de página a devolver. Começa em
1, que 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 Texto para imagem.
Stream de uma tarefa 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 proveniente da resposta de criação.
Retorna
Um stream de objetos de tarefa Texto para imagem como Server-Sent Events.
Cada evento contém o objeto de tarefa completo, com a mesma estrutura 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 Text to Image
Um objeto de tarefa Text to Image descreve uma geração de imagem a partir de um prompt de texto. Contém o estado, o progress e os URLs da imagem quando a tarefa é bem-sucedida.
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,
"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 confie no seu formato.
- Name
- type
- Type
- string
- Description
O tipo de tarefa, sempre
text-to-image.
- Name
- ai_model
- Type
- string
- Description
O modelo de IA que a tarefa utilizou.
Valores possí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 com o qual criou a tarefa.
- 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ó é relevante 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, o array contém um URL por vista, geralmente 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.