Documentação da API de Geração de Imagens
O KozeAI fornece interfaces de geração e edição de imagens no estilo OpenAI. A interface de imagem retorna um formato de resposta de imagem uniforme, mas o tamanho, a qualidade, a imagem de referência e o formato de saída específicos suportados pelo modelo são determinados pelo adaptador de canal.
Autenticação
Todas as solicitações são autenticadas via Authorization: Bearer . Usado após a criação de um token de API no console.
export KOZEAI_API_KEY='sk-your-token'
export KOZEAI_BASE_URL='https://your-kozeai-domain'
API Visão geral
| Método | Caminho | Tipo de conteúdo | Finalidade | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| POST | /v1/images/generations |
application/json |
Imagens geradas a partir de texto | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parâmetros | Tipo | Obrigatório | Descrição |
|---|---|---|---|
modelo |
string | É | Nome do modelo de imagem. Os modelos disponíveis são baseados nos retornos de /v1/models. |
prompt |
string | Sim | Descrição do conteúdo da imagem. Recomenda-se o uso de uma string não vazia. |
n |
inteiro | Não | Número de elementos gerados, padrão 1, intervalo de validação comum é 1-10. |
tamanho |
string | Não | Tamanho ou proporção da imagem, o valor específico é determinado pelo modelo. |
qualidade |
string | Não | Nível de qualidade, Os valores comuns são standard, hd, auto, 2k e 4k. |
response_format |
string | Não | Os valores comuns são url ou b64_json. |
estilo |
qualquer | Não | Parâmetro de estilo compatível com OpenAI. |
usuário / user_id |
qualquer | Não | Identificador do usuário que fez a chamada. |
campos_extras |
objeto | Não | Parâmetro estruturado adicional; Sua eficácia depende do adaptador de canal. |
background |
any | No | Configurações de fundo. |
moderation |
any | No | Configurações de moderação de conteúdo. |
output_format |
any | No | Formato de imagem de saída. |
compressão_de_saída |
inteiro | Não | Parâmetro de compressão de saída, compatível com alguns modelos de imagem do Codex. |
imagens_partiais |
inteiro | Não | Alguns parâmetros relacionados a imagem/streaming, compatíveis com alguns modelos de imagem do Codex. |
marca_d'água |
booleano | Não | Alternador de marca d'água; sua eficácia depende do canal. |
watermark_enabled |
qualquer | Não | Compatível com alguns parâmetros de marca d'água upstream. |
imagem |
string/objeto/array | Não | Refere-se à URL da imagem, URL dos dados ou objeto da imagem; Alguns canais entrarão automaticamente no processo de edição. |
Tamanhos e padrões do DALL·E
| Modelo | Tamanhos permitidos Valores |
Padrões |
|---|---|---|
dall-e-2 / dall-e |
256x256、512x512、1024x1024 |
1024x1024 |
1024x1024、1024x1792、1792x1024 |
1024x1024 |
|
gpt-image-1 / gpt-image-2 |
Determinado pelo modelo upstream | quality=auto |
size Deve usar letras de meia largura x, não use sinais de multiplicação ×.
2. Edição de Imagens
As solicitações de edição padrão usam o formulário multipart, com o campo de imagem nomeado image. Várias imagens de entrada podem ser reutilizadas usando image ou image[].
curl '$KOZEAI_BASE_URL/v1/images/edits' \
-H 'Authorization: Bearer $KOZEAI_API_KEY' \
-F 'model=gpt-image-1' \
-F 'prompt=Altere o fundo para cena noturna e mantenha os detalhes do assunto' \
-F 'image=@./input.png' \
-F 'n=1' \
-F 'quality=standard'
Formulário Comum Campos:
| Campo | Tipo | Descrição |
|---|---|---|
modelo |
string | Modelo de edição de imagem. |
prompt |
string | Requisitos de edição. |
imagem / image[] |
arquivo | Insira uma imagem, pelo menos uma. |
máscara |
arquivo | Imagem de máscara; Utilizado principalmente para fluxos de trabalho de edição compatíveis com OpenAI/Codex. |
n |
inteiro | Número de elementos gerados, padrão 1, intervalo 1-10. |
tamanho |
string | Tamanho ou proporção da saída. |
qualidade |
string | Qualidade da saída. |
response_format |
string | url ou b64_json, dependendo do canal. |
watermark |
boolean | Alternar marca d'água, dependendo do canal. |
Alguns canais também suportam solicitações de edição JSON, como definir image para uma URL de dados ou URL de imagem; no entanto, os caminhos de edição OAuth do OpenAI, Codex e ChatGPT usam preferencialmente multipart.
3. Diferenças entre canais
| Canal | Comportamentos adicionais |
|---|---|
| OpenAI / DALL·E | Campo de imagem encaminhado pelo OpenAI; o DALL·E possui validação rigorosa para tamanho. |
| xAI | tamanho será convertido para proporção e resolução; formato_response tem como padrão b64_json. Parâmetros JSON adicionais, como proporção e resolução, são suportados. |
| Fluxo | tamanho Suporta proporções de 1:1, 16:9, 9:16, 4:3 e 3:4; qualidade=2k/4k aciona um processo de redimensionamento. Imagens de referência são carregadas via imagem. |
| Jimeng / Dreamina | tamanho é usado para mapeamento de proporção; qualidade=hd selecionará uma resolução mais alta; a imagem de referência entrará no processo de mesclagem. |
| Codex | Além disso, suporta input_fidelity, mask, stream, output_format, output_compression e partial_images. |
| ChatGPT OAuth | Consome model, prompt e n e edita imagens; outros parâmetros de imagem podem ser ignorados. |
| Grok | response_format Suporta apenas url ou b64_json, o padrão é url; solicitações de edição exigem pelo menos uma imagem. |
Parâmetros não definidos em campos públicos não têm garantia automática de serem repassados. Somente parâmetros adicionais lidos explicitamente pelo adaptador de canal correspondente terão efeito.
4. Formato de Resposta
{
"created": 1751000000,
"data": [
{
"url": "https://example.com/generated.png",
"b64_json": "",
"revised_prompt": "Um gato laranja sentado perto da janela, luz e sombra cinematográficas"
}
]
}
Quando `response_format=b64_json`, o conteúdo da imagem está localizado em `data[].b64_json`; quando se usa o formato URL, o endereço da imagem está localizado em `data[].url`. Canais diferentes podem retornar strings vazias para campos não utilizados.
5. Exemplo de chamada JavaScript
const baseURL = process.env.KOZEAI_BASE_URL;
const apiKey = process.env.KOZEAI_API_KEY;
const response = await fetch(`${baseURL}/v1/images/generations`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
Content-Type: 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-1',
prompt: 'Uma ilustração minimalista do produto em um fundo branco',
n: 1, size: 1024x1024,
response_format: url,
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
const result = await response.json();
console.log(result.data[0].url || result.data[0].b64_json);
6. Erros Comuns
modelo obrigatório: Nome do modelo não informado.prompt obrigatório: Palavra de prompt vazia.n deve estar entre 1 e 10: Quantidade de geração excede o limite público.size deve ser um dos seguintes: DALL·E usa um tamanho não suportado.imagem obrigatória: A interface de edição não carregou uma imagem ou não forneceu uma referência de imagem reconhecível.formato de resposta não suportado: O canal de destino não suporta o formato de saída solicitado.