Endpoints
Geração de imagens
Gere e edite imagens com POST /images/generations usando GPT image, Gemini image, FLUX e Seedream, com tamanhos, proporções e imagens de referência.
Teste no playgroundGere e edite imagens com todos os modelos de imagem do catálogo: GPT image, Gemini image, FLUX, Seedream, Recraft e outros. O endpoint usa o caminho do SDK da OpenAI, então client.images.generate(...) funciona sem alterações.
POST https://api14.com/api/v1/images/generations
POST /api/v1/images é aceito como alias. Ambos encaminham o corpo sem modificações.
Requisição
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | sim | Id de um modelo de imagem, por exemplo openai/gpt-5.4-image-2. |
prompt | string | sim | O que desenhar. |
n | integer | não | Número de imagens. Cada imagem é cobrada. |
size | string | não | Por exemplo 1024x1024, 1536x1024. Os tamanhos aceitos variam conforme o modelo. |
aspect_ratio | string | não | Por exemplo 16:9, 1:1, para modelos que usam proporções em vez de tamanhos. |
quality | string | não | Por exemplo low, medium, high, onde houver suporte. |
response_format | string | não | b64_json ou url, onde houver suporte. |
image | string ou string[] | não | Imagem(ns) de referência como URLs ou URIs data: para edição / image-to-image. |
As opções específicas de cada modelo (resoluções, proporções) estão listadas em GET /images/models e na página de cada modelo.
Exemplo
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.images.generate({
"model": "openai/gpt-5.4-image-2",
"prompt": "A minimalist product photo of a ceramic mug on a wooden table",
"n": 1,
"aspect_ratio": "1:1"
});
import { writeFile } from "node:fs/promises";
await writeFile("image.png", Buffer.from(result.data[0].b64_json, "base64"));
Resposta
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
Alguns modelos retornam url em vez de b64_json. Baixe as URLs hospedadas logo, pois podem expirar.
Imagens por chat
Modelos de imagem que também geram texto podem ser chamados por Chat completions com modalities:
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
As imagens geradas voltam em choices[0].message.images[] como data URLs.
Listar modelos de imagem
# Público, sem necessidade de chave de API
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
Preços
Os modelos de imagem são cobrados ao preço listado, por imagem ou por 1M de tokens de imagem, conforme o modelo. O custo exato é obtido da resposta do provedor e debitado do seu saldo em USD.
Erros
| Status | Código | Quando |
|---|---|---|
| 400 | model_required / invalid_json | model ausente ou corpo malformado. |
| 402 | insufficient_balance | Seu saldo em USD é $0. |
| 403 | model_not_allowed / plan_required | A lista de modelos permitidos da chave ou o plano excluem o modelo. |
| 404 | model_not_found | Id de modelo desconhecido ou desativado. |
| 413 | payload_too_large | O corpo (por exemplo, imagens de referência inline) excede o limite de tamanho. |
Erros de validação do provedor (tamanho não suportado, política de conteúdo) são repassados com o seu status. Veja Erros.