aix.image¶
Image generation interface for AIX.
Generate images from text descriptions using various AI models.
Examples
Simple image generation:
>>> from aix.image import generate_image
>>> image = generate_image("A serene mountain landscape at sunset")
>>> image.save("landscape.png")
Multiple images:
>>> images = generate_images(
... "A cute cat wearing a hat",
... n=3,
... size="1024x1024"
... )
>>> for i, img in enumerate(images):
... img.save(f"cat_{i}.png")
With specific model:
>>> image = generate_image(
... "Abstract art with vibrant colors",
... model="dall-e-3"
... )
Functions
|
Create variations of an existing image. |
|
Edit an existing image based on a prompt. |
|
Generate a single image from a text prompt. |
|
Generate multiple images from a text prompt. |
Classes
|
Wrapper for generated images. |
- class aix.image.GeneratedImage(url=None, b64_json=None, model=None, prompt=None, revised_prompt=None)[source]¶
Bases:
objectWrapper for generated images.
Provides convenient access to image data in various formats.
Examples
>>> img = GeneratedImage(url="https://...", model="dall-e-3") >>> img.save("output.png") >>> img.show() >>> data = img.as_bytes()
- as_pil_image()[source]¶
Get image as PIL Image object.
- Returns:
PIL.Image object
- Raises:
ImportError – If PIL is not installed
- aix.image.create_variation(image_path, *, model=None, size=None, n=1, api_key=None, **kwargs)[source]¶
Create variations of an existing image.
- Parameters:
- Return type:
Union[GeneratedImage,list[GeneratedImage]]- Returns:
GeneratedImage or list of GeneratedImage objects
Examples
>>> from aix.image import create_variation >>> variations = create_variation( ... "original.png", ... n=3, ... size="512x512" ... ) >>> for i, var in enumerate(variations): ... var.save(f"variation_{i}.png")
- aix.image.edit_image(image_path, prompt, *, mask_path=None, model=None, size=None, n=1, api_key=None, **kwargs)[source]¶
Edit an existing image based on a prompt.
- Parameters:
prompt (
str) – Description of the desired editmask_path (
Union[str,Path]) – Optional path to mask image (transparent areas will be edited)model (
str) – Model to use (typically ‘dall-e-2’ for edits)size (
str) – Output image sizen (
int) – Number of variations to generate**kwargs – Additional provider-specific parameters
- Return type:
Union[GeneratedImage,list[GeneratedImage]]- Returns:
GeneratedImage or list of GeneratedImage objects
Examples
>>> from aix.image import edit_image >>> edited = edit_image( ... "photo.png", ... "Add a rainbow in the sky", ... mask_path="sky_mask.png" ... ) >>> edited.save("edited_photo.png")
- aix.image.generate_image(prompt, *, model=None, size=None, quality=None, style=None, response_format='url', api_key=None, **kwargs)[source]¶
Generate a single image from a text prompt.
- Parameters:
prompt (
str) – Text description of the image to generatemodel (
str) – Model to use (e.g., ‘dall-e-2’, ‘dall-e-3’, ‘stable-diffusion’)size (
str) – Image size (e.g., ‘1024x1024’, ‘512x512’, ‘1792x1024’)quality (
str) – Image quality (‘standard’ or ‘hd’ for DALL-E 3)style (
str) – Image style (‘vivid’ or ‘natural’ for DALL-E 3)response_format (
str) – Format of response (‘url’ or ‘b64_json’)api_key (
str) – Explicit API key. If None, resolved from the environment / .env / AIX config store for the model’s provider (see aix.credentials).**kwargs – Additional provider-specific parameters
- Return type:
- Returns:
GeneratedImage object
- Raises:
ImportError – If LiteLLM is not installed
Examples
>>> from aix.image import generate_image >>> image = generate_image("A serene mountain landscape") >>> image.save("landscape.png")
>>> # High quality with DALL-E 3 >>> image = generate_image( ... "Abstract art with vibrant colors", ... model="dall-e-3", ... quality="hd", ... style="vivid" ... )
>>> # Specific size >>> image = generate_image( ... "A futuristic city", ... size="1792x1024" ... )
- aix.image.generate_images(prompt, *, n=None, model=None, size=None, quality=None, style=None, response_format='url', api_key=None, **kwargs)[source]¶
Generate multiple images from a text prompt.
- Parameters:
- Return type:
- Returns:
List of GeneratedImage objects
Examples
>>> from aix.image import generate_images >>> images = generate_images( ... "A cute robot", ... n=3, ... size="512x512" ... ) >>> for i, img in enumerate(images): ... img.save(f"robot_{i}.png")