curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-image-2.6-sunburst",
"prompt": "Una hermosa puesta de sol colorida sobre el océano"
}
'{
"created": 1757156493,
"id": "task-unified-1757156493-imcg5zqt",
"model": "gpt-image-2.6-sunburst",
"object": "image.generation.task",
"progress": 1,
"status": "processing",
"task_info": {
"can_cancel": true,
"estimated_time": 100
},
"type": "image",
"usage": {
"billing_rule": "per_1k_tokens",
"credits_reserved": 2.5,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gpt-image-2.6-sunburst",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}GPT Image 2.6 Generación de imágenes
- GPT Image 2.6 (gpt-image-2.6-sunburst / gpt-image-2.6-flare) admite generación de texto a imagen, imagen a imagen, edición de imágenes y edición guiada por anotaciones, con salida en GIF animado y SVG vectorial
- Procesamiento asíncrono: use el ID de tarea devuelto para consultar la tarea
- Los enlaces de las imágenes generadas son válidos durante 24 horas. Guarde los resultados cuanto antes
curl --request POST \
--url https://api.evolink.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-image-2.6-sunburst",
"prompt": "Una hermosa puesta de sol colorida sobre el océano"
}
'{
"created": 1757156493,
"id": "task-unified-1757156493-imcg5zqt",
"model": "gpt-image-2.6-sunburst",
"object": "image.generation.task",
"progress": 1,
"status": "processing",
"task_info": {
"can_cancel": true,
"estimated_time": 100
},
"type": "image",
"usage": {
"billing_rule": "per_1k_tokens",
"credits_reserved": 2.5,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gpt-image-2.6-sunburst",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Autorizaciones
Todas las APIs requieren autenticación Bearer Token.
Obtener API Key:
Visita la Página de gestión de API Key para obtener tu API Key
Agregar al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Cuerpo
Nombre del modelo de generación de imágenes, con mayor estabilidad y control para usos comerciales
| ID del modelo | Uso recomendado |
|---|---|
gpt-image-2.6-sunburst | Mayor nivel de detalle para trabajos visuales de precisión |
gpt-image-2.6-flare | Generación más rápida para iterar con agilidad |
Ambos modelos aceptan exactamente los mismos parámetros. El consumo real de tokens puede variar ligeramente con el mismo nivel de quality; tome como referencia el usage devuelto.
gpt-image-2.6-sunburst, gpt-image-2.6-flare "gpt-image-2.6-sunburst"
Prompt que describe la imagen que desea generar o cómo editar la imagen de entrada
Límites de longitud (deben cumplirse ambos):
- Hasta
32.000caracteres (contados como puntos de código Unicode) - El propio texto de
promptno debe superar los60.000bytes al codificarse en UTF-8
Cada carácter puede ocupar una cantidad distinta de bytes en UTF-8. Utilice el número real de bytes tras la codificación.
Si se supera cualquiera de los límites, acorte el prompt antes de volver a enviarlo.
Recomendación: Si el prompt supera los 8000 tokens, la imagen generada puede no coincidir con lo esperado; se recomienda acortar el prompt.
32000"Una hermosa puesta de sol colorida sobre el océano"
Imágenes de referencia como URLs públicas, para funciones de imagen a imagen y edición de imágenes
Nota:
- Número de imágenes de entrada por solicitud:
1~16 - Tamaño de una sola imagen: no más de
50MB - Píxeles de una sola imagen: ancho × alto no más de
178.956.970px - Longitud de lado de una sola imagen: ancho / alto sin superar
23170px cada uno; al superarlo pueden producirse errores - Formatos de archivo admitidos:
.jpeg,.jpg,.png,.webp - Las URLs de imagen deben ser directamente accesibles por el servidor, o la URL de imagen debe activar la descarga directa al acceder (generalmente estas URLs terminan con extensiones de archivo de imagen, como
.png,.jpg) - En escenarios de imagen a imagen / edición de imagen, las imágenes de referencia enviadas generan consumo adicional de tokens de imagen de entrada
- Con
markup_url, las anotaciones se aplican a la primera imagen y las demás sirven como referencias; la primera imagen debe tener un ancho × alto ≤16.777.216px - No se admiten imágenes de referencia cuando
output_formatessvg
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
URL de la máscara de inpainting — marca la región de la imagen de referencia que se va a regenerar. Solo válida en modo de edición de imagen (debe combinarse con image_urls); en texto-a-imagen puro, la máscara se ignora silenciosamente.
Requisitos de formato:
- Debe ser un PNG con canal alfa: píxeles transparentes (
alpha < 255) = áreas a regenerar, píxeles opacos = preservados - Las dimensiones de la máscara deben coincidir exactamente con las de la imagen de referencia (ancho × alto en píxeles)
- Una máscara por solicitud
Nota:
- Se requiere al menos una imagen de referencia en
image_urls; una máscara sola no tiene efecto - No se puede combinar con
markup_url - Errores comunes:
Invalid mask image format - mask image missing alpha channel: la imagen subida no tiene canal alfa (JPEG, PNG opaco, etc.). Reexporta la máscara como PNG con regiones transparentes.Invalid mask image format - mask size does not match image size: las dimensiones de la máscara no coinciden con la imagen de referencia. Redimensiona la máscara a las mismas dimensiones en píxeles que tu imagen de referencia.
"https://example.com/mask.png"
URL pública de la capa de anotaciones. Marque con círculos, flechas o trazos las zonas que desea modificar en la imagen de referencia y describa los cambios en prompt. Solo se aplica en el modo de edición de imágenes (requiere image_urls).
Requisitos de formato:
- Debe ser un PNG con píxeles transparentes: dibuje únicamente las anotaciones y deje el resto transparente. No dibuje directamente sobre la imagen original
- Las dimensiones deben coincidir exactamente con las de la primera imagen de referencia (ancho × alto en píxeles)
- Tanto la primera imagen de referencia como la capa de anotaciones deben tener un ancho × alto ≤
16.777.216px - Tamaño del archivo: no más de
50MB
Nota:
- Las anotaciones se aplican a la primera imagen de
image_urls; las demás sirven como referencias - No se puede combinar con
mask_url - Admite edición de imágenes convencionales y GIF, pero no SVG
- También puede enviarse como
model_params.markup_url; si se proporcionan ambos valores, tiene prioridad el de nivel superior - En
prompt, indique también qué debe conservarse, por ejemplo, "mantenga el resto sin cambios y elimine el círculo rojo"
"https://example.com/markup.png"
Dimensiones de la imagen generada. Por defecto auto. Las imágenes convencionales y las imágenes de referencia para SVG comparten las reglas siguientes; GIF utiliza las reglas independientes del apartado ④.
① Imágenes convencionales / referencia para SVG: formato de proporción (15 opciones)
1:1: Cuadrado1:2/2:1: Vertical / horizontal extremo1:3/3:1: Ultra vertical / horizontal (límite 3:1)2:3/3:2: Vertical / horizontal estándar3:4/4:3: Vertical / horizontal clásico4:5/5:4: Comunes en redes sociales9:16/16:9: Pantalla ancha móvil / escritorio9:21/21:9: Ultra-ancha
② Imágenes convencionales / referencia para SVG: píxeles explícitos: WxH (o W×H), p. ej. 1024x1024, 1536x1024, 3840×2160
- Ancho y alto deben ser múltiplos de
16 - Rango de cada borde:
[16, 3840] - Presupuesto de píxeles:
655.360 ≤ width × height ≤ 8.294.400(aprox. 0,65 MP ~ 8,29 MP) - Relación de aspecto:
≤ 3:1
③ Imágenes convencionales / referencia para SVG: auto: El modelo decide el tamaño automáticamente (en este caso resolution no se aplica)
④ Salida GIF: size indica las dimensiones de cada fotograma. Solo admite auto y dimensiones explícitas en píxeles, no proporciones.
- Con
auto, cada fotograma mide512×512 - El ancho y el alto explícitos de cada fotograma deben ser múltiplos positivos de
16 - El mínimo de
655.360píxeles para imágenes convencionales no se aplica a cada fotograma GIF; por ejemplo,512x512es válido - La imagen que reúne todos los fotogramas debe cumplir los límites de lados, píxeles totales y relación de aspecto; consulte las distribuciones y los límites por fotograma en
model_params.frame_count resolutionno se aplica
Tratamiento de valores fuera de rango:
- Para imágenes convencionales / referencia para SVG, una combinación de proporción +
resolutionque exceda el presupuesto se reduce proporcionalmente al máximo permitido (p. ej. 4K 2:1 → 3840×1920) - Las dimensiones explícitas de fotogramas GIF que superen los límites devuelven HTTP 400 y no se reducen automáticamente
"auto"
Parámetro rápido de nivel de resolución, solo efectivo cuando size está en formato de proporción; en formato de píxeles explícito y en la salida GIF este campo se ignora
Reglas de presupuesto de píxeles (las dimensiones se calculan a partir del recuento total de píxeles objetivo y la proporción de size, alineadas a múltiplos de 16):
1K: ~1 MP (1024² = 1.048.576 píxeles)2K: ~4 MP (2048² = 4.194.304 píxeles)4K: ~8,29 MP (3840×2160 = 8.294.400 píxeles, el máximo)
Tamaños de salida horizontal / cuadrado (los tamaños verticales son el horizontal con ancho/alto intercambiados, p. ej. 2:3 = 3:2 invertido):
| Proporción | 1K | 2K | 4K |
|---|---|---|---|
1:1 | 1024×1024 | 2048×2048 | 2880×2880 |
2:1 | 1456×720 | 2896×1456 | 3840×1920 * |
3:1 | 1776×592 | 3552×1184 | 3840×1280 * |
3:2 | 1248×832 | 2512×1680 | 3520×2352 |
4:3 | 1184×880 | 2368×1776 | 3312×2480 * |
5:4 | 1152×912 | 2288×1824 | 3216×2576 |
16:9 | 1360×768 | 2736×1536 | 3840×2160 (UHD) |
21:9 | 1568×672 | 3136×1344 | 3840×1648 * |
* Indica combinaciones que se reducen automáticamente para caber en el presupuesto de píxeles. Los valores no distinguen mayúsculas/minúsculas.
1K, 2K, 4K "1K"
Calidad de renderizado, que afecta directamente al número de tokens de salida y al costo. Por defecto medium
| Valor | Tokens de salida (1024²) | Costo relativo de salida de imagen (1024²) |
|---|---|---|
low | 824 | ~0,57× |
medium | 1.449 | 1,0× |
high | 1.756 | ~1,21× |
xhigh | 3.122 | ~2,15× |
max | 7.024 | ~4,85× |
Nota:
- La tabla compara únicamente el costo de salida de imagen, sin incluir la entrada ni el modelo autor de SVG
- Los valores corresponden a
1024×1024; los tokens de salida varían con el total de píxeles y la relación de aspecto. Consulte elusagedevuelto para conocer el consumo real - En GIF, los tokens se calculan sobre la imagen que reúne todos los fotogramas; en SVG, la calidad se aplica a la imagen de referencia
- Use
lowpara borradores rápidos. Para recursos finales, compare niveles para equilibrar detalle, latencia y costo
low, medium, high, xhigh, max "medium"
Profundidad de planificación antes de generar la imagen, independiente de quality. Por defecto high
low: Adecuado para cambios locales, como sustituir el fondo o cambiar el texto de un cartelmedium: Equilibradohigh: Adecuado para imágenes con mucho texto, composiciones complejas o relaciones complejas entre objetos
Nota:
- Los niveles más altos tardan más y pueden introducir cambios no deseados; compare los resultados para su tarea
- Cambiar
complexityno genera un cargo adicional - En SVG, se aplica a la imagen de referencia
- También puede enviarse como
model_params.complexity; si se proporcionan ambos valores, tiene prioridad el de nivel superior
low, medium, high "high"
Canal alfa de la imagen de salida. Valor predeterminado opaque
opaque: Fondo opaco, sin canal alfatransparent: Conserva el canal alfa
Nota:
transparentes una función en Preview y los resultados pueden ser inestables- Al usar
transparent,output_formatdebe serpngowebp - Si
output_formatesgifosvg, solo se admiteopaque
opaque, transparent "opaque"
Formato del archivo de salida. Por defecto png
png: Sin pérdida, admite fondos transparentesjpeg: Compresión con pérdida y archivos más pequeñoswebp: Equilibra tamaño y calidad; también admite transparenciagif: GIF animado; consultemodel_paramspara el número y la duración de los fotogramassvg: Imagen vectorial SVG, adecuada para logotipos, iconos y gráficos que necesitan escalar sin pérdida
Nota:
- Si
backgroundestransparent, solo se permitepngowebp gifadmite generación de texto a imagen y edición de imágenes- Con
gifysvg,ndebe ser1 svgsolo admite generación de texto a imagen- Para crear un SVG, primero se genera una imagen de referencia y luego un modelo autor (
model_params.svg_model) la convierte en gráficos vectoriales. Los tokens del modelo autor se facturan por separado según sus tarifas
png, jpeg, webp, gif, svg "png"
Cantidad de imágenes a generar, cada una facturada de forma independiente
Nota:
- Los tokens de entrada de texto escalan proporcionalmente con
n - El soporte de
n > 1es poco fiable por ahora: aun con un valor mayor que 1, a menudo solo se devuelve una imagen. El número real es el deresultsen la respuesta y la facturación sigue elusagedevuelto. Si necesita varias imágenes, envíe varias solicitudes de una sola imagen - Cuando
output_formatesgifosvg, este valor debe ser1
1 <= x <= 101
Parámetros específicos del modelo. Los parámetros de fotogramas GIF y del autor de SVG deben enviarse en este objeto.
frame_countyframe_duration_mssolo se permiten conoutput_format=gifsvg_modelysvg_reasoning_effortsolo se permiten conoutput_format=svg- Los parámetros incompatibles con el formato de salida devuelven HTTP 400; no se ignoran silenciosamente
Show child attributes
Show child attributes
Dirección de callback HTTPS después de completar la tarea
Momento del callback:
- Se activa cuando la tarea se completa, falla o se cancela
- Se envía después de completar la confirmación de facturación
Restricciones de seguridad:
- Solo se admite el protocolo HTTPS
- El callback a direcciones IP internas está prohibido (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
- La longitud de la URL no debe exceder
2048caracteres
Mecanismo de callback:
- Tiempo de espera:
10segundos - Máximo
3reintentos en caso de fallo (reintentos después de1segundo/2segundos/4segundos) - El formato del cuerpo de respuesta del callback es consistente con el formato de respuesta de la API de consulta de tareas
- La dirección de callback que devuelve un código de estado 2xx se considera exitosa, otros códigos de estado activarán reintentos
"https://your-domain.com/webhooks/image-task-completed"
Respuesta
Tarea de imagen creada con éxito
Marca de tiempo de creación de la tarea
1757156493
ID de tarea
"task-unified-1757156493-imcg5zqt"
Nombre del modelo usado realmente
"gpt-image-2.6-sunburst"
Tipo específico de tarea
image.generation.task Porcentaje de progreso de la tarea (0-100)
0 <= x <= 1001
Estado de la tarea. Las tareas en cola y en generación devuelven processing; el estado final es completed o failed.
processing, completed, failed "processing"
Información de tarea asíncrona
Show child attributes
Show child attributes
Tipo de salida de la tarea
text, image, audio, video "image"
Información de uso y facturación
Show child attributes
Show child attributes