Purpose
Generate images using Pollinations.ai's free URL API.
- 100% free, open source
- No API Key or login required
- No GPU or Python installation required
- Only requires Windows built-in PowerShell
Trigger scenarios
The user says:
- "Draw a picture of XX", "generate an image", "make an image", "produce an image", "generate an image for me"
- "Draw a cover / illustration / diagram / storyboard"
- "Generate an image using a free method", "Can I generate images without an API Key?"
- "Draw a picture for me using Pollinations"
Differences from the draw skill
| Item | draw(OpenAI gpt-image-2) |
draw-free(Pollinations.ai) |
|---|---|---|
| Cost | Approx. NT$0.3-5.5/image | Completely free |
| API Key | Requires OpenAI Key + organization verification | No Key required |
| Python | Requires installation + openai package | Not required; uses PowerShell |
| Model | gpt-image-2 (top-tier) | Flux、Turbo、Nano Banana、Seedream |
| Text accuracy | Extremely high (99%) | Moderate (complex Chinese text may contain errors) |
| Speed | Fast | Moderate (10-30 seconds) |
| Suitable scenarios | High-quality commercial use, precise text | Instructional diagrams, illustrations, concept images, presentation materials |
Selection principle: If the user has an OpenAI Key and requests high quality → use draw; otherwise use draw-free。
Prerequisites
- Windows built-in PowerShell (5.1 or later)
- Network connection
- No API Key required
- No need to install Python or any packages
Script location (Windows)
$env:USERPROFILE\.config\opencode\skills\draw-free\draw-free.ps1
Usage
Basic invocation (PowerShell)
# 基本生圖
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.config\opencode\skills\draw-free\draw-free.ps1" "要畫的內容"
# 指定尺寸、檔名
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.config\opencode\skills\draw-free\draw-free.ps1" "演講海報" --size 1536x1024 --name poster
# 多張生成
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.config\opencode\skills\draw-free\draw-free.ps1" "四格分鏡" --n 4 --name storyboard
# 指定模型與種子(可重現)
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.config\opencode\skills\draw-free\draw-free.ps1" "等距視角城市" --model turbo --seed 42 --name city
Parameters
prompt(required): What to draw, described in natural language--size:1024x1024(square, default) /1536x1024(landscape) /1024x1536(portrait) /1920x1080(banner) /1080x1920(vertical banner)--model:Default is unspecified (automatic routing, fastest). Optionalflux/zimage/turbo/nanobanana/seedream。 ⚠️ Testing shows that specifying any model is 15–40 times slower(unspecified 1.3 seconds vs. specified 21–45 seconds); do not include it unless necessary.--seed: Random seed (random by default). Same prompt + seed = same image--n: Number of images to generate, 1–8 (default 1)--name: Output filename prefix (defaultimage)--outdir: Output directory (default:slides/generated/, otherwise use./generated/)
When text is needed in the image: always use post-processing; do not leave it to the image generation model
These models cannot draw correct Chinese characters. In testing, the four characters "練太久了" generated six character-like forms that resembled Chinese characters but do not actually exist; English also often contains typos (TOO MUCH PRACTICE → TOO MOUCH PRACTVE)。
Correct process:
- Use
draw-freeto generate a base image "containing no text" - Use the same repo's
overlay-text.ps1to overlay the text (or use PowerPoint/Canva)
Although the script automatically appends a "Traditional Chinese" instruction,that only affects the model's stylistic tendencies; it won't make it write the characters correctly. For precise text, use post-processing.
🔴 Multiple simultaneous users will block each other
The anonymous tier limit isonly 1 request at a time per public IP(the server returns 429 Queue full ... max: 1)。
- One person using it alone → no problem
- Classroom/office sharing the same public IP, multiple people generating images simultaneously → some will fail
The script automatically retries 4 times (waiting 5 seconds each time), but it still can't handle many users. In such cases, please use another solution.
Model selection principles
By default, do not include --model。 In testing, not specifying a model took 1.3 seconds, while specifying any model dropped to 21–45 seconds; and with Chinese prompts, specifying flux did not show better composition adherence.
Only use the following when you are sure you want a specific style:
- flux: High-quality general purpose, suitable for illustrations, concept art, presentation materials.
- zimage: Tongyi Z-Image-Turbo (6B parameters),strongest bilingual Chinese-English text rendering capability, suitable for scenes that need text in the image. Also includes 2x upscaling for finer image quality.
- turbo: Fast generation (5-10 seconds), suitable for quick previews and iterative testing.
- nanobanana: Google Nano Banana, excels at photographic realism.
- seedream: ByteDance model, better for Asian styles and Eastern aesthetics.
If unsure, do not include --model(fastest). Need precise text in the image → that's not something changing models can solve; use post-processing to overlay text.
Size recommendations
| Purpose | Size |
|---|---|
| Presentation illustration (4:3) | 1024x1024 or 1536x1024 |
| Presentation full width (16:9) | 1920x1080 |
| Poster (portrait) | 1024x1536 |
| Social media post | 1080x1080 |
| YouTube thumbnail | 1280x720 |
Output
PNG file, filename format:<name>_<YYYYMMDD_HHMMSS>.png, add _1 _2 suffix when there are multiple images.
Error handling
- Network timeout → default timeout is 120 seconds; Flux models may need 10-30 seconds, and complex prompts take longer
- File too small → the script will warn (an error message may have been returned instead of an image)
- 429 Too Many Requests → the free version of Pollinations.ai has rate limits; wait a few seconds and try again
- Blank image / safety policy violation → rewrite the prompt to avoid sensitive words
Cost
Completely free. Pollinations.ai is maintained by the open-source community; no fees, no data storage, anonymous use.
Optional: if used heavily, you can register an account at https://enter.pollinations.ai to get an API Key for priority bandwidth, butit is not requiredand it works without one.