Documentación de la API de Generación de Imágenes
KozeAI proporciona interfaces de generación y edición de imágenes al estilo OpenAI. La interfaz de imagen devuelve un formato de respuesta de imagen uniforme, pero el tamaño, la calidad, la imagen de referencia y el formato de salida específicos compatibles con el modelo vienen determinados por el adaptador de canal.
Autenticación
Todas las solicitudes se autentican mediante Authorization: Bearer . Se utiliza después de crear un token de API en la consola.
export KOZEAI_API_KEY='sk-your-token'
export KOZEAI_BASE_URL='https://your-kozeai-domain'
API Resumen
| Método | Ruta | Tipo de contenido | Propósito | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| POST | /v1/images/generations |
application/json |
Imágenes generadas por texto | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parámetros | Tipo | Obligatorio | Descripción | |
|---|---|---|---|---|
modelo |
cadena | ¿Es? | Nombre del modelo de imagen. Los modelos disponibles se basan en los resultados de /v1/models. |
|
mensaje |
cadena | Sí | Descripción del contenido de la imagen. Se recomienda usar una cadena no vacía. | |
calidad |
cadena | No | Nivel de calidad. Los valores comunes son estándar, hd, automático, 2k, 4k. |
|
formato_de_respuesta |
cadena | No | Los valores comunes son url o b64_json. |
|
estilo |
cualquiera | No | Parámetro de estilo compatible con OpenAI. | |
usuario / id_usuario |
cualquiera | No | Identificador del usuario que llama. | |
campos_adicionales |
objeto | No | Parámetro estructurado adicional; Su efectividad depende del adaptador de canal. | |
fondo |
cualquiera | No | Configuración de fondo. | |
moderación |
cualquiera | No | Configuración de moderación de contenido. | |
formato de salida |
cualquiera | No | Formato de imagen de salida. | |
output_compression |
integer | No | Parámetro de compresión de salida, compatible con algunos modelos de imagen de Codex. | |
partial_images |
integer | No | Algunos parámetros relacionados con la imagen/transmisión, compatibles con algunos modelos de imagen de Codex. | |
watermark |
boolean | No | Interruptor de marca de agua; su efectividad depende del canal. | |
watermark_enabled |
cualquiera | No | Compatible con algunos parámetros de marca de agua anteriores. | |
imagen |
cadena/objeto/matriz | No | Consulte la URL de la imagen, la URL de los datos o el objeto de imagen; Algunos canales entrarán automáticamente en el proceso de edición. Valores | Valores predeterminados |
dall-e-2 / dall-e |
256x256、512x512、1024x1024 |
1024x1024 |
||
dall-e-3 |
1024x1024, 1024x1792, 1792x1024 |
1024x1024 |
||
gpt-image-1 / gpt-image-2 |
Determinado por el modelo anterior | quality=auto |
size Debe usar letras de ancho medio x, no usar signos de multiplicación ×.
2. Edición de imágenes
Las solicitudes de edición estándar utilizan el formulario multipart, con el campo de imagen denominado image. Se pueden reutilizar varias imágenes de entrada utilizando image o image[].
curl '$KOZEAI_BASE_URL/v1/images/edits' \
-H 'Authorization: Bearer $KOZEAI_API_KEY' \
-F 'model=gpt-image-1' \
-F 'prompt=Cambiar el fondo a escena nocturna y conservar los detalles del sujeto' \
-F 'image=@./input.png' \
-F 'n=1' \
-F 'quality=standard'
Formulario común Campos:
| Campo | Tipo | Descripción |
|---|---|---|
modelo |
cadena | Modelo de edición de imágenes. |
mensaje |
cadena | Requisitos de edición. |
imagen / image[] |
archivo | Ingrese una imagen, al menos una. |
máscara |
archivo | Imagen de máscara; Se utiliza principalmente para flujos de trabajo de edición compatibles con OpenAI/Codex. |
n |
entero | Número de elementos generados, valor predeterminado 1, rango 1-10.
|
tamaño |
cadena | Tamaño o proporción de la salida. |
calidad |
cadena | Calidad de la salida. |
response_format |
string | url o b64_json, según el canal. |
watermark |
boolean | Interruptor de marca de agua, según el canal. |
Algunos canales también admiten solicitudes de edición JSON, como establecer image a una URL de datos o una URL de imagen; sin embargo, las rutas de edición OAuth de OpenAI, Codex y ChatGPT prefieren usar multipart.
3. Diferencias entre canales
| Canal | Comportamientos adicionales |
|---|---|
| OpenAI / DALL·E | Campo de imagen reenviado por OpenAI; DALL·E tiene una validación estricta para size. |
| xAI | size se convertirá a aspect_ratio y resolution; response_format tiene como valor predeterminado b64_json. Se admiten parámetros JSON adicionales como aspect_ratio y resolution. |
| Flujo | tamaño Admite relaciones de aspecto de 1:1, 16:9, 9:16, 4:3 y 3:4; calidad=2k/4k activa un proceso de escalado. Las imágenes de referencia se cargan mediante imagen. |
| Jimeng / Dreamina | tamaño se utiliza para el mapeo de la relación de aspecto; calidad=hd selecciona una resolución mayor; la imagen de referencia entra en el proceso de fusión. |
| Codex | Además, admite input_fidelity, mask, stream, output_format, output_compression y partial_images. |
| Autenticación OAuth de ChatGPT | Realmente consume model, prompt y n, y edita imágenes; otros parámetros de imagen pueden ignorarse. |
| Grok | response_format Solo admite url o b64_json; el valor predeterminado es url. Las solicitudes de edición requieren al menos una imagen. |
No se garantiza que los parámetros no definidos en campos públicos se transmitan automáticamente. Solo los parámetros adicionales leídos explícitamente por el adaptador de canal correspondiente tendrán efecto.
4. Formato de respuesta
{
"created": 1751000000,
"data": [
{
"url": "https://example.com/generated.png",
"b64_json": "",
"revised_prompt": "Un gato naranja sentado junto a la ventana, luz y sombra cinematográficas"
}
]
}
Cuando `response_format=b64_json`, el contenido de la imagen se encuentra en `data[].b64_json`; cuando se usa el formato URL, la dirección de la imagen se encuentra en `data[].url`. Los diferentes canales pueden devolver cadenas vacías para los campos no utilizados.
5. Ejemplo de llamada a 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: 'Una ilustración minimalista del producto sobre un fondo blanco',
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. Errores comunes
Se requiere el modelo: No se ha proporcionado el nombre del modelo.Se requiere el mensaje: El mensaje está vacío.n debe estar entre 1 y 10: La cantidad de generaciones supera el límite público.El tamaño debe ser uno de los siguientes...: DALL·E utiliza un tamaño no compatible.Se requiere la imagen: La interfaz de edición no cargó una imagen ni proporcionó una referencia de imagen reconocible.Formato de respuesta no compatible: El canal de destino no admite el formato de salida solicitado.