Gemini CLI drafts it. You approve it. PostDelegate posts it.YouTube: Video uploads with a title, visibility, thumbnail and tags.
How to post to YouTube from Gemini CLI
- Add PostDelegate to Gemini CLI. Add the server to ~/.gemini/settings.json as below. Sign in with PostDelegate when Gemini CLI prompts you.
~/.gemini/settings.json
{ "mcpServers": { "postdelegate": { "url": "https://app.postdelegate.com/mcp-oauth-dynamic" } } } - Connect YouTube in PostDelegate. On the calendar page choose Add Channel, then YouTube. Sign in with Google, approve the permissions and, if your Google account has more than one channel, choose the one to connect.
- Ask Gemini CLI for a draft. Describe the post in plain words. Gemini CLI checks your YouTube channel's rules, creates the post and sends back a preview link.
Teach Gemini CLI the posting rules
Save PostDelegate’s AGENTS.md in your repository and point to it from your GEMINI.md, so Gemini CLI follows the posting rules there. Agent files has the steps.
What to ask Gemini CLI
Mention any YouTube setting in plain words and Gemini CLI fills it in. Gemini CLI can also read text files in your project, such as a changelog or a draft in Markdown.
- Draft a YouTube post for the video I uploaded to my media library today: title “How we cut our build time in half”, unlisted, not made for kids. Do not schedule it yet.
- What is scheduled on my YouTube channel this month, and are any of the videos missing a thumbnail?
- Write a YouTube description for our launch video from docs/launch.md, keep the tags under 500 characters, and save it as a draft for Friday at 17:00.
What Gemini CLI can do on your YouTube channel
- Check the rules first. Before writing, it reads your YouTube channel's length limit (5,000 characters) and required settings.
- Draft, schedule or post. It creates a draft, a scheduled post or an immediate post, and runs the same checks as the app.
- Use your media. It attaches files from your media library or adds one from a public link.
- Review and fix. It lists what is scheduled, changes the YouTube settings of a post that has not gone out, and deletes posts you no longer want.
A YouTube post is a video, a title and a visibility choice. Unlike a text network, nothing about it can be left until the last minute, so PostDelegate keeps the video file, the title, the description and the thumbnail together with the planned post. Everything is ready before the scheduled time arrives.
YouTube settings Gemini CLI can fill in
| Setting | Notes |
|---|---|
| Title | Required. 2 to 100 characters. |
| Visibility | Required. Public, Private or Unlisted. |
| Made for kids | Optional. Yes or No. |
| Thumbnail | Optional image. Custom thumbnails need a phone-verified YouTube channel, and YouTube may ignore them on videos it treats as Shorts. The video is still published if YouTube rejects a thumbnail. |
| Tags | Optional. All tags together can use at most 500 characters; a tag with a space counts two extra characters. |
Before you start
- Signing in to PostDelegate with Google does not by itself connect a YouTube channel.
- Every YouTube post needs a video file. Uploads follow YouTube's own daily quota.
The YouTube channel guide has every field, and MCP tools lists exactly what an assistant can and cannot do.
Questions
Will Gemini CLI publish to YouTube without asking me?
Do I need an API key to connect Gemini CLI?
Does it cost extra to use Gemini CLI with PostDelegate?
Can Gemini CLI attach images or video to a YouTube post?
Can I schedule a YouTube video as private or unlisted?
Can I add a custom thumbnail to a scheduled YouTube video?
YouTube from other assistants
Other networks from Gemini CLI
- Bluesky
- Mastodon
- Google Business Profile
- Telegram
- Discord
- Slack
- Tumblr
- Lemmy
- Nostr
- Twitch
- Kick
- Dribbble
- DEV.to
- Medium
- WordPress
- Hashnode
- Listmonk (email)
Prefer to plan YouTube posts yourself? See the YouTube scheduler.