AiImageParams class

Parámetros específicos para generación de imágenes con validación tipada.

Esta clase proporciona una interfaz estructurada para configurar la generación de imágenes, evitando strings mágicos y ofreciendo constantes tipadas.

Compatibilidad con proveedores:

  • OpenAI: Los parámetros se mapean directamente a la API (aspectRatio → size, etc.)
  • Gemini: Los parámetros se convierten en instrucciones textuales automáticamente
  • Otros: Comportamiento definido por cada proveedor

Tabla de parámetros:

Campo Tipo Valores Descripción
aspectRatio String? auto, portrait, landscape, square Relación de aspecto deseada. OpenAI lo convierte a tamaños (1024x1024, 1024x1536, 1536x1024). auto usa formato cuadrado.
format String? png, webp, jpeg Formato de exportación cuando el proveedor lo soporta.
background String? opaque, transparent Tipo de fondo: sólido o transparente.
fidelity String? low, medium, high Fidelidad de entrada para ediciones/iteraciones. OpenAI usa low por defecto.
quality String? standard, high, ultra Calidad visual solicitada en proveedores que lo soportan.
sourceImageBase64 String? Base64 string Imagen base en formato Base64 para editar/iterar. Soportado tanto por OpenAI como Gemini.

Ejemplo de uso:

const params = AiImageParams(
  aspectRatio: AiImageAspectRatio.landscape,
  quality: AiImageQuality.high,
  format: AiImageFormat.png,
  background: AiImageBackground.transparent,
  sourceImageBase64: 'data:image/png;base64,iVBORw0KGgoAAAA...',
);

final image = await AI.image('Logo corporativo moderno', null, params);

Compatible con additionalParams existentes pero con estructura tipada.

Constructors

AiImageParams({String? aspectRatio, String? format, String? background, String? fidelity, String? quality, String? sourceImageBase64})
const
AiImageParams.fromMap(Map<String, dynamic>? params)
Factory constructor desde Map<String, dynamic> para compatibilidad
factory

Properties

aspectRatio String?
Relación de aspecto de la imagen generada.
final
background String?
Tipo de fondo de la imagen.
final
fidelity String?
Nivel de fidelidad para ediciones e iteraciones.
final
format String?
Formato de archivo de la imagen generada.
final
hashCode int
The hash code for this object.
no setterinherited
quality String?
Calidad visual de la imagen generada.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sourceImageBase64 String?
Imagen base en formato Base64 para editar o iterar.
final

Methods

copyWith({String? aspectRatio, String? format, String? background, String? fidelity, String? quality, String? sourceImageBase64}) AiImageParams
Copy with para modificaciones inmutables
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toMap() Map<String, dynamic>
Convierte a Map<String, dynamic> para compatibilidad con additionalParams
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited