API Hop

Documentação

Documentação do API Hop

Geração de imagens GPT-Image-2

Gere imagens ou edite referências com gpt-image-2 e receba os resultados na resposta JSON ou conexão SSE atual.

POSThttps://api.apihop.ai/openai/v1/images/generations

gpt-image-2 suporta geração e edição de imagens de referência para imagens de produtos, rascunhos de pôsteres, ilustrações, materiais sociais, visuais de alta resolução, transferência de estilo e fusão de várias referências.

text
POST https://api.apihop.ai/openai/v1/images/generations

Autenticação

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Início rápido

json
{
  "model": "gpt-image-2",
  "prompt": "A minimal black wireless earbud product poster on a white background, clean studio lighting, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "low"
}

Escopo da comparação de preços

As faixas de imagem 1K / 2K / 4K publicadas pela RequestBeam são *preços de venda da RequestBeam*, não tarifas oficiais fixas da OpenAI por imagem. A documentação de preços da OpenAI descreve cobranças de tokens de imagem/texto e níveis de processamento; o custo real depende de tamanho, qualidade, referências de entrada e saída. Comparar apenas porque ambos mencionam 1k ou 2k não é um cálculo de desconto em condições equivalentes.

Para evitar alegações de economia sem suporte, a antiga referência agregada de provedores USD per image e o selo de desconto estão intencionalmente ocultos para GPT Image 2. O preço RequestBeam permanece visível e seu contrato de cobrança não muda. Para uma comparação futura fundamentada, registre modelo exato, endpoint, qualidade, dimensões, condições de entrada, URL da fonte oficial e data da verificação. Confira o preço efetivo da sua conta antes de uma chamada paga.

Corpo da requisição

modelstringobrigatórioPadrão: gpt-image-2

ID do modelo de imagem. Use gpt-image-2.

promptstringobrigatório

Prompt da imagem. Descreva assunto, cena, composição, estilo, material, iluminação, cores e se deve aparecer texto.

nintegerPadrão: 1

Número de imagens a gerar. O contrato público atual de gpt-image-2 suporta apenas 1. Outros valores retornam 400 antes da reserva.

sizestringPadrão: auto

Proporção ou dimensões em pixels da saída.

Valores comuns:

  • 1:1
  • 4:3
  • 16:9
  • 9:16
  • 1024x1024
  • 1536x1024
  • 1024x1536
  • 2048x2048
  • 2048x1152
  • 3840x2160
  • 2160x3840
  • auto
qualitystringPadrão: auto

Qualidade da saída. Valores suportados incluem low, medium, high e auto.

resolutionstringPadrão: 1k

Faixa de resolução da saída. Os valores suportados são 1k, 2k e 4k.

Pode ser combinada com size, por exemplo size: "16:9" e resolution: "2k".

image_urlsarray<string>

Imagens de referência usadas para edição por instruções ou fusão de várias imagens.

  • Até 16 imagens.
  • Cada imagem pode ter até 20 MB, com limite total de entrada de 256 MB.
  • URLs de imagens acessíveis publicamente são suportadas.
  • URIs de dados Base64 como data:image/...;base64,... são suportadas.
  • URLs e URIs de dados Base64 podem ser misturadas no mesmo array.
output_formatstringPadrão: png

Formato de saída. Valores suportados incluem png, jpeg e webp.

streambooleanPadrão: false

Se deve retornar Server-Sent Events.

Imagens de referência e edição

A edição de imagens de referência usa o mesmo endpoint JSON. Adicione image_urls e descreva em prompt o que preservar e alterar:

json
{
  "model": "gpt-image-2",
  "prompt": "Keep the product unchanged, replace the background with a dark blue studio, and add soft rim lighting",
  "image_urls": [
    "https://example.com/product.png"
  ],
  "size": "1:1",
  "resolution": "2k"
}

Várias referências podem fornecer o assunto, a composição ou o estilo visual:

json
{
  "model": "gpt-image-2",
  "prompt": "Use the product from the first image and the composition from the second image to create a clean ecommerce hero image",
  "image_urls": [
    "https://example.com/product.png",
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
  ],
  "size": "4:3",
  "resolution": "2k"
}

Limites atuais do contrato público:

  • Edição da imagem inteira, transferência de estilo e fusão de referências são suportadas por image_urls.
  • Não há uma rota separada POST https://api.apihop.ai/openai/v1/images/edits.
  • Uploads multipart/form-data não são aceitos. Converta primeiro imagens locais em URIs de dados Base64 ou envie-as a URLs acessíveis.
  • Inpainting com máscara não é suportado. Enviar mask, mask_url ou maskUrl retorna 400 antes da reserva.

Exemplos de requisição

Imagem de produto 1:1

json
{
  "model": "gpt-image-2",
  "prompt": "A transparent glass cup on a light gray background, commercial product photography, soft shadow, no text",
  "n": 1,
  "size": "1024x1024",
  "resolution": "1k",
  "quality": "low",
  "output_format": "png"
}

Pôster 16:9

json
{
  "model": "gpt-image-2",
  "prompt": "A futuristic city night poster with neon lights, wet streets, cinematic composition, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "medium",
  "output_format": "jpeg"
}

Como os resultados são retornados

Este endpoint compatível com OpenAI não retorna primeiro uma resposta de envio de tarefa contendo data.jobId para consulta posterior:

  • Com stream: false, a requisição HTTP atual aguarda a conclusão e retorna URLs de imagens na resposta JSON.
  • Com stream: true, a conexão SSE atual permanece aberta até image_generation.completed e [DONE].

Não use GET https://api.apihop.ai/v1/jobs/{id} para obter resultados deste endpoint. Use Consultar tarefa assíncrona somente quando um endpoint de criação assíncrona retornar explicitamente um jobId.

Resposta sem streaming

A resposta contém URLs das imagens. usage é incluído quando a rota do provedor fornece informações de medição.

json
{
  "created": 1777270000,
  "data": [
    {
      "url": "https://image.example.com/generated/123456789012345678/0.png"
    }
  ],
  "usage": {
    "input_tokens": 20,
    "output_tokens": 1234,
    "total_tokens": 1254
  }
}

Resposta em streaming

text
event: image_generation.completed
data: {"type":"image_generation.completed","data":[{"index":0,"url":"https://image.example.com/generated/123456789012345678/0.png"}],"usage":{"input_tokens":20,"output_tokens":1234,"total_tokens":1254}}

data: [DONE]

Referência de dimensões

Proporção desejadaRecomendado para 1KRecomendado para 2KRecomendado para 4K
1:11024x10242048x2048Não recomendado
3:21536x10242048x1360Não recomendado
2:31024x15361360x2048Não recomendado
4:31024x7682048x1536Não recomendado
3:4768x10241536x2048Não recomendado
16:91536x8642048x11523840x2160
9:16864x15361152x20482160x3840
21:92016x8642688x11523840x1648
9:21864x20161152x26881648x3840

Resposta de erro

Consulte Códigos de erro e solução de problemas para a referência completa, diferenças de protocolo e etapas de diagnóstico.

json
{
  "code": 10000,
  "message": "prompt is required",
  "type": "api_error"
}

Erros comuns:

  • 400: parâmetros obrigatórios ausentes ou combinação não suportada
  • 401: autenticação falhou ou chave de API incorreta
  • 402: saldo insuficiente
  • 404: modelo inexistente ou não ativado
  • 429: limite de taxa excedido
  • 5xx: serviço temporariamente indisponível ou geração de imagem falhou