Upload to YouTube from Claude Code
Claude Code can upload and schedule YouTube videos through Postiz. Add the Postiz MCP server with one command, sign in with OAuth, then point Claude Code at a video file and describe the title, visibility, tags, and thumbnail. Postiz uploads the video and publishes it as public, unlisted, or private at the time you choose.
Please make sure there is always a human in the loop.
Last updated: September 2026
How to post to YouTube from Claude Code
Add the Postiz MCP server to Claude Code once, sign in with OAuth, connect YouTube in Postiz, and then describe the post in plain language. Setup takes about a minute.
Setup once, then just ask
# One-time setup: add the Postiz MCP server (OAuth, no API key)
claude mcp add --transport http postiz https://mcp.postiz.com/mcp-oauth-dynamic
# Or install the Postiz skill instead
npx skills add gitroomhq/postiz-agent
export POSTIZ_API_KEY=your_api_key
# Then ask Claude Code:
> Upload ./videos/demo.mp4 to YouTube as an
unlisted video titled "Postiz 2.4 demo"
with ./thumbs/demo.png, tomorrow at noon
Claude Code: Done! YouTube upload scheduled
(type: unlisted) for tomorrow at 12:00 PM.What can Claude Code do on YouTube?
On YouTube, Claude Code can upload a video with a title and description, choose public, unlisted, or private visibility, add tags, set a custom thumbnail, and declare whether it is made for kids.
Video Uploads
Hand Claude Code a video file and it uploads it. Supports all major formats including MP4, MOV, AVI, MKV, and WEBM.
Visibility Control
Set videos to public, unlisted, or private. Control who can discover and watch your content from the start.
Kids Content
Declare whether your content is made for kids to comply with YouTube's COPPA requirements. Set per video.
Custom Thumbnails
Upload and attach custom thumbnail images to your videos. First impressions matter — control your click-through rate.
Tags & Metadata
Add tags to improve discoverability. Each tag has a value and label for flexible categorization and SEO.
Scheduled Publishing
Schedule video uploads with precise timestamps. Videos are uploaded and set to publish at your chosen time.
How does Claude Code post to YouTube through Postiz?
You describe what you want in plain language and Claude Code handles the Postiz calls for you. Here is how a typical conversation goes.
Find Your YouTube Integration
Ask Claude Code whether your YouTube account is connected. It also checks which options the platform supports.
Example conversation
> Is my YouTube account connected to Postiz?
Claude Code: Yes — your YouTube account is connected
and ready. Want me to post something?Upload Your Video & Thumbnail
Upload your video file and optionally a custom thumbnail. YouTube requires media to be accessible via HTTPS. Supports MP4, MOV, AVI, MKV, WEBM, and more.
Example conversation
> Draft a YouTube post about our new
feature launch
Claude Code: Here's a draft for YouTube:
"We just shipped something big..."
Want me to add media and schedule it?Create Your Post
Schedule a YouTube upload with your video, description, title, visibility settings, tags, and optional thumbnail.
Example conversation
> Yes — add screenshot.png and schedule
it for tomorrow at 9am
Claude Code: Done! Scheduled on YouTube for
tomorrow at 9:00 AM.YouTube Settings Reference
Mention any of these in plain language and Claude Code sets them for you. These are the YouTube options it can apply to any post.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "youtube" |
title | string | Video title (2-100 characters) |
type | string | Visibility: "public", "unlisted", or "private" |
selfDeclaredMadeForKids | string | Kids content declaration: "yes" or "no" |
thumbnail | object | Custom thumbnail: {id: string, path: string} |
thumbnail.id | string | Uploaded thumbnail file ID |
thumbnail.path | string | Public URL of the thumbnail image |
tags | array | Video tags: [{value: string, label: string}] |
tags[].value | string | Tag value used internally |
tags[].label | string | Tag display label |
Common Configurations
Ask Claude Code for any of these common YouTube uploading scenarios and it applies the matching settings.
Public Video with Tags
Just ask
> Post it with: Public Video with Tags
Claude Code: Got it. Applying:
title: How to Build a REST API in 10 Minutes
type: public
selfDeclaredMadeForKids: no
tags: Tutorial, API, CodingUnlisted Video with Custom Thumbnail
Just ask
> Post it with: Unlisted Video with Custom Thumbnail
Claude Code: Got it. Applying:
title: Team Meeting Recording - March 2025
type: unlisted
selfDeclaredMadeForKids: no
thumbnail: id=thumb-abc123, path=https://uploads.postiz.com/thumb.jpgKids Content Video
Just ask
> Post it with: Kids Content Video
Claude Code: Got it. Applying:
title: Learn Colors with Fun Animations
type: public
selfDeclaredMadeForKids: yes
tags: Kids, Educational, ColorsPrivate Draft Video
Just ask
> Post it with: Private Draft Video
Claude Code: Got it. Applying:
title: Draft - Upcoming Product Launch
type: private
selfDeclaredMadeForKids: noExample prompts for YouTube in Claude Code
These are prompts you can type into a Claude Code session, or pass to claude -p in a script. Claude Code reads your repo, calls Postiz, and confirms before publishing.
Public tutorial with tags
Claude Code
> Upload ./videos/tutorial.mp4 to YouTube as
public, title "Deploy in 5 minutes", write a
description from docs/deploy.md, and tag it
devops, tutorial, docker
Claude Code: Uploaded tutorial.mp4. type: public,
3 tags added. Scheduled for immediate publish.Private upload for review
Claude Code
> Upload ./videos/keynote-draft.mp4 to YouTube
as private so the team can review it before
we flip it to public
Claude Code: Uploaded as type: private.
Nobody outside the channel can see it yet.Clip a long video first
Claude Code
> Clip the best 60 seconds from
./videos/webinar.mp4, then upload the clip to
YouTube as unlisted with a custom thumbnail
Claude Code: Used the Postiz clipping tool,
uploaded the clip and thumbnail. Scheduled.YouTube limits and gotchas to know
YouTube uploads have required fields and a few constraints that Claude Code fills in from your request.
- ✓A video file is required. Reference a local path or URL and Claude Code uploads it through Postiz.
- ✓title is required and must be between 2 and 100 characters; type must be public, unlisted, or private.
- ✓Custom thumbnails are uploaded as a separate image and passed as thumbnail with an id and path.
- ✓selfDeclaredMadeForKids should be set to yes or no; if your channel needs it, say so in the request.
- ✓Clipping long videos into shorts is available only over the custom MCP link, not the Claude.ai directory connector.
What is Claude Code?
Claude Code is Anthropic's agentic coding tool that lives in your terminal. It handles software engineering tasks — writing features, fixing bugs, and answering questions about your codebase — and it can run shell commands and MCP tools like Postiz.
Not the same as Claude Cowork (Anthropic's desktop agent for knowledge workers) or the Postiz connector for Claude.ai (chat in the browser or desktop app). Claude Code runs in your terminal and IDE and can read your repository while it writes YouTube posts.
Terminal & IDE Native
Claude Code runs in your terminal, with extensions for VS Code and JetBrains. You type what you want in plain English and it handles Postiz for you.
Agentic Execution
Claude Code plans and works through multi-step tasks on its own — discovering channels, uploading media, and scheduling posts — and asks for permission before it acts.
Parallel Tasks
Run several Claude Code sessions side by side, or spawn subagents in one. Schedule posts to different platforms while it handles other coding work.
How Postiz Works with Claude Code
Claude Code discovers Postiz through the Postiz skill or the Postiz MCP server. It reads the SKILL.md (or the MCP tool list) to learn what it can do, then chains calls together for social media workflows.
- ✓Install the Postiz skill, or add the Postiz MCP server with claude mcp add
- ✓Claude Code discovers the Postiz tools over MCP, or reads SKILL.md when you use the skill
- ✓MCP route: sign in with OAuth, no API key. Skill route: set POSTIZ_API_KEY
- ✓Claude Code asks for permission before running commands
- ✓Works alongside your coding tasks in parallel
Install Postiz
# Option A: add the Postiz MCP server
claude mcp add --transport http postiz https://mcp.postiz.com/mcp-oauth-dynamic
# Option B: install the Postiz skill
npx skills add gitroomhq/postiz-agent
export POSTIZ_API_KEY=your_api_key
# Then just ask
claude "list my social media integrations"YouTube Uploading with Claude Code
Tell Claude Code what to post from your terminal or IDE — it discovers your integrations via Postiz and handles the entire publishing workflow.
Just Ask Claude Code
Terminal and IDE integration
Tell Claude Code what to post from your terminal or IDE — it discovers your integrations via Postiz and handles the entire publishing workflow.
Claude Code CLI
$ claude "Post to Youtube about our
new feature launch, schedule for
tomorrow at 9am"
Claude Code: I'll handle that.
Found your Youtube integration.
Composing and scheduling the post.
Done! Your post is scheduled.
Post ID: abc-123Parallel Tasks
Multiple tasks at once
Claude Code runs headless with claude -p, so several tasks can run in parallel. Schedule posts to different platforms while it works on other coding tasks.
Claude Code Parallel Tasks
# Run multiple posting tasks in parallel
$ claude -p "Schedule a post about our
launch to X for tomorrow 9am" &
$ claude -p "Write a LinkedIn article
about our new feature and schedule
for tomorrow noon" &
$ claude -p "Fix the bug in auth.ts"
# All three tasks run simultaneouslyWhy Claude Code + Postiz for YouTube
Claude Code's autonomous execution makes Postiz a natural fit. The agent reads the SKILL.md to understand every available command, then autonomously chains them together for YouTube workflows.
- ✓Runs in your terminal or IDE — just type what you want
- ✓Permission-based execution — you stay in control
- ✓Parallel task support — post while coding
- ✓Thumbnails and tags applied automatically based on your instructions
- ✓Cross-post to YouTube + other platforms in a single session
- ✓Powered by Claude — Anthropic's most capable models
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including YouTube
metadata:
claude-code:
requirements:
env:
- POSTIZ_API_KEY
binaries:
- postiz
---
# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>
# YouTube Settings
title (2-100 chars), type
(public/unlisted/private),
selfDeclaredMadeForKids,
thumbnail, tagsAlso Works with Claude Cowork
Postiz works with any AI agent that can run commands or call MCP tools. That includes Claude Cowork, Anthropic's desktop agent, and the Claude.ai connector. See the agents overview for every supported agent.
Claude Cowork
by Anthropic
Claude Cowork reads the Postiz skill so it knows what it can do, then autonomously discovers your YouTube integration, uploads your video and thumbnail, applies tags and visibility settings, and schedules the upload.
Claude Cowork
> Upload my tutorial video to YouTube
as public with tags "coding" and
"tutorial", schedule for tomorrow
Claude Cowork: Done! Scheduled on YouTube for
tomorrow at 9:00 AM.Post to YouTube and other platforms from Claude Code
One request can schedule the same content to YouTube and other channels, and each platform keeps its own settings. Every platform below has its own Claude Code guide.
Example
> Post "Excited to announce our new feature!" to
YouTube and TikTok tomorrow at 9am, then schedule
a daily tip on YouTube every weekday at 10am
Claude Code: Done! Scheduled:
- YouTube + TikTok: tomorrow 9:00 AM
- Daily tips on YouTube: Mon-Fri 10:00 AMSee all 25 platforms in the Claude Code social media guide, compare agents on the AI agents overview, read about the Postiz MCP server, or check pricing. For the channel itself, seeYouTube scheduling features in Postiz.
YouTube and Claude Code: frequently asked questions
How do I upload a video to YouTube from Claude Code?
Add the Postiz MCP server to Claude Code, sign in with OAuth, and connect your YouTube channel in Postiz. Then ask Claude Code to upload a specific video file with a title and visibility. It uploads the file through Postiz, applies the YouTube settings you mentioned, and schedules or publishes the video.
Can Claude Code set a custom thumbnail on a YouTube upload?
Yes. Name the image file and Claude Code uploads it through Postiz and sets the thumbnail field with the resulting id and path. You can also ask it to generate a thumbnail first when you use the custom Postiz MCP link, which includes image generation tools.
Can Claude Code upload a YouTube video as unlisted or private?
Yes. The YouTube type setting accepts public, unlisted, or private. Ask for a private upload when the team needs to review it, or unlisted when you want to share a link without listing it on the channel. Claude Code sets the value and confirms it before the upload runs.
Can Claude Code clip a long video into shorts before uploading?
Yes, over the custom MCP link. The Postiz MCP server includes a clipping tool that cuts highlights from a long video, so you can ask Claude Code to clip the best minute of a webinar and upload it to YouTube. The Claude.ai directory connector does not include clipping, image, or video generation.
Can I schedule YouTube uploads from CI with Claude Code?
Yes. Run claude -p with your prompt from a script or pipeline that has access to the video file and the Postiz MCP server or skill. Claude Code uploads the video, sets title, tags, and visibility, schedules the publish time through Postiz, and exits without an interactive session.
Start posting to YouTube
Install Postiz Agent and automate your YouTube content strategy with AI-powered scheduling and publishing.