Execute GPT Image 2, GPT Image 2.5 Flare, GPT Image 2.5 Sunburst, Nano Banana, Nano Banana 2, Nano Banana 2 Lite, Nano Banana 2.1, Nano Banana Pro, Seedream 4.0, Seedream 4.5, Seedream 5.0, Seedream 5 Pro com um único formato de solicitação.
Use /v1/images/generations para criar imagens a partir de um prompt. Ele aceita JSON.
https://api.mlmux.com/v1/images/generationsUse /v1/images/edits para editar ou combinar imagens. Envie URLs de imagens em JSON ou faça upload de arquivos com os campos multipart image e mask. São aceitas até 16 imagens de 50 MB cada.
https://api.mlmux.com/v1/images/editscurl https://api.mlmux.com/v1/images/generations \
-H "Authorization: Bearer $MLMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"prompt": "Editorial product photo of a ceramic mug on linen, soft window light",
"aspect_ratio": "4:3",
"resolution": "2K",
"output_format": "png",
"route_mode": "official-cheap"
}'As requisições são síncronas por padrão e retornam as imagens na resposta. Adicione "async": true para receber uma tarefa.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | Sim | Um ID de modelo da tabela abaixo. O prefixo do provedor pode ser omitido quando o nome curto for exclusivo, por exemplo gpt-image-2. |
prompt | string | Sim | O que gerar ou alterar, até 20.000 caracteres. |
image_urlsapenas edições | string[] | Sim | URLs http(s) públicas das imagens de entrada, em ordem. image_url também é aceito para uma única imagem. |
mask_urlapenas edições | string | Não | URL de uma imagem de máscara para modelos compatíveis com edições com máscara. |
route_mode | string | Não | official ou official-cheap. O padrão é o route mode da chave e, em seguida, official-cheap. |
resolution | string | Não | 1K, 2K ou 4K em modelos Gemini compatíveis. Nano Banana e Nano Banana 2 Lite não possuem configuração de resolução. |
size | string | Não | Tamanho de saída para GPT Image e Seedream, como 1024x1024, 2K ou auto. |
aspect_ratio | string | Não | Como 1:1, 16:9 ou match_input_image. Os valores permitidos dependem do modelo. |
output_format | string | Não | png, jpg, jpeg ou webp, se o modelo for compatível. |
n | integer | Não | Número de imagens, de 1 a 4. O padrão é 1. |
async | boolean | Não | true retorna uma tarefa (HTTP 202) para fazer polling em vez de aguardar as imagens. |
Use estes valores em model. GET /v1/models retorna os IDs disponíveis para a sua conta.
| Modelo | ID do modelo |
|---|---|
| GPT Image 2 | openai/gpt-image-2 |
| GPT Image 2.5 Flare | weavy/gpt-image-2.5-flare |
| GPT Image 2.5 Sunburst | weavy/gpt-image-2.5-sunburst |
| Nano Banana | nano-banana |
| Nano Banana 2 | nano-banana-2 |
| Nano Banana 2 Lite | nano-banana-2-lite |
| Nano Banana 2.1 | google/gemini-nano-banana-2.1 |
| Nano Banana Pro | nano-banana-pro |
| Seedream 4.0 | weavy/doubao-seedream-4-0-250828 |
| Seedream 4.5 | weavy/doubao-seedream-4-5-251128 |
| Seedream 5.0 | weavy/doubao-seedream-5-0-260128 |
| Seedream 5 Pro | weavy/doubao-seedream-5-0-pro-260628 |
Atualmente, o GPT Image 2, o GPT Image 2.5 Flare e o GPT Image 2.5 Sunburst rodam apenas em official. Envie "route_mode": "official" com esses modelos; caso contrário, a requisição usará o padrão official-cheap e falhará.
Uma requisição síncrona retorna HTTP 200 com uma URL por imagem em data e as contagens de tokens em usage. As URLs de saída são hospedadas pela MLMux; baixe os arquivos que deseja manter.
{
"created": 1767225600,
"data": [
{ "url": "https://.../generated/9f2c....png" }
],
"usage": {
"input_tokens": 18,
"output_tokens": 1120,
"total_tokens": 1138,
"input_tokens_details": { "text_tokens": 18, "image_tokens": 0 }
}
}Com "async": true, a requisição retorna HTTP 202 e uma tarefa. Faça polling em sua poll_url até que o status seja succeeded; as imagens serão então listadas em data.
https://api.mlmux.com/v1/images/generations/{task_id}{
"id": "task_7c1e...",
"object": "image.generation.task",
"status": "queued",
"created": 1767225600,
"model": "nano-banana-2",
"api_method": "images.generations.create",
"poll_url": "/v1/images/generations/task_7c1e...",
"progress": 0,
"message": "queued",
"estimated_charge_credits": 0.067
}{
"id": "task_7c1e...",
"object": "image.generation.task",
"status": "succeeded",
"progress": 100,
"message": "completed",
"estimated_charge_credits": 0.067,
"data": [
{ "url": "https://.../generated/7c1e....png" }
]
}Tarefas de edição de imagem são consultadas via polling em /v1/images/edits/{task_id}. GET /v1/tasks/{task_id} funciona para qualquer tarefa.