Marketplace pollinations-ai
Generate and save images using Pollinations.ai's free, open-source API. No signup required. Supports URL-based generation, custom parameters (width, height, model, seed), and automatic file saving. Perfect for quick prototypes, marketing assets, and creative workflows.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/supercent-io/pollinations-ai" ~/.claude/skills/aiskillstore-marketplace-pollinations-ai && rm -rf "$T"
skills/supercent-io/pollinations-ai/SKILL.mdPollinations.ai Image Generation
Free, open-source AI image generation through simple URL parameters. No API key or signup required.
When to use this skill
- Quick prototyping: Generate placeholder images instantly
- Marketing assets: Create hero images, banners, social media content
- Creative exploration: Test multiple styles and compositions rapidly
- No-budget projects: Free alternative to paid image generation services
- Automated workflows: Script-friendly URL-based API
Instructions
Step 1: Understand the API Structure
Pollinations.ai uses a simple URL-based API:
https://image.pollinations.ai/prompt/{YOUR_PROMPT}?{PARAMETERS}
No authentication required - just construct the URL and fetch the image.
Available Parameters:
/width
: Resolution (default: 1024x1024)height
: AI model (model
,flux
,turbo
)stable-diffusion
: Number for reproducible resultsseed
:nologo
to remove watermark (if supported)true
:enhance
for automatic prompt enhancementtrue
Step 2: Craft Your Prompt
Use descriptive prompts with specific details:
Good prompt structure:
[Subject], [Style], [Lighting], [Mood], [Composition], [Quality modifiers]
Example:
A father welcoming a beautiful holiday, warm golden hour lighting, cozy interior background with festive decorations, 8k resolution, highly detailed, cinematic depth of field
Prompt styles:
- Photorealistic: "photorealistic shot, 8k resolution, highly detailed, cinematic"
- Illustrative: "digital illustration, soft pastel colors, disney style animation"
- Minimalist: "minimalist vector art, flat design, simple geometric shapes"
Step 3: Generate via URL (Browser Method)
Simply open the URL in a browser or use
curl:
# Basic generation curl "https://image.pollinations.ai/prompt/A_serene_mountain_landscape" -o mountain.jpg # With parameters curl "https://image.pollinations.ai/prompt/A_serene_mountain_landscape?width=1920&height=1080&model=flux&seed=42" -o mountain-hd.jpg
Step 4: Generate and Save (Python Method)
For automation and file management:
import requests from urllib.parse import quote def generate_image(prompt, output_file, width=1920, height=1080, model="flux", seed=None): """ Generate image using Pollinations.ai and save to file Args: prompt: Description of the image to generate output_file: Path to save the image width: Image width in pixels height: Image height in pixels model: AI model ('flux', 'turbo', 'stable-diffusion') seed: Optional seed for reproducibility """ # Encode prompt for URL encoded_prompt = quote(prompt) url = f"https://image.pollinations.ai/prompt/{encoded_prompt}" # Build parameters params = { "width": width, "height": height, "model": model, "nologo": "true" } if seed: params["seed"] = seed # Generate and save print(f"Generating: {prompt[:50]}...") response = requests.get(url, params=params) if response.status_code == 200: with open(output_file, "wb") as f: f.write(response.content) print(f"✓ Saved to {output_file}") return True else: print(f"✗ Error: {response.status_code}") return False # Example usage generate_image( prompt="A father welcoming a beautiful holiday, warm lighting, festive decorations", output_file="holiday_father.jpg", width=1920, height=1080, model="flux", seed=12345 )
Step 5: Batch Generation
Generate multiple variations:
prompts = [ "photorealistic shot of a father at front door, warm lighting, festive decorations", "digital illustration of a father in snow, magical winter wonderland, disney style", "minimalist silhouette of father and child, holiday fireworks, flat design" ] for i, prompt in enumerate(prompts): generate_image( prompt=prompt, output_file=f"variant_{i+1}.jpg", width=1920, height=1080, model="flux" )
Step 6: Document Your Generations
Save metadata for reproducibility:
import json from datetime import datetime metadata = { "prompt": prompt, "model": "flux", "width": 1920, "height": 1080, "seed": 12345, "output_file": "holiday_father.jpg", "timestamp": datetime.now().isoformat() } with open("generation_metadata.json", "w") as f: json.dump(metadata, f, indent=2)
Examples
Example 1: Hero Image for Website
generate_image( prompt="serene mountain landscape at sunset, wide 16:9, minimal style, soft gradients in blue tones, clean lines, modern aesthetic", output_file="hero-image.jpg", width=1920, height=1080, model="flux" )
Expected output: 16:9 landscape image, minimal style, blue color palette
Example 2: Product Thumbnail
generate_image( prompt="futuristic dashboard UI, 1:1 square, clean interface, soft lighting, professional feel, dark theme, subtle glow effects", output_file="product-thumb.jpg", width=1024, height=1024, model="flux" )
Expected output: Square thumbnail, dark theme, app store ready
Example 3: Social Media Banner
generate_image( prompt="LinkedIn banner for SaaS startup, modern gradient background, abstract geometric shapes, colors from purple to blue, space for text on left side", output_file="linkedin-banner.jpg", width=1584, height=396, model="flux" )
Expected output: LinkedIn-optimized dimensions (1584x396), text-safe zone
Example 4: Batch Variations with Seeds
# Generate 4 variations of the same prompt with different seeds base_prompt = "A father welcoming a beautiful holiday, cinematic lighting" for seed in [100, 200, 300, 400]: generate_image( prompt=base_prompt, output_file=f"variation_seed_{seed}.jpg", width=1920, height=1080, model="flux", seed=seed )
Expected output: 4 similar images with subtle variations
Best practices
- Use specific prompts: Include style, lighting, mood, and quality modifiers
- Specify dimensions early: Prevents unintended cropping
- Use seeds for consistency: Same seed + prompt = same image
- Model selection:
: Highest quality, slowerflux
: Fast iterationsturbo
: Balancedstable-diffusion
- Save metadata: Track prompts, seeds, and parameters for reproducibility
- Batch similar requests: Generate style sets with consistent parameters
- URL encode prompts: Use
for special charactersurllib.parse.quote()
Common pitfalls
- Vague prompts: Add specific details about style, lighting, and composition
- Ignoring aspect ratios: Check target platform requirements (Instagram 1:1, LinkedIn 1584x396, etc.)
- Overly complex scenes: Simplify for clarity and better results
- Not saving metadata: Difficult to reproduce or iterate on successful images
- Forgetting URL encoding: Special characters break URLs
Troubleshooting
Issue: Inconsistent outputs
Cause: No seed specified Solution: Use a fixed seed for reproducible results
generate_image(prompt="...", seed=12345, ...) # Same output every time
Issue: Wrong aspect ratio
Cause: Incorrect width/height parameters Solution: Use platform-specific dimensions
# Instagram: 1:1 generate_image(prompt="...", width=1080, height=1080) # LinkedIn banner: ~4:1 generate_image(prompt="...", width=1584, height=396) # YouTube thumbnail: 16:9 generate_image(prompt="...", width=1280, height=720)
Issue: Image doesn't match brand colors
Cause: No color specification in prompt Solution: Include HEX codes or color names
prompt = "landscape with brand colors deep blue #2563EB and purple #8B5CF6"
Issue: Request fails (HTTP error)
Cause: Network issue or service downtime Solution: Add retry logic
import time def generate_with_retry(prompt, output_file, max_retries=3): for attempt in range(max_retries): if generate_image(prompt, output_file): return True print(f"Retry {attempt + 1}/{max_retries}...") time.sleep(2) return False
Output format
## Image Generation Report ### Request - **Prompt**: [full prompt text] - **Model**: flux - **Dimensions**: 1920x1080 - **Seed**: 12345 ### Output Files 1. `hero-image-v1.jpg` - Primary variant 2. `hero-image-v2.jpg` - Alternative style 3. `hero-image-v3.jpg` - Different lighting ### Metadata - Generated: 2026-02-13T14:30:00Z - Iterations: 3 - Selected: hero-image-v1.jpg ### Usage Notes - Best for: Website hero section - Format: JPEG, 1920x1080 - Reproducible: Yes (seed: 12345)
Multi-Agent Workflow
Validation & Quality Check
-
Round 1 (Orchestrator - Claude):
- Validate prompt completeness
- Check dimension requirements
- Verify seed consistency
-
Round 2 (Executor - Codex):
- Execute generation script
- Save files with proper naming
- Generate metadata JSON
-
Round 3 (Analyst - Gemini):
- Review style consistency
- Check brand alignment
- Suggest prompt improvements
Agent Roles
| Agent | Role | Tools |
|---|---|---|
| Claude | Prompt engineering, quality validation | Write, Read |
| Codex | Script execution, batch processing | Bash, Write |
| Gemini | Style analysis, brand consistency check | Read, ask-gemini |
Example Multi-Agent Workflow
# 1. Claude: Generate prompts and script # 2. Codex: Execute generation bash -c "python generate_images.py" # 3. Gemini: Review outputs ask-gemini "@outputs/ Analyze brand consistency of generated images"
Metadata
Version
- Current Version: 1.0.0
- Last Updated: 2026-02-13
- Compatible Platforms: Claude, ChatGPT, Gemini, Codex
Related Skills
- image-generation - MCP-based image generation
- design-system - Design system implementation
- presentation-builder - Presentation creation
API Documentation
- Official Site: https://pollinations.ai
- API Endpoint: https://image.pollinations.ai/prompt/{prompt}
- Models: flux, turbo, stable-diffusion
Tags
#pollinations #image-generation #free #api #url-based #no-signup #creative