Aquiles Image
A high-performance, memory-efficient inference server for diffusion models (image/video generation), compatible with the OpenAI client
Install / Use
npx skills add Aquiles-ai/Aquiles-ImageInstalls into whichever agent you are using.
README
Aquiles-Image
<img src="https://res.cloudinary.com/dmtomxyvm/image/upload/v1763763684/aquiles_image_m6ej7u.png" alt="Aquiles-Image Logo" width="800"/>Self-hosted image/video generation with OpenAI-compatible APIs
🚀 FastAPI • Diffusers • Drop-in replacement for OpenAI
</div>🎯 What is Aquiles-Image?
Aquiles-Image is a production-ready API server that lets you run state-of-the-art image and video generation models on your own infrastructure. OpenAI-compatible by design, switch from external APIs to self-hosted in under 5 minutes with zero code changes.
External image APIs are expensive, slow, and send your data to third parties. Aquiles-Image runs on your hardware, costs nothing per request, and works with the OpenAI client you already use.
Why Aquiles-Image?
| Challenge | Aquiles-Image Solution | |-----------|------------------------| | 💸 Expensive external APIs | Run models locally with unlimited usage | | 🔒 Data privacy concerns | Your images never leave your server | | 🐌 Slow inference | Advanced optimizations for 3x faster generation | | 🔧 Complex setup | One command to run any supported model | | 🚫 Vendor lock-in | OpenAI-compatible, switch without rewriting code |
Key Features
- 🔌 OpenAI Compatible - Use the official OpenAI client with zero code changes
- ⚡ Intelligent Batching - Automatic request grouping by shared parameters for maximum throughput on single or multi-GPU setups
- 🎨 30+ Optimized Models - 18 image (FLUX, SD3.5, Qwen) + 12 video models (Wan2.x, HunyuanVideo) + unlimited via AutoPipeline (Only T2I)
- 🚀 Multi-GPU Support - Distributed inference with dynamic load balancing across GPUs (image models) for horizontal scaling
- 🛠️ Superior DevX - Simple CLI, dev mode for testing, built-in monitoring
- 🎬 Advanced Video - Text-to-video with Wan2.x and HunyuanVideo series (+ Turbo variants)
- 🧩 LoRA Support - Load any LoRA from HuggingFace or a local path via a simple JSON config file, compatible with all native models and AutoPipeline
- ⚙️ GGUF Support - Run quantized GGUF transformers (Q2_K, Q4_K, Q8_0…) via a curated registry — lower VRAM, same OpenAI-compatible API
🚀 Quick Start
Installation
# From PyPI (recommended)
pip install aquiles-image
# From source
git clone https://github.com/Aquiles-ai/Aquiles-Image.git
cd Aquiles-Image
pip install .
Launch Server
Single-Device Mode (Default)
aquiles-image serve --model "stabilityai/stable-diffusion-3.5-medium"
Multi-GPU Distributed Mode (Image Models Only)
aquiles-image serve --model "stabilityai/stable-diffusion-3.5-medium" --dist-inference
Distributed Inference Note: Enable multi-GPU mode by adding the
--dist-inferenceflag. Each GPU will load a copy of the model, so ensure each GPU has sufficient VRAM. The system automatically balances load across GPUs and groups requests with shared parameters for maximum throughput.
Generate Your First Image
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:5500", api_key="not-needed")
result = client.images.generate(
model="stabilityai/stable-diffusion-3.5-medium",
prompt="a white siamese cat",
size="1024x1024"
)
print(f"Image URL: {result.data[0].url}")
That's it! You're now generating images with the same API you'd use for OpenAI.
🎨 Supported Models
Text-to-Image (/images/generations)
stabilityai/stable-diffusion-3-mediumstabilityai/stable-diffusion-3.5-mediumstabilityai/stable-diffusion-3.5-largestabilityai/stable-diffusion-3.5-large-turboblack-forest-labs/FLUX.1-devblack-forest-labs/FLUX.1-schnellblack-forest-labs/FLUX.1-Krea-devblack-forest-labs/FLUX.2-dev*diffusers/FLUX.2-dev-bnb-4bitTongyi-MAI/Z-Image-TurboQwen/Qwen-ImageQwen/Qwen-Image-2512black-forest-labs/FLUX.2-klein-4Bblack-forest-labs/FLUX.2-klein-9Bzai-org/GLM-Image- (This model is usually the slowest to execute in relative terms)Tongyi-MAI/Z-Imageblack-forest-labs/FLUX.2-klein-9b-kvNucleusAI/Nucleus-Imagebaidu/ERNIE-Imagebaidu/ERNIE-Image-Turboideogram-ai/ideogram-4-nf4-diffuserskrea/Krea-2-Turbokrea/Krea-2-LoRA-retroanimekrea/Krea-2-LoRA-sunsetblurkrea/Krea-2-LoRA-vintagetarotkrea/Krea-2-LoRA-rainywindowkrea/Krea-2-LoRA-darkbrushkrea/Krea-2-LoRA-dotmatrixkrea/Krea-2-LoRA-kidsdrawingkrea/Krea-2-LoRA-softwatercolorkrea/Krea-2-Raw
Image-to-Image (/images/edits)
black-forest-labs/FLUX.1-Kontext-devdiffusers/FLUX.2-dev-bnb-4bit- Supports multi-image editing. Maximum 10 input images.black-forest-labs/FLUX.2-dev* - Supports multi-image editing. Maximum 10 input images.Qwen/Qwen-Image-EditQwen/Qwen-Image-Edit-2509- Supports multi-image editing. Maximum 3 input images.Qwen/Qwen-Image-Edit-2511- Supports multi-image editing. Maximum 3 input images.black-forest-labs/FLUX.2-klein-4B- Supports multi-image editing. Maximum 10 input images.black-forest-labs/FLUX.2-klein-9B- Supports multi-image editing. Maximum 10 input images.black-forest-labs/FLUX.2-klein-9b-kv- Supports multi-image editing. Maximum 10 input images.zai-org/GLM-Image- Supports multi-image editing. Maximum 5 input images. (This model is usually the slowest to execute in relative terms)
* Note on FLUX.2-dev: Requires NVIDIA H200.
Text-to-Video and Image-to-Video (Only LTX-2/LTX-2.3 accept T2V and I2V, other models only accept T2V) (/videos)
Wan2.2 Series
Wan-AI/Wan2.2-T2V-A14B(High quality, 40 steps - start with--model "wan2.2")Aquiles-ai/Wan2.2-Turbo⚡ 9.5x faster - Same quality in 4 steps! (start with--model "wan2.2-turbo")
Wan2.1 Series
Wan-AI/Wan2.1-T2V-14B(High quality, 40 steps - start with--model "wan2.1")Aquiles-ai/Wan2.1-Turbo⚡ 9.5x faster - Same quality in 4 steps! (start with--model "wan2.1-turbo")Wan-AI/Wan2.1-T2V-1.3B(Lightweight version, 40 steps - start with--model "wan2.1-3B")Aquiles-ai/Wan2.1-Turbo-fp8⚡ 9.5x faster + FP8 optimized - 4 steps (start with--model "wan2.1-turbo-fp8")
HunyuanVideo-1.5 Series
Standard Resolution (480p)
Aquiles-ai/HunyuanVideo-1.5-480p(50 steps - start with--model "hunyuanVideo-1.5-480p")Aquiles-ai/HunyuanVideo-1.5-480p-fp8(50 steps, FP8 optimized - start with--model "hunyuanVideo-1.5-480p-fp8")Aquiles-ai/HunyuanVideo-1.5-480p-Turbo⚡ 12.5x faster - 4 steps! (start with--model "hunyuanVideo-1.5-480p-turbo")Aquiles-ai/HunyuanVideo-1.5-480p-Turbo-fp8⚡ 12.5x faster + FP8 optimized - 4 steps (start with--model "hunyuanVideo-1.5-480p-turbo-fp8")
High Resolution (720p)
Aquiles-ai/HunyuanVideo-1.5-720p(50 steps - start with--model "hunyuanVideo-1.5-720p")Aquiles-ai/HunyuanVideo-1.5-720p-fp8(50 steps, FP8 optimized - start with--model "hunyuanVideo-1.5-720p-fp8")
LTX-2/LTX-2.3 (Joint Audio-Visual Generation)
Lightricks/LTX-2(40 steps - start with--model "ltx-2")Lightricks/LTX-2.3(40 steps - start with--model "ltx-2.3")
Special Features: LTX-2/LTX-2.3 are the first open-sources models supporting synchronized audio-video generation in a single model, comparable to closed models like Sora-2 and Veo 3.1. Additionally, LTX-2 supports image input as the first frame of the video - pass a reference image via
input_referenceto guide the visual starting point of the generation. For best results with this model, please follow the prompts guide provided by the Lightricks team.
Image-to-Video example:
curl -X POST "https://YOUR_BASE_URL_DEPLOY/videos" \
-H "Authorization: Bearer dummy-api-key" \
-H "Content-Type: multipart/form-data" \
-F prompt="She turns around and smiles, then slowly walks out of the frame." \
-F model="ltx-2" \
-F size="1280x720" \
-F seconds="8" \
-F input_reference="@sample_720p.jpeg;type=image/jpeg"
VRAM Requirements: Most models need 24GB+ VRAM. All video models require H100/A100-80GB. FP8 optimized versions offer better memory efficiency.
📖 Full models documentation and more models in 🎬 Aquiles-Studio
🔍 Can't find the model you're looking for?
If the model you need isn't in our native list, you can still run virtually any architecture based on Diffusers (SD
Related Skills
python-debugpy
385.5kDebug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
skill-creator
385.5kCreate, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
qqbot-channel
385.5kQQ channel management skill. Use qqbot_channel_api for explicit QQ channel-management requests; confirm write, delete, and bulk actions before calling authenticated QQ Open Platform endpoints.
claude-opus-4-5-migration
140.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
