Troubleshooting
If requests fail, run zero doctor check-connector --env-name FAL_TOKEN or zero doctor check-connector --url https://fal.run/fal-ai/nano-banana-2 --method POST
How to Use
1. Generate Image (nano-banana-2 - fast)
Write to /tmp/fal_request.json:
{
"prompt": "A futuristic city at sunset, cyberpunk style"
}
Then run:
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --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:
curl -s -X POST "https://fal.run/fal-ai/flux/schnell" --header "Authorization: Key $FAL_TOKEN" --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:
curl -s -X POST "https://fal.run/fal-ai/recraft-v3" --header "Authorization: Key $FAL_TOKEN" --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:
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --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:
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --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
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --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
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --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
curl -s -X POST "https://fal.run/fal-ai/nano-banana-2" --header "Authorization: Key $FAL_TOKEN" --header "Content-Type: application/json" -d @/tmp/fal_request.json | jq -r '.images[0].url'
Available Models
| Model | Description |
|---|---|
nano-banana-2 |
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