Codex Images logo

Codex Images

Community
Melvynx
codex-images

Generates images with Codex (OpenAI's coding agent and its built-in image tool, included in a ChatGPT plan) - YouTube thumbnails, covers, B-roll stills, board images, profile pictures - one Codex job per image, several in parallel, with the creator's photos as reference when the face matters, then copies them into the project with a manifest. Use when the user says generate an image, a thumbnail, a cover, make me a visual, codex images, génère une image, miniature, or when publish or short-editing needs an image.

Overview

PublisherMelvynx
Repositoryvideo-agent-skills
Skill namecodex-images
Stars
89
Forks
17
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Melvynx on GitHub. Read the source before you install it.

Installation

Install the Codex Images AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Melvynx/video-agent-skills/tree/main/skills/codex-images
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Melvynx/video-agent-skills.git /tmp/video-agent-skills
mkdir -p .claude/skills
cp -r /tmp/video-agent-skills/skills/codex-images .claude/skills/codex-images
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Codex Images in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Codex Images on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Codex Images is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Codex Images

Images made by Codex's built-in image tool, run from the terminal: one codex exec per image, several at once. It uses their ChatGPT plan (Plus or Pro), no API key.

Talk to them in their language. <out> = the output folder: video-agent/edits/<slug>/images/ for a video, else video-agent/images/<name>/.

1. Codex (once)

bash
codex --version
codex login status
  • Not installed: npm i -g @openai/codex (needs Node 20+), or brew install codex on macOS.
  • Not logged in: they run codex login themselves (it opens the browser, "Sign in with ChatGPT"). Never ask for an OpenAI key or password in the chat.

2. The brief

One image = one prompt. Never pack several ideas into one job.

Ask only what is missing, in one message:

  • What for: thumbnail (1280x720, 16:9), short cover (1080x1920, 9:16), square post (1:1), a still for an image board or B-roll (the video's format).
  • How many: 1 by default; 3 variants for a thumbnail (a different idea each, not the same one three times).
  • Their face: a thumbnail with them in it needs 1 to 3 clear photos (a frame of a take works: ffmpeg -v error -y -ss <t> -i <take> -frames:v 1 -q:v 2 <out>/ref-face.jpg). Pass the absolute paths.

Write each prompt in English, concrete: the subject, the framing, the background, the light, the colors, the text on the image (3 words at most, written exactly in quotes, in the video's language), and the format. For a thumbnail: one subject, big readable text, strong contrast, a face with a clear emotion, nothing in the bottom right corner (YouTube puts the duration there). Every claim on the image comes from the video.

Show the prompts in a numbered list and wait for a yes (each image uses some of their Codex usage limit).

3. Generate

One job per prompt, at most 3 at a time, each in the background. Always end with < /dev/null (without it codex exec waits for input forever), and keep the last message in a file:

bash
mkdir -p <out>/logs
codex exec --skip-git-repo-check -s workspace-write -C "$PWD" \
  --output-last-message <out>/logs/<n>-<name>.txt \
  "Use your built-in image_gen tool to generate exactly one raster image for the prompt below. Do not edit any file. Do not ask questions. No SVG, no HTML, no placeholder.
Reference images (pass them to image_gen as referenced_image_paths): <absolute paths, or none>
When done, reply with exactly these two lines:
ASSET_NAME: <kebab-case-name>
IMAGE_PATH: <absolute path of the generated image>

Image prompt:
<the prompt>" \
  < /dev/null > <out>/logs/<n>-<name>.log 2>&1

A job takes about 1 to 3 minutes. When it ends, read its .txt, take IMAGE_PATH and copy the image:

bash
cp "<IMAGE_PATH>" <out>/<n>-<name>.png

No IMAGE_PATH in the answer: the newest file in ~/.codex/generated_images/ (ls -t ~/.codex/generated_images/*/* | head -3) created after the job started. Nothing new there: the job failed, show the end of its .log (often a usage limit, or codex login needed) and run that one again once.

4. Check and hand over

  • One image per prompt, and no two identical (shasum <out>/*.png).
  • The size: sips -g pixelWidth -g pixelHeight <file> (macOS) or ffprobe -v error -show_entries stream=width,height -of csv=p=0 <file>. A thumbnail must be 16:9: crop or scale it to 1280x720 with ffmpeg (-vf "scale=1280:720:force_original_aspect_ratio=increase,crop=1280:720"), under 2 MB as JPG.
  • Look at each image: the text spelled right, the face like them, nothing odd (hands, extra letters). A wrong one: fix the prompt and run that one again.

Write <out>/manifest.json: one entry per image with file, prompt, refs, date. Show the images, then:

  • A thumbnail or cover: /publish uses <edit>/images/ (they pick one, it is copied as <edit>/cover.jpg, the cover and the YouTube thumbnail).
  • A still for a video: /short-editing can place it as an img item on a board (copy it into the short's assets/images/).

Delete <out>/logs/ once everything is fine.

Honest limits

  • The image tool is OpenAI's, inside Codex: the result depends on it, and it changes. Text on the image can come out misspelled: always check it.
  • A face from reference photos looks close, rarely perfect. Real photos of them stay the safest for a thumbnail.
  • Each image counts against their ChatGPT plan's Codex limits; a limit reached means waiting or a bigger plan.
  • Only use photos of people who agreed, and no logos or characters they don't own.

Frequently asked questions

What does the Codex Images AI skill do?

Generates images with Codex (OpenAI's coding agent and its built-in image tool, included in a ChatGPT plan) - YouTube thumbnails, covers, B-roll stills, board images, profile pictures - one Codex job per image, several in parallel, with the creator's photos as reference when the face matters, then copies them into the project with a manifest. Use when the user says generate an image, a thumbnail, a cover, make me a visual, codex images, génère une image, miniature, or when publish or short-editing needs an image.

Why use Codex Images on TypingMind?

Because you install it once and use it with any model. Codex Images is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Codex Images in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Melvynx/video-agent-skills/tree/main/skills/codex-images. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Codex Images?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Codex Images?

As many as you like. As long as a model supports skills, you can use Codex Images with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Codex Images AI skill free?

Yes. It is published on GitHub by Melvynx under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