Skip to main content

A comprehensive toolkit for state-of-the-art AI image generation compatible with all devices.

Project description

atelier-generator

A comprehensive toolkit for state-of-the-art AI image generation compatible with all devices.

Installation

pip install atelier-generator

Key Features

  • 🎨 Image Generation
    • Text-to-Image Generation
    • Image Variations
    • Structural & Facial Guidance
    • Style Transfer & ControlNet
  • 🛠️ Image Editing
    • Face Enhancement (GFPGAN/CodeFormer)
    • Background Removal
    • Image Upscaling
    • Object Erasing & Inpainting
  • Real-time Features
    • RT Image Generation
    • Interactive Canvas
    • Image Outpainting
    • Image Analysis (Caption/Prompt)

Usage

Python Library

from atelier_generator import AtelierGenerator

# Initialize
atelier = AtelierGenerator(
    mode="default", # Mode (default/webui/api)
    gradio=False, # Enable Gradio support
    timeout=180, # Request timeout (seconds)
    log_on=True, # Enable logging
    save_to="outputs", # Output directory
    save_as="webp" # Output format (png/webp/jpg/pil)
)

# Basic image generation
result = atelier.image_generate(
    prompt="a beautiful landscape",
    negative_prompt="", # Optional negative prompt
    model_name="flux-turbo", # Model selection
    image_size="1:1", # Output size ratio
    lora_svi=None, # LoRA SVI preset
    lora_flux=None, # LoRA Flux preset
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

# Image variation
result = atelier.image_variation(
    image="source.jpg", # Source image
    prompt="convert to anime",
    negative_prompt="", # Optional negative prompt
    model_name="flux-turbo", # Model selection
    image_size="1:1", # Output size ratio
    strength="high", # Variation strength (low/medium/high)
    lora_svi=None, # LoRA SVI preset
    lora_flux=None, # LoRA Flux preset
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

# Structural guidance
result = atelier.image_structure(
    image="structure.jpg", # Source image
    prompt="enhance details",
    negative_prompt="", # Optional negative prompt
    model_name="svi-realistic", # Model selection
    image_size="1:1", # Output size ratio
    strength="high", # Guide strength (low/medium/high)
    lora_svi=None,  # LoRA SVI preset
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

# Face enhancement
result = atelier.face_gfpgan(
    image="face.jpg",
    model_version="1.3" # Model version (1.2/1.3)
)
result = atelier.face_codeformer(
    image="face.jpg"
)

# Image editing
result = atelier.image_enhance(
    image="photo.jpg",
    prompt="enhance quality", # Optional prompt
    negative_prompt="", # Optional negative prompt
    creativity=0.3, # Creativity level (0.0-1.0)
    resemblance=1.0, # Resemblance level (0.0-1.0)
    hdr=0.0, # HDR strength (0.0-1.0)
    style_name=None # Style preset
)

result = atelier.image_inpaint(
    image="image.jpg",
    mask="mask.jpg", # Mask image
    prompt="fill with trees",
    style_name=None # Style preset
)

result = atelier.image_erase(
    image="image.jpg",
    mask="mask.jpg" # Mask image
)

result = atelier.image_bgremove(
    image="photo.jpg"
)

result = atelier.image_upscale(
    image="small.jpg"
)

result = atelier.image_outpaint(
    image="image.jpg",
    image_size="16:9" # Output size ratio
)

# Real-time features
result = atelier.realtime_generate(
    prompt="quick sketch",
    negative_prompt="", # Optional negative prompt
    image_size="1:1", # Output size ratio
    lora_rt=None, # LoRA RT preset
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

result = atelier.realtime_canvas(
    image="canvas.jpg", # Source image
    prompt="enhance drawing",
    negative_prompt="", # Optional negative prompt
    lora_rt=None, # LoRA RT preset
    strength=0.9, # Creativity level (0.0-1.0)
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

# Image analysis
caption = atelier.image_caption(
    image="photo.jpg"
)
prompt = atelier.image_prompt(
    image="photo.jpg"
)

# ControlNet features
result = atelier.image_controlnet(
    image="sketch.jpg",
    prompt="convert to art",
    negative_prompt="", # Optional negative prompt
    model_name="sd-toon", # Model selection
    controlnet="scribble", # Control type (scribble/pose/line-art/depth/canny)
    strength=70, # Control strength (0-100)
    cfg=9.0, # Prompt guidance scale
    image_seed=0, # Generation seed
    style_name=None # Style preset
)

Web UI

Start the Gradio web interface:

atelier = AtelierGenerator(mode="webui")
# OR
atelier = AtelierGenerator()
atelier.start_wui(
    host="0.0.0.0", # Server host
    port=5735, # Server port
    browser=True, # Launch browser
    upload_size="4MB", # Max upload size
    public=False, # Enable public URL
    limit=10 # Max concurrent requests
)

REST API

Start the Flask API server:

atelier = AtelierGenerator(mode="api")
# OR
atelier = AtelierGenerator()
atelier.start_api(
    host="0.0.0.0", # Server host
    port=5733, # Server port
    debug=False # Enable debug mode
)

API Endpoints

Image Generation:

  • POST /v1/api/image/generate - Generate images from text
  • POST /v1/api/image/variation - Create image variations
  • POST /v1/api/image/structure - Apply structural guidance
  • POST /v1/api/image/facial - Apply facial guidance
  • POST /v1/api/image/style - Apply style transfer
  • POST /v1/api/image/controlnet - Apply ControlNet

Image Editing:

  • POST /v1/api/image/enhance - Enhance image quality
  • POST /v1/api/image/inpaint - Fill masked areas
  • POST /v1/api/image/erase - Remove objects
  • POST /v1/api/image/upscale - Upscale image
  • POST /v1/api/image/bgremove - Remove background
  • POST /v1/api/image/outpaint - Extend image borders

Face Enhancement:

  • POST /v1/api/face/gfpgan - GFPGAN face restoration
  • POST /v1/api/face/codeformer - CodeFormer face restoration

Real-time Features:

  • POST /v1/api/realtime/generate - Real-time generation
  • POST /v1/api/realtime/canvas - Interactive canvas

Image Analysis:

  • POST /v1/api/image/caption - Generate image caption
  • POST /v1/api/image/prompt - Convert image to prompt

Configuration

Output Formats

  • webp (default) - High quality, small size
  • png - Lossless quality
  • jpg - Standard compressed
  • pil - PIL Image object

Available Models & Presets

# Get available options
models = atelier.list_atr_models # Base models
sizes = atelier.list_atr_size # Image sizes
styles = atelier.list_sty_styles # Style presets
lora_models = {
    'svi': atelier.list_atr_lora_svi, # SVI LoRA models
    'flux': atelier.list_atr_lora_flux, # Flux LoRA models
    'rt': atelier.list_atr_lora_rt # RT LoRA models
}

License

See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atelier_generator-25.3.1.tar.gz (374.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atelier_generator-25.3.1-py3-none-any.whl (372.3 kB view details)

Uploaded Python 3

File details

Details for the file atelier_generator-25.3.1.tar.gz.

File metadata

  • Download URL: atelier_generator-25.3.1.tar.gz
  • Upload date:
  • Size: 374.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.11

File hashes

Hashes for atelier_generator-25.3.1.tar.gz
Algorithm Hash digest
SHA256 4a31a7b267806646fbdeed30c00e1638c0ea4aa4e026091f4f50b0d3c7b387c7
MD5 61befe5266121c0f921336fb64ff4f34
BLAKE2b-256 37fca809200b411aa644629d00b24c66a838d2d0aeabe027e617f4a2cf2d1d81

See more details on using hashes here.

File details

Details for the file atelier_generator-25.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for atelier_generator-25.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 34a8560fd623ff5ec8415a7b4bddc7382155cb13bf6600cc5438a982d8c2536e
MD5 5bd3f2eb2edb1927fe71124fe755fe6d
BLAKE2b-256 3e1c17cca8d8df348fad4e372b3b10309d7b92fc9b9d21501cc95e312f103bbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page