generate-image
Generate Image Skill
Description
Generate images using xAI's Grok Imagine through the fal.ai MCP gateway. This skill enables text-to-image generation with detailed prompts for photorealistic, artistic, and stylized outputs.
When to Use
Use this skill when the user wants to:
- Generate images from text descriptions
- Create illustrations, artwork, or visual content
- Use AI image generation tools
- Produce concept art, portraits, scenes, or abstract imagery
Prerequisites
Ensure MCP servers are connected and the fal.ai server is available:
mcp({}) // Check server status
Input Schema
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt |
string | Yes | - | Text description of the desired image |
num_images |
integer | No | 1 | Number of images to generate |
aspect_ratio |
AspectRatioEnum | No | "1:1" | Aspect ratio of the generated image |
output_format |
OutputFormatEnum | No | "jpeg" | Format of the generated image |
sync_mode |
boolean | No | false | If true, returns media as data URI |
AspectRatioEnum Values
| Value | Description |
|---|---|
"2:1" |
Ultra-wide panorama |
"20:9" |
Cinematic ultra-wide |
"19.5:9" |
Mobile ultra-wide |
"16:9" |
HD widescreen (video standard) |
"4:3" |
Classic display ratio |
"3:2" |
Photo print ratio |
"1:1" |
Square (default) |
"2:3" |
Portrait photo |
"3:4" |
Portrait display |
"9:16" |
Mobile vertical |
"9:19.5" |
Mobile tall |
"9:20" |
Mobile ultra-tall |
"1:2" |
Vertical panorama |
OutputFormatEnum Values
| Value | Description |
|---|---|
"jpeg" |
JPEG format (default, best compression) |
"png" |
PNG format (lossless, transparency support) |
"webp" |
WebP format (modern web optimized) |
Output Schema
| Field | Type | Description |
|---|---|---|
images |
list | Array of generated image objects |
revised_prompt |
string | The enhanced prompt used by the model |
ImageFile Object
| Field | Type | Description |
|---|---|---|
url |
string | The URL of the generated image |
Tools
1. Search for Image Generation Models
First, verify the available image generation models:
mcp({
search: "image generation",
server: "fal"
})
Or specifically search for Grok:
mcp({
search: "grok",
server: "fal"
})
2. Generate Image
Use the fal_run_model tool with the xai/grok-imagine-image endpoint:
mcp({
tool: "fal_run_model",
server: "fal",
args: {
"endpoint_id": "xai/grok-imagine-image",
"input": {
"prompt": "Your detailed image description here",
"num_images": 1,
"aspect_ratio": "1:1",
"output_format": "jpeg"
}
}
})
3. Display the Image
After generation, display the image to the user:
show_image({
url: "https://v3b.fal.media/files/.../image.jpg"
})
Or for local files:
show_image({
path: "/path/to/local/image.png"
})
Example Request
{
"prompt": "Abstract human silhouette, golden particles ready to burst outward representing joy, data visualization style, emotional expression through particles, artistic scientific",
"num_images": 1,
"aspect_ratio": "1:1",
"output_format": "jpeg"
}
Example Response
{
"images": [
{
"url": "https://v3b.fal.media/files/b/0a8b90b7/9avg_nKJmcVinjQHJR_Ja.jpg"
}
],
"revised_prompt": ""
}
Best Practices
Writing Effective Prompts
- Be specific: Include subject, style, lighting, mood, and quality descriptors
- Use artistic references: "cinematic lighting", "photorealistic", "oil painting", "anime style"
- Specify technical quality: "8k resolution", "highly detailed", "sharp focus"
- Describe composition: "close-up portrait", "wide landscape", "aerial view"
- Include mood/atmosphere: "dramatic", "serene", "futuristic", "vintage"
Example Prompts by Category
Portraits:
Portrait of a wise elderly wizard with flowing white beard, wearing intricate
blue robes embroidered with silver stars, mystical library background, warm
candlelight, highly detailed face, 8k, photorealistic
Sci-Fi:
Futuristic cyberpunk city at night, neon signs in Japanese, flying cars, rain
streets reflecting lights, towering holographic advertisements, blade runner
style, cinematic composition, 8k quality
Nature:
Majestic snow-capped mountains at golden hour, crystal clear alpine lake with
reflection, pine forest in foreground, dramatic clouds, landscape photography
style, ultra detailed, 8k resolution
Abstract:
Abstract human silhouette, golden particles ready to burst outward representing
joy, data visualization style, emotional expression through particles,
artistic scientific
Characters (e.g., Ferengi):
A Star Trek Ferengi alien, humanoid with large ears, wrinkled forehead, sharp
teeth grin, wearing traditional Ferengi business attire with dark tunic and
collared shirt, standing in a sci-fi alien marketplace, detailed facial features,
dramatic lighting, cinematic quality, 8k resolution, photorealistic
Complete Workflow Example
Here's the full workflow for generating and displaying an image:
// Step 1: Generate the image
const result = await mcp({
tool: "fal_run_model",
server: "fal",
args: {
"endpoint_id": "xai/grok-imagine-image",
"input": {
"prompt": "A serene Japanese zen garden with raked sand patterns, moss-covered stones, cherry blossom tree in bloom, morning mist, tranquil atmosphere, traditional wooden pagoda in background, ultra detailed, 8k, photorealistic",
"num_images": 1,
"aspect_ratio": "16:9",
"output_format": "jpeg"
}
}
});
// Step 2: Extract the image URL
const imageUrl = result.result.images[0].url;
// Step 3: Display to user
show_image({
url: imageUrl
});
Troubleshooting
| Issue | Solution |
|---|---|
| Model not found | Run mcp({ search: "grok", server: "fal" }) to verify endpoint |
| Connection error | Check MCP status with mcp({}) and reconnect |
| Poor image quality | Add more specific descriptors to prompt |
| Wrong aspect ratio | Use "1:1", "16:9", "9:16", "4:3", or "3:4" |
| Generation timeout | Try simpler prompt or check fal.ai status |
| Sync mode not working | Set "sync_mode": true for data URI output |
Alternative Models
If Grok Imagine is unavailable, search for alternatives:
mcp({
search: "flux",
server: "fal"
})
Popular alternatives:
fal-ai/flux-2-pro- High quality, detailed imagesfal-ai/flux/dev- Fast generation, good qualityfal-ai/flux-1/schnell- Fastest inference
Notes
- Generated images are hosted temporarily on fal.media
- Image URLs are valid for a limited time (typically 24-48 hours)
- Save images locally if permanent storage is needed
- Be mindful of content policies when generating images
- The
revised_promptfield may contain an enhanced version of your prompt
More from richardanaya/agent-skills
pubmed-metaanalysis
Search PubMed for meta-analyses on a given medical topic using NCBI E-utilities API
45describe-image
Uses a local model to describe something about an image
36epistemic-extraction
An epistemic extraction system that analyzes text to identify its logical structure according to Aristotelian and Objectivist epistemology. Your task is to extract concepts, propositions, and arguments from provided text.
27interact-with-browser
a CLI for intearcting with browser
27writing-outline-creator
Creating an outline of a piece of writing according to a strategy of Ayn Rand art of non-fiction/fiction
22beautiful-reader
Use when the user wants to read some markdown in a beautiful way
8