Referência da API

Use a API aberta do GPT Image 2 para gerar e editar imagens de forma programática. Autentique-se com sua própria chave de API, pague com créditos e obtenha resultados por polling.

Visão geral

A API do GPT Image 2 permite gerar imagens através da sua conta GPT Image 2. As solicitações usam a chave de API do seu site e são roteadas através da nossa integração Kie no lado do servidor.

Crie uma chave de API em:

/settings/apikeys

Em seguida, chame:

POST /api/v1/images/generations
GET /api/v1/images/tasks/{task_id}

A geração de imagens é assíncrona. O endpoint de criação retorna um id de tarefa, e o endpoint de tarefa retorna as URLs finais da imagem quando a geração é bem-sucedida.

Autenticação

Envie sua chave de API do GPT Image 2 como token Bearer:

Authorization: Bearer sk-xxx

Não exponha chaves de API em código do lado do navegador. Use-as a partir do seu backend, scripts ou funções serverless.

Cobrança

O uso da API consome os mesmos créditos que o aplicativo web:

OperaçãoCusto em créditos
Geração de imagem10 créditos por imagem

Se uma solicitação do provedor falhar antes de uma tarefa ser aceita, os créditos consumidos são reembolsados automaticamente pelo fluxo de falha de tarefa.

Criar geração de imagem

Endpoint

POST https://gpt-image-2.art/api/v1/images/generations

Corpo da solicitação

ParâmetroTipoObrigatórioDescrição
modelstringNãoUse gpt-image-2. Os aliases internos gpt-image-2-text-to-image e gpt-image-2-image-to-image também são suportados.
promptstringSimDescrição textual da imagem. Obrigatório a menos que image_urls sejam fornecidas.
image_urlsstring[]NãoURLs de imagens de referência para geração de imagem para imagem.
nintegerNãoNúmero de imagens a gerar, de 1 a 10. Padrão: 1.
sizestringNãoUm de 1024x1024, 1536x1024, 1024x1536, 1920x1088, 1088x1920, 3824x2160, 2160x3824 ou auto.
qualitystringNãoOpção de qualidade do provedor, por exemplo high ou auto.
output_formatstringNãopng, jpeg ou webp quando suportado pelo provedor.
response_formatstringNãoApenas url é suportado.
userstringNãoIdentificador opcional do usuário final para seu próprio rastreamento.

Exemplo de texto para imagem

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic product photo of a matte black coffee bag on a marble counter",
    "size": "1536x1024",
    "quality": "high",
    "n": 1
  }'

Exemplo de imagem para imagem

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Keep the product unchanged and place it on a clean studio background",
    "image_urls": ["https://example.com/product.png"],
    "size": "1024x1024",
    "n": 1
  }'

Resposta de criação

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "pending",
  "credits": 10,
  "data": []
}

Salve o id e faça polling no endpoint de tarefa.

Consultar tarefa de imagem

Endpoint

GET https://gpt-image-2.art/api/v1/images/tasks/{task_id}

Exemplo

curl https://gpt-image-2.art/api/v1/images/tasks/8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3 \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY"

Resposta de sucesso

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "succeeded",
  "credits": 10,
  "data": [
    {
      "url": "https://..."
    }
  ]
}

Valores possíveis de status:

StatusSignificado
pendingA tarefa está na fila.
processingO provedor está gerando a imagem.
succeededAs URLs de imagem estão disponíveis em data.
failedA geração falhou.
canceledA geração foi cancelada.

Exemplo em JavaScript

const apiKey = process.env.GPT_IMAGE_2_API_KEY;

const createRes = await fetch(
  'https://gpt-image-2.art/api/v1/images/generations',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${apiKey}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'gpt-image-2',
      prompt:
        'A premium skincare bottle on wet stone with soft studio lighting',
      size: '1024x1024',
      n: 1,
    }),
  }
);

const task = await createRes.json();

let result = task;
while (['pending', 'processing'].includes(result.status)) {
  await new Promise((resolve) => setTimeout(resolve, 3000));
  const queryRes = await fetch(
    `https://gpt-image-2.art/api/v1/images/tasks/${task.id}`,
    {
      headers: {
        Authorization: `Bearer ${apiKey}`,
      },
    }
  );
  result = await queryRes.json();
}

console.log(result.data);

Formato de erro

Os erros seguem o formato de estilo OpenAI:

{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "param": null,
    "code": "invalid_api_key"
  }
}

Recursos relacionados