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.
Install
npx skillscat add vm0-ai/vm0-skills/fal-ai Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no superlatives, no calls to action, no bullet points, no headings, no markdown formatting, no quotes. At most 60 words. Must be only the summary text. We need to explain what the skill does, what problem it solves, when to use it. So something like: "The skill provides access to the fal.ai API for generating images from textual prompts. It solves the need to create visual content programmatically without managing model infrastructure.
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"'
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.png6. 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