| name | fal.ai |
| description | fal.ai AI image generation. Use this skill when you need to use fal, fal.ai, or generate images from text prompts using AI text-to-image models. |
| vm0_env | FAL_KEY |
fal.ai Image Generator
Use the fal.ai API to generate images from text prompts.
Official docs:
https://fal.ai/docs
When to Use
Use this skill when you need to:
- Generate images from text descriptions
- Create illustrations or visual content
- Generate blog headers, thumbnails, or social media images
Prerequisites
- Sign up at fal.ai
- Get your API key from the dashboard
export FAL_KEY="your-api-key"
Important: When using
$VARin a command that pipes to another command, wrap the command containing$VARinbash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"' | jq .
How to Use
1. Generate Image (nano-banana-pro - fast)
Write to /tmp/fal_request.json:
{
"prompt": "A futuristic city at sunset, cyberpunk style"
}
Then run:
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
2. Generate Image (flux/schnell - fast)
Write to /tmp/fal_request.json:
{
"prompt": "A cute cat eating a cookie"
}
Then run:
bash -c 'curl -s -X POST "https://fal.run/fal-ai/flux/schnell" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
3. Generate Image (recraft-v3 - high quality)
Write to /tmp/fal_request.json:
{
"prompt": "Abstract art, vibrant colors"
}
Then run:
bash -c 'curl -s -X POST "https://fal.run/fal-ai/recraft-v3" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
4. Generate with Custom Size
Write to /tmp/fal_request.json:
{
"prompt": "Mountain landscape",
"image_size": "landscape_16_9"
}
Then run:
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
5. Download Generated Image
Write to /tmp/fal_request.json:
{
"prompt": "A minimalist workspace"
}
Then run:
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url' | xargs curl -sL -o /tmp/image.png
6. Pipe Prompt from Echo (JSON escaped)
echo "A dragon breathing fire, epic fantasy art" | jq -Rs '{prompt: .}' > /tmp/fal_request.json
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
7. Pipe Prompt from File (JSON escaped)
cat /tmp/prompt.txt | jq -Rs '{prompt: .}' > /tmp/fal_request.json
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
8. Pipe with Additional Parameters
echo "Neon city at night" | jq -Rs '{prompt: ., image_size: "landscape_16_9"}' > /tmp/fal_request.json
bash -c 'curl -s -X POST "https://fal.run/fal-ai/nano-banana-pro" --header "Authorization: Key ${FAL_KEY}" --header "Content-Type: application/json" -d @/tmp/fal_request.json' | jq -r '.images[0].url'
Available Models
| Model | Description |
|---|---|
nano-banana-pro |
Fast, good quality (recommended) |
flux/schnell |
Fast generation |
flux-pro |
High quality |
recraft-v3 |
High quality vector/illustration |
See more at: https://fal.ai/models
Image Sizes
| Size | Aspect Ratio |
|---|---|
square |
1:1 |
square_hd |
1:1 (high res) |
portrait_4_3 |
4:3 |
portrait_16_9 |
16:9 |
landscape_4_3 |
3:4 |
landscape_16_9 |
9:16 |
Prompt Guidelines
For best results:
- Be specific - Describe the subject clearly
- Add style hints - "modern", "minimalist", "photorealistic", "digital art", "cinematic"
- Specify colors/mood - "blue and purple gradient", "warm tones", "dark and moody"
- Keep it concise - Clear and focused descriptions work better