| name | generate-image |
| description | Use scripts/generate-image.mjs to generate raster images through Codex CLI and Codex's built-in image generation tool; supports UI mockups, product mockups, hero visuals, edits, references, and optional wireframe input. |
Generate Image
ãã® Skill ã¯ã.opencode/skills/generate-image/scripts/generate-image.mjs ã® CLI ãã©ãŒã æ¬ãæ£ããåããããã®éçšæé ã§ãã
ç»åçæ prompt ãæã§çµã¿ç«ãŠãããcodex exec ãçŽæ¥æžãããããªãã§ãã ãããéåžžçµè·¯ã§ã¯å¿
ã generate-image.mjs ãåŒã³åºããŸãã
Primary Rule
ç»åçæã»ç»åç·šéã»ç»å mockup ãå¿
èŠãªãšãã¯ã次ãå
¥å£ã«ããŸãã巚倧ãªèªç±æ prompt ã 1 ã€æž¡ãã®ã§ã¯ãªããææç©ä»æ§æžã®åæ¬ã CLI åŒæ°ãšããŠåããŸãã
node .opencode/skills/generate-image/scripts/generate-image.mjs \
--template <template> \
--prompt "<ææç©ã¿ã€ã + èŠèŠã¢ãŒã + çšé>" \
--purpose "<çšéãšäŒããã¹ãããš>" \
--canvas "<æ¯çãåªäœãäœçœãsafe area>" \
--subject "<䞻察象>" \
--composition "<é
眮ãåªå
é äœãèŠç¹>" \
--style "<èŠèŠèšèª>" \
--details "<çŽ æãç¶æ
ãæ¢å design ãšã®æŽå>" \
--constraint "<çŠæ¢äºé
ã厩ããŠã¯ãããªãæ¡ä»¶>"
generate-image.mjs ãæ¬¡ãäžå
管çããŸãã
- ãã³ãã¬ãŒãéžæã
- CLI ãã©ãŒã æ¬ãã GPT-Image-2 åãææç©ä»æ§æžå prompt ãçµã¿ç«ãŠãããšã
- æªå
¥åæ¬ãžã® template æ¢å®å€ãšå®å
šå¶çŽã®è£å®ã
ui-mockup --wireframe ã® wireframe èŠçŽã
- Codex CLI ãžã® guardrail ä»äžã
codex exec ã®å®å
šãªèµ·ååŒæ°ã
- Codex JSONL /
generated_images artifact ã®ååãåºå path ãžã®é
眮ãååšç¢ºèªã
When To Use
- Codex CLI çµç±ã§ GPT-Image-2 çžåœã® raster image ãçæããããšãã
- UI mockupãproduct mockupãlanding heroãåºåãå³è§£ãåååçãéæåãæãçšçŽ æãç»åç·šéãäœããããšãã
ui-mockup ã§ä»»æã® wireframe JSON/HTML ãæ§é åç
§ã«ããããšãã
- é·æããšã ã§ã¯ãªããææç©ä»æ§æžå prompt ã§äœãªãã©ã€ã«ããããšãã
When Not To Use
- SVGãHTMLãCSSãcanvasãSvelte ã³ã³ããŒãã³ããªã©ãã³ãŒããã€ãã£ããªææç©ãæ£ãããšãã
- æ¢åã¢ã€ã³ã³ãæ¢åããŽãæ¢å UI å®è£
ãçŽæ¥ç·šéããæ¹ãæ£ç¢ºãªãšãã
qualityãsizeãoutput_formatãrequest_idãã³ã¹ããã°ã API ãã©ã¡ãŒã¿ãšããŠå³å¯ã«å¶åŸ¡ããããšãã
- èšŒææžãé åæžãå¥çŽæžãéèç»é¢ãæ¬äººç¢ºèªæžé¡ãªã©ãåœææžã«èŠããç»åãäœãçšéã
Prerequisites
codex CLI ã PATH ã«ããããšã
codex login ãå®äºããŠããããšã
- Node.js ã§
generate-image.mjs ãå®è¡ã§ããããšã
ç¢ºèª command:
codex --version
codex login status
codex ã PATH ã«ç¡ãå Žåã¯ãCODEX_BIN ãŸã㯠GENERATE_IMAGE_CODEX_BIN ã« Codex å®è¡ãã¡ã€ã« path ãæå®ããŸãã
Workflow
- ãŠãŒã¶ãŒã®ç®çãã template ãéžã³ãŸãã
- å¿
èŠãªæ ¹æ ã調ã¹ã
--promptã--purposeã--canvasã--subjectã--compositionã--styleã--detailsã--constraint ã«åè§£ããŸãã
- æåãå¿
èŠãªã
--text ãš --typography ã䜿ããexact textãåºçŸåæ°ãäœèšãªæåã®çŠæ¢ãæç€ºããŸãã
- ç·šéãªã
--change-onlyã--preserveã--physical-realism ã䜿ããŸãã
- è¿·ãå Žåã wireframe å
¥åãããå Žåã¯ãå
ã«
--dry-run ã§ prompt ã確èªããŸãã
- ãŠãŒã¶ãŒãç»åçæãæ±ããŠããå Žåã ããdry-run ãªãã§å®çæããŸãã
- çæåŸã¯åºå path ãå ±åããŸãã
- çæç»å㯠user data ãšããŠæ±ããæç€ºãªãã«åé€ã»äžæžãã»commit ããŸããã
Command Examples
åºæ¬åœ¢:
node .opencode/skills/generate-image/scripts/generate-image.mjs \
--template ui-mockup \
--prompt "Create a realistic web app dashboard mockup for a small-team groupware product." \
--purpose "Product screenshot-style visual for reviewing UI direction and product realism." \
--canvas "1536x1024 landscape. Practical desktop UI proportions with readable spacing." \
--subject "A polished dashboard showing calendar, tasks, notes, and messages as practical workspace surfaces." \
--composition "Left navigation, central schedule and task work area, secondary updates panel, clear primary action hierarchy." \
--style "Existing product UI language, restrained SaaS typography, subtle borders, coherent token-based color system." \
--details "Use implementable spacing, shared component-like cards, clear focus order, and no decorative filler." \
--constraint "No authentication screen." \
--constraint "No random analytics charts unless requested." \
--out "$HOME/Pictures/codex-images/groupware-dashboard.png" \
--quality medium \
--size 1536x1024
dry-run:
node .opencode/skills/generate-image/scripts/generate-image.mjs \
--template ui-mockup \
--prompt "Create a realistic web app dashboard mockup for a premium B2B SaaS product." \
--purpose "Dry-run to inspect the structured image-generation prompt before spending image quota." \
--subject "A dense but readable dashboard with navigation, primary content, and supporting status panels." \
--dry-run
wireframe ãä»»æå
¥åã«ãã ui-mockup:
node .opencode/skills/generate-image/scripts/generate-image.mjs \
--template ui-mockup \
--prompt "Create a realistic web app UI mockup for the specified dashboard page." \
--purpose "Product screenshot-style mockup for OpenSpec design review." \
--canvas "1536x1024 landscape. Keep safe margins and preserve the wireframe's main page regions." \
--subject "The page described by the wireframe, rendered as a shippable product UI rather than a low-fidelity sketch." \
--composition "Follow the wireframe structure for navigation, content groups, actions, and screen-level hierarchy." \
--style "Match the repository's existing frontend design language, shared UI components, spacing rhythm, typography, and token-based colors." \
--details "Preserve information architecture while replacing gray scaffold boxes with production-quality component treatment." \
--constraint "Do not copy low-fidelity wireframe styling." \
--constraint "No fake logos or decorative badges." \
--wireframe path/to/dashboard.wireframe.json \
--out "$HOME/Pictures/codex-images/dashboard-ui.png" \
--quality medium \
--size 1536x1024 \
--iteration-target "layout hierarchy and product realism"
åç
§ç»åãæž¡ãäŸ:
node .opencode/skills/generate-image/scripts/generate-image.mjs \
--template reference-composite \
--prompt "premium product hero using the product shape from Image 1 and the lighting mood from Image 2" \
--image ./product.png \
--image-role "Image 1: base product photo; preserve shape, label, color, and camera angle" \
--image ./lighting-reference.png \
--image-role "Image 2: lighting and background reference only" \
--out "$HOME/Pictures/codex-images/product-hero.png"
CLI Form Fields
--prompt: 第 1 è¡ãææç©ã¿ã€ããèŠèŠã¢ãŒããçšéãåºå®ããŸãã
--purpose: ã©ãã§äœ¿ããäœãäŒããç»åãã
--canvas: æ¯çããµã€ãºãåªäœãcropãsafe areaãäœçœã
--subject: 䞻察象ãUIã人ç©ãååãå³ãèæ¯ãªã©ã
--composition: é
眮ãèŠç¹ãåªå
é äœãæ
å ±éå±€ã
--style: åçãUIãåºåããã¹ã¿ãŒã挫ç»ããã¯ã¿ãŒã3D ãªã©ã®èŠèŠèšèªã
--text: ç»åå
æåã® exact textãåºçŸåæ°ãäœèšãªæåã®çŠæ¢ã
--typography: æžäœã倪ããé
眮ãå¯èªæ§ã
--details: çŽ æãè²ãç
§æãUI stateãæ¢å design ãšã®æŽåã
--preserve: ç·šéæãŸãã¯åç
§æã«ç¶æãããã®ã
--change-only: ç·šéæã«å€æŽããç¯å²ã
--physical-realism: ç·šéæã®åœ±ãåå°ãedgeãscale ãªã©ã
--constraint: 1 ä»¶ãã€è¿œå ããçŠæ¢äºé
ãè€æ°åæå®ã§ããŸãã
--constraints: æ¹è¡ãŸã㯠semicolon åºåãã§ãŸãšããŠå¶çŽãæž¡ããŸãã
Template Selection
general: æ±çšç»åçæã
ui-mockup: é«å¿ å®åºŠãª UI ç»é¢ç»åãä»»æã§ --wireframe ãæå®ã§ããŸãã
product-mockup: ååã»ãµãŒãã¹ãé
åçã«èŠãã product / marketing mockupã
landing-hero: LP ã® hero visualã
ad-creative: åºåã»SNS ã¯ãªãšã€ãã£ãã
infographic: å³è§£ã»ã€ã³ãã©ã°ã©ãã£ãã¯ã
product-shot: åååç颚ã®ç»åã
transparent-cutout: åŸåŠçã§èæ¯é€å»ããããåè²èæ¯ã®çŽ æã
image-edit: å
¥åç»åãç·šéããçšéãå°ãªããšã 1 ã€ã® --image ãå¿
èŠã§ãã
reference-composite: è€æ°ç»åã®åœ¹å²ãæç€ºããŠåæã»åç
§ããçšéã
ui-mockup With --wireframe
--wireframe 㯠ui-mockup ã®ä»»æå
¥åã§ãã
generate-image.mjs 㯠wireframe JSON/HTML ã prompt ã«çŽè²ŒãããŸãããç»é¢åãviewportãlayout treeãelement typeãtable columnsãactions ãæœåºããç»åçæåãã®çã UI brief ã«å€æããŸãã
wireframe ã¯æ§é åç
§ã§ããäœå¿ å®åºŠã®èŠãç®ãç°è² boxãæ±çš outlineãåäžãªç©åœ¢ãscaffold label ã宿 UI ã® style ãšããŠåçŸãããŸããããã®å¶åŸ¡ã mjs åŽã® prompt builder ãæ
åœããŸãã
Quality And Size
--quality low: æ¹åæ§æ¢çŽ¢ãthumbnailãã©ãæ¡ã
--quality medium: æšæºãLP çŽ æãUI æ¡ãåºåæ¡ãéåžžã® product mockupã
--quality high: æçµãæåå€ããååã©ãã«ãå³è§£ã现éšéèŠã
--size: auto ãŸã㯠1536x1024 ãªã©ã® WIDTHxHEIGHTã
Codex built-in tool çµç±ã§ã¯ãquality ãš size 㯠API ãã©ã¡ãŒã¿ä¿èšŒã§ã¯ãããŸãããmjs ã Quality target: ãš Canvas: ãšã㊠prompt ã«å
¥ããŸãã
Safety Rules
- éåžžçµè·¯ã§ã¯
generate-image.mjs ã䜿ããææžãã® codex exec ã䜿ããŸããã
- Codex ã«ã¯ built-in image generation tool ã ãã䜿ãããŸãã
- Codex ã«ã¯ç»åçæã ããæ
åœãããŸããçæ artifact ã®æå®åºå path ãžã® copy ã¯
generate-image.mjs ã Node åŽã§è¡ããŸãã
- sandbox helper ã
bwrap çã§å€±æããç°å¢ã§ãã--json event ãŸã㯠CODEX_HOME/generated_images ããçæ artifact ãååããŸãã
- OpenAI APIãcurlãPython SDKãç¬èª API runner ã¯äœ¿ãããŸããã
- SVGãHTMLãCSSãcanvasãplaceholder image ã§ä»£æ¿ãããŸããã
- API key ã chat ã config ã«æžãããŸããã
- éæèæ¯ã¯
gpt-image-2 ã§çŽæ¥æå®ã§ããªãåæã«ããŸããå¿
èŠãªå Žå㯠transparent-cutout ã§åè²èæ¯çŽ æãäœããåŸåŠçã§èæ¯é€å»ããŸãã
Bundled Resources
scripts/generate-image.mjs: ãã® Skill ã®å®è¡å
¥å£ã
references/prompting.md: GPT-Image-2 åã prompt æ¹éãéåžžã¯èªãã ãã§ãå®è¡ã¯ mjs ã«ä»»ããŸãã
Troubleshooting
codex ãèŠã€ãããªãå Žå㯠codex --version ã確èªããå¿
èŠãªã CODEX_BIN ãŸã㯠GENERATE_IMAGE_CODEX_BIN ãæå®ããŸãã
codex login status ã倱æããå Žåã¯ã察話çã« codex login ãå®è¡ããŠããå詊è¡ããŸãã
- åºåãã¡ã€ã«ãäœãããªãå Žåã¯ãåãåŒæ°ã«
--dry-run ãä»ã㊠prompt ãš command ã確èªããŸããå®çæã§ Codex artifact ãè€æ°èŠã€ãã£ãå Žåã¯èª€ã³ããŒãé¿ããããæç€ºãšã©ãŒã«ãªããŸãã
- æåã厩ããå Žåã¯ã
--quality high ã䜿ãããŠãŒã¶ãŒ prompt ã« exact textãåºçŸåæ°ãno extra textãno duplicate text ãå«ããŸãã