---
name: fal-text-to-image
description: Generate, remix, and edit images using fal.ai's AI models. Supports text-to-image generation, image-to-image remixing, and targeted inpainting/editing.
---
# fal.ai Image Generation & Editing Skill
Professional AI-powered image workflows using fal.ai's state-of-the-art models including FLUX, Recraft V3, Imagen4, and more.
## Three Modes of Operation
### 1. Text-to-Image (fal-text-to-image)
Generate images from scratch using text prompts
### 2. Image Remix (fal-image-remix)
Transform existing images while preserving composition
### 3. Image Edit (fal-image-edit)
Targeted inpainting and masked editing
## When to Use This Skill
Trigger when user:
- Requests image generation from text descriptions
- Wants to transform/remix existing images with AI
- Needs to edit specific regions of images (inpainting)
- Wants to create images with specific styles (vector, realistic, typography)
- Needs high-resolution professional images (up to 2K)
- Wants to use a reference image for style transfer
- Mentions specific models like FLUX, Recraft, or Imagen
- Asks for logo, poster, or brand-style image generation
- Needs object removal or targeted modifications
## Quick Start
### Text-to-Image: Generate from Scratch
```bash
# Basic generation
uv run python fal-text-to-image "A cyberpunk city at sunset with neon lights"
# With specific model
uv run python fal-text-to-image -m flux-pro/v1.1-ultra "Professional headshot"
# With style reference
uv run python fal-text-to-image -i reference.jpg "Mountain landscape" -m flux-2/lora/edit
```
### Image Remix: Transform Existing Images
```bash
# Transform style while preserving composition
uv run python fal-image-remix input.jpg "Transform into oil painting"
# With strength control (0.0=original, 1.0=full transformation)
uv run python fal-image-remix photo.jpg "Anime style character" --strength 0.6
# Premium quality remix
uv run python fal-image-remix -m flux-1.1-pro image.jpg "Professional portrait"
```
### Image Edit: Targeted Modifications
```bash
# Edit with mask image (white=edit area, black=preserve)
uv run python fal-image-edit input.jpg mask.png "Replace with flowers"
# Auto-generate mask from text
uv run python fal-image-edit input.jpg --mask-prompt "sky" "Make it sunset"
# Remove objects
uv run python fal-image-edit photo.jpg mask.png "Remove object" --strength 1.0
# General editing (no mask)
uv run python fal-image-edit photo.jpg "Enhance lighting and colors"
```
## Model Selection Guide
The script intelligently selects the best model based on task context:
### **flux-pro/v1.1-ultra** (Default for High-Res)
- **Best for**: Professional photography, high-resolution outputs (up to 2K)
- **Strengths**: Photo realism, professional quality
- **Use when**: User needs publication-ready images
- **Endpoint**: `fal-ai/flux-pro/v1.1-ultra`
### **recraft/v3/text-to-image** (SOTA Quality)
- **Best for**: Typography, vector art, brand-style images, long text
- **Strengths**: Industry-leading benchmark scores, precise text rendering
- **Use when**: Creating logos, posters, or text-heavy designs
- **Endpoint**: `fal-ai/recraft/v3/text-to-image`
### **flux-2** (Best Balance)
- **Best for**: General-purpose image generation
- **Strengths**: Enhanced realism, crisp text, native editing
- **Use when**: Standard image generation needs
- **Endpoint**: `fal-ai/flux-2`
### **flux-2/lora** (Custom Styles)
- **Best for**: Domain-specific styles, fine-tuned variations
- **Strengths**: Custom style adaptation
- **Use when**: User wants specific artistic styles
- **Endpoint**: `fal-ai/flux-2/lora`
### **flux-2/lora/edit** (Style Transfer)
- **Best for**: Image-to-image editing with style references
- **Strengths**: Specialized style transfer
- **Use when**: User provides reference image with `-i` flag
- **Endpoint**: `fal-ai/flux-2/lora/edit`
### **imagen4/preview** (Google Quality)
- **Best for**: High-quality general images
- **Strengths**: Google's highest quality model
- **Use when**: User specifically requests Imagen or Google models
- **Endpoint**: `fal-ai/imagen4/preview`
### **stable-diffusion-v35-large** (Typography & Style)
- **Best for**: Complex prompts, typography, style control
- **Strengths**: Advanced prompt understanding, resource efficiency
- **Use when**: Complex multi-element compositions
- **Endpoint**: `fal-ai/stable-diffusion-v35-large`
### **ideogram/v2** (Typography Specialist)
- **Best for**: Posters, logos, text-heavy designs
- **Strengths**: Exceptional typography, realistic outputs
- **Use when**: Text accuracy is critical
- **Endpoint**: `fal-ai/ideogram/v2`
### **bria/text-to-image/3.2** (Commercial Safe)
- **Best for**: Commercial projects requiring licensed training data
- **Strengths**: Safe for commercial use, excellent text rendering
- **Use when**: Legal/licensing concerns matter
- **Endpoint**: `fal-ai/bria/text-to-image/3.2`
## Command-Line Interface
```bash
uv run python fal-text-to-image [OPTIONS] PROMPT
Arguments:
PROMPT Text description of the image to generate
Options:
-m, --model TEXT Model to use (see model list above)
-i, --image TEXT Path or URL to reference image for style transfer
-o, --output TEXT Output filename (default: generated_image.png)
-s, --size TEXT Image size (e.g., "1024x1024", "landscape_16_9")
--seed INTEGER Random seed for reproducibility
--steps INTEGER Number of inference steps (model-dependent)
--guidance FLOAT Guidance scale (higher = more prompt adherence)
--help Show this message and exit
```
## Authentication Setup
Before first use, set your fal.ai API key:
```bash
export FAL_KEY="your-api-key-here"
```
Or create a `.env` file in the skill directory:
```env
FAL_KEY=your-api-key-here
```
Get your API key from: https://fal.ai/dashboard/keys
## Advanced Examples
### High-Resolution Professional Photo
```bash
uv run python fal-text-to-image \
-m flux-pro/v1.1-ultra \
"Professional headshot of a business executive in modern office" \
-s 2048x2048
```
### Logo/Typography Design
```bash
uv run python fal-text-to-image \
-m recraft/v3/text-to-image \
"Modern tech startup logo with text 'AI Labs' in minimalist style"
```
### Style Transfer from Reference
```bash
uv run python fal-text-to-image \
-m flux-2/lora/edit \
-i artistic_style.jpg \
"Portrait of a woman in a garden"
```
### Reproducible Generation
```bash
uv run python fal-text-to-image \
-m flux-2 \
--seed 42 \
"Futuristic cityscape with flying cars"
```
## Model Selection Logic
The script automatically selects the best model when `-m` is not specified:
1. **If `-i` provided**: Uses `flux-2/lora/edit` for style transfer
2. **If prompt contains typography keywords** (logo, text, poster, sign): Uses `recraft/v3/text-to-image`
3. **If prompt suggests high-res needs** (professional, portrait, headshot): Uses `flux-pro/v1.1-ultra`
4. **If prompt mentions vector/brand**: Uses `recraft/v3/text-to-image`
5. **Default**: Uses `flux-2` for general purpose
## Output Format
Generated images are saved with metadata:
- Filename includes timestamp and model name
- EXIF data stores prompt, model, and parameters
- Console displays generation time and cost estimate
## Troubleshooting
| Problem | Solution |
|---------|----------|
| `FAL_KEY not set` | Export FAL_KEY environment variable or create .env file |
| `Model not found` | Check model name against supported list |
| `Image reference fails` | Ensure image path/URL is accessible |
| `Generation timeout` | Some models take longer; wait or try faster model |
| `Rate limit error` | Check fal.ai dashboard for usage limits |
## Cost Optimization
- **Free tier**: FLUX.2 offers 100 free requests (expires Dec 25, 2025)
- **Pay per use**: FLUX Pro charges per megapixel
- **Budget option**: Use `flux-2` or `stable-diffusion-v35-large` for general use
- **Premium**: Use `flux-pro/v1.1-ultra` only when high-res is required
## Image Remix: Model Selection Guide
Available models for image-to-image remixing:
### **flux-2/dev** (Default, Free)
- **Best for**: General remixing, style transfer, fast iteration
- **Strengths**: Balanced quality/speed, 100 free requests
- **Use when**: Standard remixing needs
- **Endpoint**: `fal-ai/flux/dev/image-to-image`
### **flux-pro** (Premium Quality)
- **Best for**: Professional remixing, high-quality outputs
- **Strengths**: Superior quality, realistic transformations
- **Use when**: Professional or publication-ready remixes
- **Endpoint**: `fal-ai/flux-pro`
### **flux-1.1-pro** (Ultra Premium)
- **Best for**: Highest quality remixing with maximum detail
- **Strengths**: Ultra-high quality, exceptional detail preservation
- **Use when**: Premium projects requiring best possible output
- **Endpoint**: `fal-ai/flux-pro/v1.1`
### **recraft/v3** (Vector/Illustration)
- **Best for**: Vector style, brand imagery, illustration remixing
- **Strengths**: Clean vector outputs, brand-style transformations
- **Use when**: Converting to illustration or vector style
- **Endpoint**: `fal-ai/recraft/v3/text-to-image`
### **stable-diffusion-v35** (Artistic)
- **Best for**: Artistic styles, painting effects, creative remixing
- **Strengths**: Strong artistic style application
- **Use when**: Artistic or stylized transformations
- **Endpoint**: `fal-ai/stable-diffusion-v35-large`
## Image Remix: Command-Line Interface
```bash
uv run python fal-image-remix [OPTIONS] INPUT_IMAGE PROMPT
Arguments:
INPUT_IMAGE Path or URL to source image
PROMPT How to transform the image
Options:
-m, --model TEXT Model to use (auto-selected if not specified)
-o, --output TEXT Output filename (default: remixed_TIMESTAMP.png)
-s, --strength FLOAT Transformation strength 0.0-1.0 (default: 0.75)
0.0 = preserve original, 1.0 = full transformation
... (truncated)Comprehensive ImageMagick operations for image manipulation
Post images, comment, appraise, and collect NFTs on MoltCanvas
Post images, comment, appraise, and collect
Post to Twitter and Farcaster with text and images.