← Recherche

Qiaomu Codex ImageGen
Creative and media 📌 Version épinglée : commit c03a1cc
⚙ Prérequis: Avant de commencer…

Qiaomu Codex ImageGen

Générer ou éditer des images avec la génération d'images intégrée de Codex, depuis n'importe quel agent, via un outil MCP ou une simple CLI : pour chaque demande, il propose d'abord au moins...

L’essentiel
Quoi
Générer ou éditer des images avec la génération d'images intégrée de Codex, depuis n'importe quel agent, via un outil MCP ou une simple CLI : pour chaque demande, il propose d'abord au moins...
Coût
Gratuit
Prérequis
Avant de commencer : lis ce prompt d'installation au complet, dis-moi en quelques lignes ce que ce skill fait et ce que son installation implique, et attends mon feu vert avant de faire quoi que ce soit d'autre.
Installation
Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.

Version :

⌁

Installation

Copiez le dossier d’installation ci-dessous, puis collez-le dans Muse📌 Version épinglée : commit c03a1cc
Envie d'être encore plus prudent ?

Le prompt d'installation ci-dessous inclut déjà les étapes de vérification : votre agent suit la checklist communautaire avant d'installer tout ce qui contient du code exécutable. Vous en voulez plus ?

Comment vérifier une création avant de l’installer →

🔒 Sécurité et provenance
📌 Version épinglée : commit c03a1cc · 2026-10-19
Skill Harbor ne révise jamais le code des skills listés. Ce sont des faits datés sur le prompt d’installation et notre test d’installation, pas une certification de sécurité. Révisez un skill vous-même avant de l’installer. Comment nous vérifions

