Skip to main content
Flatkey ofrece dos familias de API de imagen. Usa los endpoints /v1/images/generations y /v1/images/edits compatibles con OpenAI para gpt-image-2. Usa el endpoint nativo generateContent de Gemini para los modelos de imagen de Gemini.
No puedes llamar a los modelos de imagen de Gemini con el SDK de OpenAI Images, /v1/images/generations ni /v1/images/edits. Usa los ejemplos de la API nativa de Gemini de esta página. De lo contrario, la solicitud puede devolver get_channel_failed.

Modelos de imagen compatibles

Consulta el Directorio de modelos para ver la lista completa de modelos y los precios actuales.

Usar gpt-image-2

Usar el SDK de OpenAI

Generar una imagen con curl

Este endpoint devuelve la imagen generada en data[0].b64_json; gpt-image-2 no proporciona una URL de imagen alojada. Consulta la referencia de la API de imágenes para ver todos los campos.

Editar una imagen con curl

Usa /v1/images/edits para subir una imagen de entrada junto con las instrucciones de edición. Este endpoint utiliza multipart/form-data; image es obligatorio y mask es opcional.
image admite PNG, JPEG y WebP. Omite mask para editar toda la imagen según el prompt. Cuando se proporciona una máscara, sus áreas transparentes identifican las regiones que se van a redibujar. La imagen editada se devuelve en data[0].b64_json. Consulta la referencia de la API de edición para ver todos los campos.

Usar los modelos de imagen de Gemini

Los modelos de imagen de Gemini utilizan el siguiente endpoint. Reemplaza {model} con un ID de modelo:
La solicitud debe incluir "IMAGE" en generationConfig.responseModalities. Las imágenes generadas se devuelven en candidates[].content.parts[].inlineData.

Usar curl

Usar Python y guardar la imagen

Instala un cliente HTTP:

Usar Node.js y guardar la imagen

Campos de solicitud de Gemini

array
requerido
Contenido de la conversación. Para la generación de imagen a partir de texto, coloca la descripción de la imagen en parts[].text.
array
requerido
Modalidades de respuesta. Usa ["TEXT", "IMAGE"] para texto e imágenes, o ["IMAGE"] para solicitar solo imágenes.
string
requerido
El ID del modelo aparece en la ruta de la URL, no en el cuerpo de la solicitud. Por ejemplo, gemini-3-pro-image.

Formato de respuesta de Gemini

inlineData.data contiene la imagen codificada en base64. Una respuesta puede contener texto y varias partes de imagen. Itera por parts en lugar de asumir que la imagen es siempre el primer elemento.

Solución de problemas

La API devuelve get_channel_failed

Asegúrate de que el endpoint coincide con el modelo:
  • Usa /v1/images/generations para generar con gpt-image-2.
  • Usa /v1/images/edits para editar con gpt-image-2.
  • Usa /v1beta/models/{model}:generateContent para los modelos de imagen de Gemini.

La respuesta de Gemini no contiene una imagen

Asegúrate de que generationConfig.responseModalities contiene "IMAGE". Comprueba también si la respuesta incluye un error o un bloqueo por políticas de seguridad.

Cómo escribir prompts eficaces

  • Especifica el estilo: fotorrealista, pintura al óleo, acuarela, render 3D
  • Incluye detalles de iluminación: hora dorada, iluminación de estudio, sombras dramáticas
  • Especifica la composición: primer plano, gran angular, vista aérea, orientación retrato
  • Añade modificadores de calidad: muy detallado, 4K, fotografía profesional