Image Generation
Generate high-quality images from text prompts using state-of-the-art AI models.
Stable
Overview
elizaOS Cloud provides image generation through multiple providers:
- Google Gemini: Fast, high-quality multimodal generation (default)
- OpenAI: GPT-powered image generation
- BFL Flux Kontext: Context-aware generation
Quick Start
Dashboard
Navigate to Dashboard → Images for the visual interface.
API
cURL
curl -X POST "https://cloud.milady.ai/api/v1/generate-image" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A futuristic cityscape at sunset, cyberpunk style",
"model": "google/gemini-2.5-flash-image",
"aspectRatio": "16:9",
"numImages": 1
}'Response
{
"images": [
{
"url": "https://your-storage.vercel-storage.com/images/abc123.webp",
"text": "Optional model response text",
"mimeType": "image/webp",
"fileSize": 102400
}
],
"numImages": 1
}Available Models
| Model | Provider | Speed | Best For |
|---|---|---|---|
| `google/gemini-2.5-flash-image` | Fast | General use (default) | |
| `google/gemini-3.1-flash-image-preview` | Fast | Preview/testing | |
| `google/gemini-3-pro-image` | Medium | Higher quality | |
| `openai/gpt-5-nano` | OpenAI | Medium | OpenAI image generation |
| `bfl/flux-kontext-max` | BFL | Medium | Context-aware generation |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `prompt` | string | ✓ | Text description of the image |
| `model` | string | Model to use (default: `google/gemini-2.5-flash-image`) | |
| `aspectRatio` | string | Output aspect ratio (default: `1:1`) | |
| `numImages` | integer | Number of images (1-4, default: 1) | |
| `stylePreset` | string | Style preset to apply | |
| `sourceImage` | string | Base64 data URL for image-to-image |
Available Aspect Ratios
| Aspect Ratio | Description |
|---|---|
| `1:1` | Square (default) |
| `16:9` | Wide landscape |
| `9:16` | Tall portrait |
| `4:3` | Standard landscape |
| `3:4` | Standard portrait |
| `21:9` | Ultra-wide cinematic |
| `9:21` | Ultra-tall vertical |
Style Presets
| Preset | Description |
|---|---|
| `none` | No style modification (default) |
| `photographic` | Realistic lighting and details |
| `digital-art` | Vibrant colors, modern aesthetics |
| `comic-book` | Bold lines, dramatic shading |
| `fantasy-art` | Magical and ethereal elements |
| `analog-film` | Film grain and vintage tones |
| `neon-punk` | Cyberpunk style with neon colors |
| `cinematic` | Dramatic lighting and composition |
Image-to-Image Generation
Transform existing images by providing a `sourceImage` parameter:
const response = await fetch("https://cloud.milady.ai/api/v1/generate-image", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt: "Transform this into a watercolor painting",
sourceImage: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
}),
});Prompt Engineering
Basic Structure
[Subject] [Style] [Details] [Lighting] [Mood]Example Prompts
Photorealistic:
{
"prompt": "Professional headshot of a business executive, studio lighting, neutral background, sharp focus",
"stylePreset": "photographic"
}Artistic:
{
"prompt": "Enchanted forest with glowing mushrooms, magical atmosphere, soft moonlight filtering through trees",
"stylePreset": "fantasy-art"
}Product:
{
"prompt": "Modern smartphone on white background, professional product photography, soft shadows",
"aspectRatio": "4:3"
}Best Practices
- Be specific: Include details about style, lighting, composition
- Use style presets: For consistent results across generations
- Iterate: Generate multiple images and refine your prompt
- Aspect ratio matters: Choose based on your use case
Error Handling
| Code | Error | Solution |
|---|---|---|
| 400 | Invalid prompt | Ensure prompt is non-empty |
| 400 | Invalid model | Use a supported model |
| 402 | Insufficient credits | Add credits to your account |
| 429 | Rate limited | Wait and retry |
| 500 | Generation failed | Retry or try a different model |