Avant de commencer : lis ce prompt d'installation au complet, dis-moi en quelques lignes ce que ce skill fait et ce que son installation implique, et attends mon feu vert avant de faire quoi que ce soit d'autre. Prérequis (à lire d'abord — la génération est impossible sans eux) : le skill lui-même est gratuit (MIT), mais son usage exige la CLI Codex installée et connectée (`codex --version` doit fonctionner) sur un compte qui peut utiliser la génération d'images intégrée de Codex, plus Node.js 18 ou ultérieur. Chaque image générée consomme le quota de mon compte Codex / OpenAI (une génération prend environ 30 à 180 secondes ; jusqu'à quatre variantes en parallèle le consomment plusieurs fois). Il n'y a aucune clé API et aucun autre service payant : le skill exclut délibérément les services d'images par clé API. Si Codex est absent, non connecté, ou si mon compte n'a pas la génération d'images, arrête-toi et dis-le-moi — ne fabrique jamais une image avec du code. Installe-moi « qiaomu-codex-imagegen ». Il relaie les demandes d'images vers le générateur d'images intégré de Codex, depuis n'importe quel agent, via un serveur MCP ou une CLI simple qui lancent tous deux la CLI Codex locale, et il ajoute le savoir-faire qui rend les images utilisables : pour chaque demande, il propose d'abord au moins quatre directions de style divergentes (24 gabarits, 48 préréglages, 20 artistes d'affiches Mondo, 66 styles, 13 préréglages de scénarios), me laisse choisir, déploie le prompt, génère, et vérifie le résultat contre des critères d'acceptation. Dépôt : https://github.com/joeseesun/qiaomu-codex-imagegen (le skill est à la racine du dépôt : SKILL.md à la racine, et l'installation copie tout le dossier du dépôt, 79 fichiers) Version épinglée : installe le code au commit c03a1ccaf77938257bb93f64e09afa9cd08efe29 exactement. Ne substitue pas une version plus récente. Si ce commit est inaccessible, arrête-toi et dis-le-moi. 1. Clone https://github.com/joeseesun/qiaomu-codex-imagegen dans un dossier temporaire, place-toi au commit c03a1ccaf77938257bb93f64e09afa9cd08efe29, et copie tout le dossier du dépôt (chaque fichier suivi, sans le dossier .git) de ce checkout. Compare ensuite chaque fichier du dossier aux empreintes enregistrées pour cette fiche le 2026-10-19 : [FINGERPRINTS] - .gitignore: SHA-256 3b88fdb4bcfe07fc30234b654be8e808ab4293418fa35737cb691820f9a5fb99 - LICENSE: SHA-256 6d48a0e65735f2672fc914bab66632af172e08eb499e6fc34fb6fadbeab567e4 - README.md: SHA-256 6332e682a4b1851acd4270607939eb1433d37226ac8cd710c63cb98ac99cfda1 - SKILL.md: SHA-256 6a2a57557e8120f1474312d1fb3173e22fceca9bfb4d1416374a4f49b7182c86 - agents/interface.yaml: SHA-256 23165f6a5290141afefb2e30be59df00cd121bf39b09509e0ebd8af43fd32b4b - assets/qiaomu-profile/qiaomu_avatar.jpeg: SHA-256 c27edb4075ba702cc99db8aea12b34d2e0dcb1e222e8e0bc5204cd0d5c1f9e5f - assets/qiaomu-profile/qiaomu_reward_qr.png: SHA-256 0e76b5be7b1b0c20e0cb61d025a7153bd035f97667ee6a813d1dd95fc0033798 - assets/qiaomu-profile/qiaomu_wechat_public_account_qr.jpg: SHA-256 ab363670f736ba50309205b3c3e3e955be70cefb64c982988962ccec90381403 - docs/samples/T01-giant-type.webp: SHA-256 ff7196e7399805384f94a77ac3d9c0c036d6a2b0f4d739e89b8eebfc0666c7aa - docs/samples/T02-breaking-frame.webp: SHA-256 3b9321502264be87fedc69311bd0dded5e57be6faeb354231be484daa4d180ed - docs/samples/T03-center-light.webp: SHA-256 efb1cf49d3a5d5bd974a65915ff8a358e84e1623d7d457034244ab5c63fb6255 - docs/samples/T04-ink-editorial.webp: SHA-256 a7dc2060abb992a766544c4383decd290376a7f9bf4924290dd42d1fecb8d7b0 - docs/samples/T05-paper-terrain.webp: SHA-256 dd7c116e02606db92a1327b357d8bf4945a6d9bcd8c92e8015089ee5c29c3c4a - docs/samples/T06-folk-poster.webp: SHA-256 bad4fba1ede8af103aa87baa24bbb98a79ed8054bd6c89614ae08bb23faed143 - docs/samples/T07-child-drawing.webp: SHA-256 214ea5dce8be41c549a238579a4bcaf19acd14d342a46d79503b41a952ea6c5c - docs/samples/T08-photo-floral.webp: SHA-256 c42b3e9679c5598a92e42b666f9ca29c49aa5869de5c232e9e67039b4d46c595 - docs/samples/T09-studio-portrait.webp: SHA-256 f6e0e0dc8681b4bfb16f8823ae0d3b9e1d8c5af5daeb62b67fdd9c1fc5904d45 - docs/samples/T10-environment-portrait.webp: SHA-256 ab59eb584ea2f68f584d6c34b73ef7145bdd29e9a9f5d49574825b4b069214bb - docs/samples/T11-wedding-portrait.webp: SHA-256 412e2135ffa93ceea6ff6e036ec1f59c461cc10836345d5a88e0a45b14ab4337 - docs/samples/T12-food-macro.webp: SHA-256 851c76086d0f176b749445abba5b6c0b95db1b29b7e33eacc8953ac79adbd959 - docs/samples/T13-drink-macro.webp: SHA-256 030e9f3553cb67f05b43ad39cd55628e56b92eb2930cf088551c482a98645063 - docs/samples/T14-botanical-product.webp: SHA-256 98b08271f79076a788b2e4870f765c3e344c17349c6275814515df63be88b1b4 - docs/samples/T15-tech-orbit.webp: SHA-256 29f45fe77663c650cb2a9ed7837bb8afcdede2522f2553223e8e2b273ef91e58 - docs/samples/T16-giant-miniature.webp: SHA-256 acafb2f950ed7002c6dc0e712d394a89008fe8fbcc2f31b1d34b35e3a77e52a1 - docs/samples/T17-architectural-drawing.webp: SHA-256 bfc3a1375e9d7761c47bd4bfef3b5e650f52879db5f34a234429d3d35a6fd035 - docs/samples/T18-framed-view.webp: SHA-256 d48df77e1865c8511deb20eb41ab5defe4eeee474d47d3a3ca412c8fbcf080cf - docs/samples/T19-museum-material.webp: SHA-256 9d7817b4963a96bfe05d5da7883e69ab178f8d5f3b3fb7226005ab5764b9b04f - docs/samples/T20-lineup-system.webp: SHA-256 acff923fb5a3b36f13bf6cd32a3a6987dbde6e12e78b59dff60477bd663a177f - docs/samples/T21-nine-grid.webp: SHA-256 7f0abb4ad8a36e6f8f448575aec076d057c975dfff92c192711afd6058c14a71 - docs/samples/T22-slide.webp: SHA-256 a58b97eb464bf9d0b5369006a1b239cfc7b3d62aaa651f456bdae69c2d47953b - docs/samples/T23-info-card.webp: SHA-256 b951aa5dc208b08d079a79470237df9236be2a6a7483f15e134e8d2d70c4f72e - docs/samples/T24-daily-card.webp: SHA-256 faa1b63a158025efee0d5b9f83f0c40cf9878d237713ee742a6d2a837d05a773 - docs/samples/categories-24.webp: SHA-256 29f9a51204a5d570ebbaaf4fdf2de57e6c8118e91c46d9e71920247a3cb7bf9b - docs/samples/dir-mondo-olly-moss.webp: SHA-256 b51bf1d04b5d01bccf131067d4d3dc31b1a7634bb0d6b25755c35767039e6f7f - docs/samples/directions-strip.webp: SHA-256 8b4889d0cd9bc675de76369bc1ad29541138b6d82136df89372f6e70233070a4 - docs/samples/edit-after.webp: SHA-256 3c288d6bfceee1f803a5c63ee812bdf24c860caa7887bd254578283335105d33 - docs/samples/edit-before.webp: SHA-256 9da33482e31b5daa4c3a97bc8970853dcf917073353b3f02775cabd598bc514f - docs/samples/prompts.json: SHA-256 7cc19aa76baf3484cf23fcdfafc02382de237bbfd257eae835fedb59ce8a275a - docs/samples/scene-video-cover-16x9.webp: SHA-256 e03b85567b2c5bb14bd5be554902606a6de2c306c555911b79e4460c6ca5901e - docs/samples/scene-video-vertical-9x16.webp: SHA-256 64c20aa45589ee8c83d36afd6b3c4230df861237d77ad857cf95c4ca34866e36 - docs/samples/scene-wechat-cover-2.35.webp: SHA-256 e999d9a71e6a45c86f4c9ceccdfc88d62c30b60dd4483757f93b9e739c5f010c - evals/trigger_cases.json: SHA-256 f56924c4cc448f5d0c98ce24c7387db925738d1eebf9e6ec1b1b4959f2937d9e - manifest.json: SHA-256 483ed1560909fc96fd869f28209329654bcc3b02009ce4a4858ee27980b9865e - package.json: SHA-256 8343b2d32c9106b32b91f4114813a72309253b276dfc111b048d204f23ad0597 - references/design-system/agent-guide.md: SHA-256 163607365e24a59379a0f04a0cc2079d87cebccde206fa555b6fc5e5102946a6 - references/design-system/corpus-analysis.json: SHA-256 da1a37728a7edc40f237c9611fc5083583c5e8e3d89e6bcddf5d9f7f28749db0 - references/design-system/examples.json: SHA-256 ffb40402364f6811a593bf6dfb4cd300e57c6fb7687ded05c7e405ff7bb75d3e - references/design-system/filled-examples.md: SHA-256 785bc06e440df7b07f63a263feb3541095e02680321dda12ec3f0cfd2f0db273 - references/design-system/routing.json: SHA-256 dba2b0835140299640e9c472ed99e24fd67ec73122964e87145f2e4b4eea32e2 - references/design-system/template-library.md: SHA-256 ebe5faaf2291a07f2441332e2d85e05625264f7fc3806513d4c02ebe4e0dbee4 - references/design-system/templates.json: SHA-256 074441a86fe5a6833f72ed8f822a6e28418d87bb82d88d90bd06045c6cdd2a26 - references/mondo-artists.json: SHA-256 b1d4b8541a42fcf2b33c9b0d66c0e5c81bd9581549bf2e31a7c4150e561a6819 - references/mondo-poster.md: SHA-256 b0af0213894abae137d2c8e167bca690f19b982a34f190df06d5712cf7150410 - references/mondo/artist-styles.md: SHA-256 3808dc88c5267d6b51ea87d182050143d53636815795f1c3d9726c7459f88ea2 - references/mondo/book-covers.md: SHA-256 0290b7dc852ce271689ceb8155926d9e1d50bff1b14322705f247b9577092f94 - references/mondo/composition-patterns.md: SHA-256 2185b7ee4b9812bcdb7030b06c1565160dfa8d3701782950a56b3021201498cb - references/mondo/genre-templates.md: SHA-256 a4370246192fbfafbd9d5679d9f4d4b6d28ea5ea3982b478f6a847ab1f933a21 - references/presets.json: SHA-256 daadfa2aee6dc637cd49816a7f151604fad53716f45c7357028d4165e0e0b90c - references/prompt-craft.md: SHA-256 75c8f33c757a09861f596bbf3cb3ead224e6e1e36214ff7a06d132b3b944778d - references/scenarios.md: SHA-256 a4f2fe7b711a2960c6e60250386e06e3092288312f051eb9abe65d2fec5480f9 - references/styles.json: SHA-256 2f585fdb25274dd4156eec622ec5b3eda0986da94d52528e901ece8bd84142d1 - reports/creation-handoff.md: SHA-256 ce03c14da2e546ed3f40985942933a841e73cb1955649a44103c85d1994d0d4f - reports/prior-art-candidates.json: SHA-256 b3e0861729c6310dda0ffa1c2fee9d774a8fb278051c4f5c1e8ac7c1e1edfc0d - reports/prior-art-research.md: SHA-256 e06c608e0c8b28dfbe68cb0d8aad0964de8c3f7b8a1acfa46b9174540af2b312 - reports/skill-ir.json: SHA-256 97cb5d0f4065748ba7616354825f88db2e08d3d1364386b41b80235542ebe910 - reports/trigger-eval.json: SHA-256 ef3414bd8f3cc162b6f582b1ea4f5322f7726874157ccc279bbab86896294bae - scripts/build-corpus.mjs: SHA-256 c2bfdc4a1ef7088bc00ff4a104aabff2b899ff4733743c9fef7ec207257c5308 - scripts/cli.mjs: SHA-256 c2a8cb4b78efc0fce76006e54c4c8f98965f6c3cbeb6256d151657386954a061 - scripts/lib/codex.mjs: SHA-256 66ce688ca0dbb8ceb34404894b4c89a0c454da7eda5e2137660eec2b54004ea1 - scripts/lib/corpus.mjs: SHA-256 b5d7570d5553f63cb32de6d2df0d3e8b31b95ad5f90d8f48fc5744566d641fdc - scripts/lib/png.mjs: SHA-256 da630ffa8771c776d9a2b250f43ee8af24fbe5d0c23b14ddce9d66ee5911b76c - scripts/lib/prompt.mjs: SHA-256 0846f872235fc39fdb0d00b491256b80781228177d00bbc1a0acb62e294efbd4 - scripts/lib/suggest.mjs: SHA-256 c9dba723eee0265e18bd0412aff15d185885d609ae7f3b815245f80887eef6ea - scripts/lib/templates.mjs: SHA-256 ea4b5ea19c68d96b7cc52362c2c4c4679a0a2c38b4be04dfd64f93a124c7c4b0 - scripts/lib/tools.mjs: SHA-256 44e21d4f92e87490257e2a84b6c483b60614155f6ca4414284d4168317210f99 - scripts/mcp-server.mjs: SHA-256 f6f86ef2e624ceb092f7d441acc5e06153df7c2aabb52ad163f3c301f22a32c7 - tests/fake-codex.mjs: SHA-256 cc6849bc1ca80a1c9e1a783ec1b5bdb8c7f46ebdf986bab88b9c348b1c30fc26 - tests/imagegen.test.mjs: SHA-256 48daecaf2ac51fb7b57f0c8c47369bf28315e6749c96dbf7c3173a022547cdf3 - tests/test_node_suite.py: SHA-256 2ac295805882af1e740e347480e09e53854d8e3abf8182defc5b0c97f8974668 Si un fichier ne correspond pas, il a changé depuis la préparation de la fiche : ne l'installe pas encore, dis-moi ce que tu as trouvé et laisse-moi décider. 2. Lis SKILL.md au complet, et lis le code dans scripts/ (cli.mjs, mcp-server.mjs et lib/codex.mjs, lib/tools.mjs, lib/prompt.mjs, lib/templates.mjs, lib/suggest.mjs, lib/corpus.mjs, lib/png.mjs, plus build-corpus.mjs) et agents/interface.yaml, et dis-moi en mots simples : ce que le skill fait quand on l'utilise, à quels services il se connecte, s'il lit ou envoie des informations personnelles ou des clés, et tout ce qui semble inhabituel. Arrête-toi sur tout signal d'alerte et dis-le-moi avant d'aller plus loin. Confirme ces points à partir des fichiers : - Le dossier installé contient 79 fichiers (10 286 667 octets au total). L'exécution ne repose que sur : SKILL.md (9 525 octets), le code Node zéro dépendance dans scripts/ (10 fichiers .mjs, modules intégrés de Node seulement, aucune liste de dépendances à installer — package.json ne déclare aucune dépendance), les fichiers de données et de savoir-faire dans references/ (17 fichiers : 24 gabarits / 48 préréglages, styles, matière Mondo, scénarios, prompt craft et le guide agent), et agents/interface.yaml. Le reste de la copie est du contenu hors exécution que l'installation à la racine emporte : README.md et LICENSE, package.json, manifest.json et .gitignore, docs/samples/ (33 fichiers : 32 images d'exemples et une galerie prompts.json), assets/qiaomu-profile/ (la photo de profil de l'auteur et ses codes QR, référencés seulement par la section auteur du README), evals/, reports/ et tests/ (les rapports de QA et de publication de l'auteur). Aucun de ces contenus n'est chargé ni exécuté par les outils. - Rien n'est envoyé nulle part pendant l'installation elle-même ; le seul téléchargement à l'installation est le dépôt depuis GitHub au commit épinglé. Le code ne contient aucun appel fetch, HTTP, curl ou de télémétrie : les seuls processus que l'exécution lance sont la CLI Codex locale (`codex app-server --listen stdio://`, dans scripts/lib/codex.mjs, qui hérite de l'environnement comme tout processus enfant et ne lit QIAOMU_CODEX_BIN que comme chemin Codex optionnel) et, seulement dans l'outil séparé build-corpus.mjs, les outils d'images locaux cwebp ou sips. La seule autre variable d'environnement lue est QIAOMU_CORPUS_DIR (l'endroit où vit le paquet local optionnel de corpus). - Ce qui quitte cette machine à l'usage, divulgué ici avant que ça arrive : seulement quand je demande une image et qu'une génération roule vraiment. Le skill démarre la CLI Codex locale, et la CLI Codex — pas le code propre de ce skill (agents/interface.yaml le dit exactement : « network: none directly; the Codex CLI it launches contacts the user's Codex account ») — contacte le service de mon compte Codex / OpenAI et lui envoie le texte du prompt final déployé et, quand je les fournis, les images de référence que je nomme (photo d'identité, photo de produit, référence de style ou image à éditer, passées par chemin absolu), et chaque génération consomme mon quota Codex. Les étapes de directions, de composition, de recherche, de catalogue et d'aperçu du prompt (suggest_directions, compose_prompt, search_prompts, get_prompt, build_prompt, list_catalog) roulent entièrement en local et ne consomment aucun quota ; la recherche ne lit que le paquet local optionnel de corpus sur ma machine (689 prompts de référence, bâti localement par scripts/build-corpus.mjs à partir de ma propre archive, jamais livré avec le dépôt). Dans le tour Codex, la session est éphémère, en bac à sable workspace-write limité au dossier de sortie, avec politique d'approbation « never » et aucun accès réseau pour les outils ; les images générées sont enregistrées localement (par défaut ~/Pictures/qiaomu-codex-imagegen/<date>/) avec un fichier .json compagnon contenant le prompt exact à côté de chaque image. - Le flux de travail et ses garde-fous, d'après SKILL.md : prise en charge d'abord (sujet, livrable, ratio, mode de texte none / exact_short / typeset_later, faits exacts, rôle de chaque référence), puis au moins quatre directions divergentes parmi lesquelles je choisis (étape sautée seulement si j'ai déjà fixé le style ou dit d'y aller), puis la composition du prompt, un appel generate_image par direction choisie, puis une vérification visuelle contre les critères d'acceptation, en régénérant une fois en ne changeant que la phrase de la relation fautive. Les faits et les nombres viennent seulement de moi — ne jamais inventer prix, dates, noms, statistiques, citations, codes QR ou logos — et les livrables de type affiche exigent un ensemble complet de courtes lignes en mode exact_short. Personnes : préférer silhouettes, vues de dos, mains ou symboles sauf si un visage est demandé ; la constance d'identité exige une photo de référence d'identité, sans elle la personne est dite fictive, et ne jamais produire de contenu trompeur avec l'image d'une personne réelle. - N'enregistre pas le serveur MCP et n'installe rien d'autre pendant cette installation : l'enregistrement du README (`claude mcp add ... scripts/mcp-server.mjs`), toute route `npx skills add`, et la construction du paquet local optionnel de corpus sont des étapes séparées, pour plus tard, seulement si je le demande. Aucune génération d'essai non plus : chaque génération consomme du quota. 3. Quand je dis « yes, install », installe-le comme skill : copie tout le dossier du dépôt depuis le checkout épinglé dans le répertoire des skills de l'agent, dans un dossier nommé « qiaomu-codex-imagegen », en gardant ses 79 fichiers. La route amont, npx skills add joeseesun/qiaomu-codex-imagegen, installe le même dépôt ; l'une ou l'autre route convient tant que chaque fichier correspond à son empreinte. 4. Vérifie sans appels réseau : frontmatter valide (name: qiaomu-codex-imagegen), les 79 fichiers en place avec empreintes conformes, et `node --version` rapportée. Ne démarre pas le serveur MCP, ne lance pas la CLI, et n'appelle pas Codex pour vérifier. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même (par exemple : avoir la CLI Codex installée et connectée avec un compte qui peut générer des images, et Node.js 18+, avant tout usage ; enregistrer le serveur MCP moi-même ou le demander dans une étape séparée si je veux les outils dans un client MCP, sinon utiliser la CLI depuis le dossier du skill ; bâtir le paquet local optionnel de corpus moi-même si je veux la recherche dans le corpus ; et fournir moi-même le sujet, les textes exacts et toute image de référence — utiliser le skill est une étape séparée qui ne commence que quand je demande une image, et l'envoi à l'usage vers mon compte Codex divulgué ci-dessus, et son coût en quota, arrivent seulement à ce moment-là). GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne jamais l'exiger sauf s'il figure dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête-toi et demande-moi.

?

Questions

Comment installer une création ?

Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.

Où va mon argent ?

Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.

Que signifie le ✓ à côté du nom d’un créateur ?

Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.