ai-image-gen
Installation
SKILL.md
AI Image Generation
Generate images from text prompts using OpenAI or Stability AI.
Prerequisites
- OpenAI API key in
OPENAI_API_KEYenvironment variable (for GPT Image) - Stability AI API key in
STABILITY_API_KEYenvironment variable (optional, for Stable Diffusion) - Python 3 with
requestsandbase64(standard library)
OpenAI GPT Image (Recommended)
import os, requests, base64
def generate_image_openai(prompt, output_path, size="1024x1024", quality="auto", background="auto"):
"""Generate an image with OpenAI GPT Image (gpt-image-1)."""
resp = requests.post(
"https://api.openai.com/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['OPENAI_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "gpt-image-1",
"prompt": prompt,
"n": 1,
"size": size, # 1024x1024, 1536x1024 (wide), 1024x1536 (tall)
"quality": quality, # "auto", "low", "medium", "high"
"background": background, # "auto", "transparent", "opaque"
},
)
resp.raise_for_status()
img_b64 = resp.json()["data"][0]["b64_json"]
with open(output_path, "wb") as f:
f.write(base64.b64decode(img_b64))
print(f"Image saved to {output_path}")
# Examples
generate_image_openai("a sunset over mountains, oil painting style", "./sunset.png")
generate_image_openai("modern tech logo", "./logo.png", size="1024x1024", quality="high")
generate_image_openai("minimalist cat icon", "./icon.png", background="transparent")
Size Options
| Size | Best for |
|---|---|
1024x1024 |
Square -- logos, icons, social media |
1536x1024 |
Wide -- blog covers, banners, hero images |
1024x1536 |
Tall -- mobile, stories, Pinterest |
Stability AI (Alternative)
def generate_image_stability(prompt, output_path, aspect_ratio="1:1"):
"""Generate with Stability AI SD 3.5 Large."""
resp = requests.post(
"https://api.stability.ai/v2beta/stable-image/generate/sd3",
headers={
"Authorization": f"Bearer {os.environ['STABILITY_API_KEY']}",
"Accept": "image/*",
},
files={"none": ""},
data={
"prompt": prompt,
"model": "sd3.5-large",
"aspect_ratio": aspect_ratio, # 1:1, 16:9, 9:16, 3:2, 2:3
"output_format": "png",
},
)
resp.raise_for_status()
with open(output_path, "wb") as f:
f.write(resp.content)
generate_image_stability("watercolor painting of a garden", "./garden.png", aspect_ratio="16:9")
When to Use Which Provider
| Provider | Strengths |
|---|---|
| OpenAI GPT Image | Best overall quality, text rendering, transparent backgrounds, follows complex prompts |
| Stability AI | Good for artistic styles, faster, often cheaper, no content policy surprises |
Tips
- Be specific: "a golden retriever sitting on a red couch in a cozy living room" > "a dog"
- Specify style: "oil painting", "flat vector", "3D render", "watercolor", "photorealistic"
- For logos: use
background: "transparent"with OpenAI, or post-process with PIL - For blog covers: use wide format (
1536x1024or16:9) - Batch generation: generate multiple variations and let the user pick the best one
Weekly Installs
24
Repository
openclaudia/ope…a-skillsGitHub Stars
406
First Seen
Mar 25, 2026
Security Audits