Skip to content

Post to YouTube from Codex

Codex is OpenAI's coding agent. It runs as the Codex CLI in your terminal, as an IDE extension and inside the ChatGPT desktop app, and all three can use MCP servers. A video with a title, a description and the visibility you choose; YouTube takes no text-only post.

Updated November 2026

Connect Codex to Kreatix

Sign in with Kreatix

No key to copy: paste the address, sign in to Kreatix and press Allow.

  1. Run once in a terminal: codex mcp add kreatix --url https://api.kreatix.cc/mcp
  2. Run codex mcp login kreatix, sign in to Kreatix in the browser and press Allow.
  3. Start codex and type /mcp to check that kreatix is listed.
codex mcp add kreatix --url https://api.kreatix.cc/mcp

With a key

For setups without sign-in. The key works like a password, so keep it to yourself.

  1. In Kreatix, open Settings > AI agent and create a key. It is shown once.
  2. Add the [mcp_servers.kreatix] table from the snippet to the end of ~/.codex/config.toml.
  3. To keep the key out of the file instead, run export KREATIX_API_KEY=YOUR_KEY in your shell and then codex mcp add kreatix --url https://api.kreatix.cc/mcp --bearer-token-env-var KREATIX_API_KEY.
  4. Check with codex mcp list, or with /mcp inside codex.
[mcp_servers.kreatix]
url = "https://api.kreatix.cc/mcp"
http_headers = { "Authorization" = "Bearer YOUR_KEY" }

What Codex can do on YouTube

A video with a title, a description and the visibility you choose; YouTube takes no text-only post.

SettingValuesNeededWhat it does
media_urlURLYesThe video: a link from your Kreatix library or a public YouTube, TikTok, Instagram or Facebook post, which Kreatix imports first.
youtube_titlestring (max 100)NoThe title, up to 100 characters. Without it, Kreatix makes one from the caption's first line, minus hashtags and @mentions.
youtube_privacypublic, unlisted, privateNoWho can see the video. Left out, the video goes up public.
captionstring (max 5000)NoBecomes the video description, cut at 5,000 bytes, and the source of the title when youtube_title is empty.
cover_urlURLNoSet as the video's custom thumbnail right after the upload. If YouTube refuses it, the video stays up without it.

Ask in plain words

Ask inside the codex terminal app, or one-off from a script: codex exec "Which of my Kreatix pages got the most views this week?"

  • codex exec "Put this video on my YouTube channel Friday at 17:00 as unlisted. Title: How we pack 500 orders a day."
  • codex exec "Post my newest TikTok video to YouTube tonight at 20:00 with a clear title."
  • codex exec "How many views did my YouTube channel get in the last 30 days, compared with the month before?"

YouTube rules to know

  • A title of your own takes at most 100 characters; without one, Kreatix uses the caption's first line minus hashtags and @mentions.
  • YouTube does not take < and >, so Kreatix sends them as ‹ and ›.
  • Leave youtube_privacy out and the video goes up public.
  • Scheduled videos go up marked as not made for kids.
  • If YouTube says an upload limit is reached, Kreatix moves the post 6 hours later, up to 5 times, then marks it failed.

Tips for Codex

  • Add default_tools_approval_mode = "writes" to [mcp_servers.kreatix]. Codex then asks before schedule_post, reschedule_post and cancel_post, and runs the reading tools straight away.
  • Set it up once: the Codex CLI, the IDE extension and Codex in the ChatGPT desktop app share ~/.codex/config.toml.
  • In the IDE extension you can skip the terminal: gear menu > MCP servers > Add server, choose Streamable HTTP, enter the address, save, select Restart extension, then Authenticate.
  • The agent checks the pages, caption and time with you before it posts. It cannot delete pages, read messages or change your account, and you can remove it any time in Settings > AI agent.

Questions

How do I post to YouTube from Codex?

Connect Codex to Kreatix once, as shown above. Then ask it to post: name your YouTube pages or a page group, the video or text and the time. Codex shows you the plan and posts after you say yes.

What title will my video get?

The youtube_title you give, up to 100 characters. Without one, Kreatix takes the caption's first line, drops hashtags and @mentions and fits it into 100 characters. With no caption at all, the title is Untitled.

Can I upload as private or unlisted?

Yes. Set youtube_privacy to public, unlisted or private. Left out, the video goes up public.

What happens when YouTube's upload limit is hit?

Kreatix does not drop the post: it moves it 6 hours later and tries again, up to 5 times. After that the post shows as failed, so you see it.

Does the cover I pick show on YouTube?

Kreatix sets cover_url as the custom thumbnail right after the upload. If YouTube refuses it, for example when the channel can't use custom thumbnails yet, the video stays up and only the thumbnail is skipped.

Can I sign in on a machine without a browser?

Yes. Run codex mcp login kreatix --no-browser, open the printed link on another device, sign in and press Allow, then paste the full redirect URL back into the terminal.

Does the config go in my home folder or the project?

~/.codex/config.toml works everywhere. A project's .codex/config.toml also works, but only in projects you trust.

Kreatix schedules one video to every page you run, each with its own platform settings.

Start free, then connect Codex

Codex with other platforms

YouTube from other agents