image-generation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited image-generation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate images with the images_generate tool. It handles text-to-image, image-to-image (pass reference_images), and multi-image composition. By default (model="auto") it picks the best model for the request; set model to choose one.
This skill assumes the Hyper MCP is connected to your agent so the images_generate tool is available. For brand-consistent ad creative work, Firecrawl must also be configured under your Hyper integrations.
Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
| Surface | Find a tool | Run it |
|---|---|---|
| MCP client (Claude, Cursor, Codex, ChatGPT) | search("<what you want to do>"), then describe("<name>") | call("<name>", {...}) |
| Hyper CLI | hyperai search "<what you want to do>", then hyperai describe <name> | hyperai call <name> --json '{...}' |
If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.
images_generate(
requests=[{"id": "ad1", "prompt": "A polished SaaS ad, clean composition"}],
aspect_ratio="16:9", # "1:1" (default), "9:16", "16:9", "4:5", "5:4", "2:3", "3:2", "3:4", "4:3", "21:9"
quality="standard", # "draft" | "standard" | "high"
n=1, # 1-4 images per request
model="auto", # see "Choosing a model" below
)requests=[{"prompt": "Compose into a gift basket", "reference_images": ["file1", "file2"]}].
seed=....use_search=True.model="auto" is the right default. Override only when the task clearly calls for a specific model:
| Task | model |
|---|---|
| First-pass concepts / quick ad ideation / everyday generation | gpt-image-2.5-flare |
| Precise edits and branded compositions from reference images, production creative | gpt-image-2.5-sunburst |
| Cheap iteration, image-to-image, the widest aspect ratios (adds 1:4, 1:8, 4:1, 8:1) | nano-banana |
| Readable text inside the image (posters, labels, infographics) or search-grounded scenes | nano-banana-pro |
| Product photography, material/fabric fidelity, accurate spatial depth | seedream-4.5 |
See references/image-prompting.md for per-model prompt-writing tips.
If the user gives a website URL and wants on-brand creatives:
firecrawl_branding_extract with the URL → returns brand colors, fonts,personality/tone, and saved image files (logo, favicon, og_image).
firecrawl_urls_scrape with formats=["screenshot"] for visual context.logo file_id in reference_images.
The branding result's file field is a JSON data file, NOT an image — never pass it as a reference. Only logo.file_id and images.*.file_id are usable images.
For multi-shot product or marketplace work, prefer the workflow tools — they preserve product identity and return structured results:
images_product_photoshoots_create — multi-shot product photography (studio,lifestyle, hero, carousel, ad pack). See references/product-photoshoot.md.
images_marketplace_cards_create — marketplace listing image sets (Amazon main +secondary, A+ modules, Shopify). See references/marketplace-cards.md.
aspect_ratio to intent (social, print, web).quality="high" for production, "draft"/"standard" while iterating.file_ids can be reused as reference_images in later calls.firecrawl_branding_extract before generating.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.