# Crie uma vez por nova operação de geração; mantenha o valor original ao tentar novamente.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Crie uma vez por nova operação de geração; reutilize os headers e o payload originais nas novas tentativas.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Crie uma vez por nova operação de geração; reutilize os headers e o body originais nas novas tentativas.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
GPT-Image-2.5 Ext
GPT-Image-2.5 Ext — Geração de imagens
- Use gpt-image-2.5-ext e selecione Flare ou Sunburst com version
- Processamento assíncrono: consulte os resultados pelo ID da tarefa após o envio
- Suporta geração a partir de texto e de imagens com até 16 imagens de referência
- Suporta 10 proporções e auto, com resoluções 1K / 2K / 4K
- Gere de 1 a 4 imagens por solicitação, com cobrança por versão, resolução e quantidade de imagens efetivamente entregues
POST
/
v1
/
images
/
generations
# Crie uma vez por nova operação de geração; mantenha o valor original ao tentar novamente.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Crie uma vez por nova operação de geração; reutilize os headers e o payload originais nas novas tentativas.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Crie uma vez por nova operação de geração; reutilize os headers e o body originais nas novas tentativas.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
# Crie uma vez por nova operação de geração; mantenha o valor original ao tentar novamente.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Crie uma vez por nova operação de geração; reutilize os headers e o payload originais nas novas tentativas.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Crie uma vez por nova operação de geração; reutilize os headers e o body originais nas novas tentativas.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Um canto de leitura aconchegante junto à janela em um dia chuvoso, um abajur de luz quente, iluminação cinematográfica",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
Autenticação e cabeçalhos
string
obrigatório
Os endpoints de geração e consulta de tarefas usam uma API Key da plataforma para autenticação Bearer Token. Obtenha uma chave na página de gerenciamento de API Keys.Para consultar a tarefa, use uma API Key pertencente ao mesmo usuário da plataforma.
Authorization: Bearer YOUR_API_KEY
string
obrigatório
Use
application/json no envio. A geração a partir de texto e de imagens utiliza um corpo de solicitação JSON.Seleção da versão
| Nome exibido | model | version |
|---|---|---|
| Flare (padrão) | gpt-image-2.5-ext | flare |
| Sunburst | gpt-image-2.5-ext | sunburst |
Parâmetros da solicitação
string
obrigatório
Valor fixo:
gpt-image-2.5-ext.string
padrão:"flare"
Versão do modelo. Opções:
flare, sunburst.string
obrigatório
Prompt para geração ou edição de imagens. Não pode ficar vazio após a remoção dos espaços no início e no fim.Na geração a partir de imagens, descreva o que deve ser preservado e alterado nas referências.
string
padrão:"1K"
Nível de resolução da saída. Opções:
1K, 2K, 4K.string
padrão:"auto"
Proporção da imagem de saída. Escolha
auto ou uma das 10 proporções abaixo:1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9.integer
padrão:"1"
Quantidade de imagens a gerar por solicitação. Deve ser um número inteiro de
1 a 4.string[]
Array com até
16 imagens de referência. Sem referências, a geração é feita a partir de texto; com referências, a partir de imagens. As referências não geram cobrança adicional.Formatos de entrada aceitos:- URLs de imagens acessíveis
- Data URL:
data:image/...;base64,...
Exemplos de uso
Os exemplos a seguir são corpos de solicitação JSON paraPOST /v1/images/generations. Use a autenticação e os cabeçalhos recomendados acima. Substitua os endereços de referência dos exemplos por URLs reais e acessíveis de imagens.
Geração a partir de texto
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um jardim suspenso em uma cidade futurista, névoa suave ao amanhecer, fotografia de arquitetura",
"size": "16:9",
"resolution": "2K",
"n": 1
}
Geração a partir de imagens com Sunburst
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "Preserve o produto e o texto da embalagem, substitua o fundo por um estúdio em tom branco-creme suave e adicione uma sombra projetada natural",
"size": "1:1",
"resolution": "2K",
"n": 1,
"image_urls": [
"https://example.com/product.png"
]
}
Várias imagens de referência e de saída
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "Use o produto da primeira imagem como tema principal, inspire-se no cenário da segunda imagem e crie uma imagem publicitária horizontal",
"size": "16:9",
"resolution": "2K",
"n": 2,
"image_urls": [
"https://example.com/product.png",
"https://example.com/set.jpg"
]
}
Proporção automática e resolução 4K
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Um visual principal minimalista para o lançamento de um produto, com uma proporção de composição adequada ao conteúdo da imagem",
"size": "auto",
"resolution": "4K",
"n": 1
}
Consultar resultados da tarefa
Use o ID da tarefa para chamar o endpoint de consulta de tarefas:curl --request GET \
--url https://api.apimart.ai/v1/tasks/task_01EXAMPLE \
--header 'Authorization: Bearer <token>'
Tarefa concluída com sucesso
O ID da tarefa, os horários, as URLs e os valores abaixo ilustram apenas a estrutura da resposta. Não representam uma tarefa real nem preços efetivos.{
"code": 200,
"data": {
"id": "task_01EXAMPLE",
"status": "completed",
"progress": 100,
"created": 1788912000,
"completed": 1788912045,
"actual_time": 45,
"estimated_time": 300,
"cost": 0.2,
"credits_cost": 2,
"result": {
"images": [
{
"url": [
"https://example.com/output-1.png",
"https://example.com/output-2.png"
],
"expires_at": 1788998445
}
]
}
}
}
Resposta
integer
Código de status da resposta. Um envio bem-sucedido no formato unificado retorna
200.string
Identificador desta solicitação, usado para diagnóstico de problemas.
object
A tarefa assíncrona aceita.
Mostrar Campos da tarefa
Mostrar Campos da tarefa
string
Identificador único da tarefa, usado para consultar seu status e as imagens resultantes.
string
Tipo de objeto. O valor é
generation.task.string
Tipo de tarefa. O valor é
image.string
O status inicial é
pending, indicando que a tarefa foi aceita.integer
Progresso atual, inicialmente
0.string
Caminho relativo para consultar a tarefa, como
/v1/tasks/task_01EXAMPLE.