doodle top mobile

Upload to YouTube from Hermes Agent

Hermes Agent can upload and schedule YouTube videos through Postiz. After you add the Postiz skill, you send Hermes a video file and a description from Telegram, Discord, Slack, or the CLI. It uploads the video and thumbnail, sets the title, visibility, tags, and made-for-kids declaration, and schedules the publish time.

Setup GuideGitHub

Please make sure there is always a human in the loop.

Last updated: September 2026

doodle left mobiledoodle right mobile

Post to YouTube in Seconds

Setup, then just ask

# One-time setup
npx skills add gitroomhq/postiz-agent
export POSTIZ_API_KEY=your_api_key

# Then just ask Hermes Agent:
> Upload demo.mp4 to YouTube as public
  with a title and tags, tomorrow at noon

Hermes Agent: Done! Your YouTube post is scheduled.

YouTube-Specific Features

🎬

Video Uploads

Hand Hermes Agent 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 to upload to YouTube from Hermes Agent

You describe what you want in plain language and Hermes Agent handles the Postiz calls for you. Here is how a typical conversation goes.

1

Find Your YouTube Integration

Ask Hermes Agent whether your YouTube account is connected. It also checks which options the platform supports.

Example conversation

> Is my YouTube account connected to Postiz?

Hermes Agent: Yes — your YouTube account is connected
  and ready. Want me to post something?
2

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

Hermes Agent: Here's a draft for YouTube:
  "We just shipped something big..."
  Want me to add media and schedule it?
3

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

Hermes Agent: Done! Scheduled on YouTube for
  tomorrow at 9:00 AM.

YouTube Settings Reference

Mention any of these in plain language and Hermes Agent sets them for you. These are the YouTube options it can apply to any post.

FieldTypeDescription
__typestringMust be "youtube"
titlestringVideo title (2-100 characters)
typestringVisibility: "public", "unlisted", or "private"
selfDeclaredMadeForKidsstringKids content declaration: "yes" or "no"
thumbnailobjectCustom thumbnail: {id: string, path: string}
thumbnail.idstringUploaded thumbnail file ID
thumbnail.pathstringPublic URL of the thumbnail image
tagsarrayVideo tags: [{value: string, label: string}]
tags[].valuestringTag value used internally
tags[].labelstringTag display label

Common Configurations

Ask Hermes Agent 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

Hermes Agent: Got it. Applying:
  title: How to Build a REST API in 10 Minutes
  type: public
  selfDeclaredMadeForKids: no
  tags: Tutorial, API, Coding

Unlisted Video with Custom Thumbnail

Just ask

> Post it with: Unlisted Video with Custom Thumbnail

Hermes Agent: Got it. Applying:
  title: Team Meeting Recording - March 2025
  type: unlisted
  selfDeclaredMadeForKids: no
  thumbnail: id=thumb-abc123, path=https://uploads.postiz.com/thumb.jpg

Kids Content Video

Just ask

> Post it with: Kids Content Video

Hermes Agent: Got it. Applying:
  title: Learn Colors with Fun Animations
  type: public
  selfDeclaredMadeForKids: yes
  tags: Kids, Educational, Colors

Private Draft Video

Just ask

> Post it with: Private Draft Video

Hermes Agent: Got it. Applying:
  title: Draft - Upcoming Product Launch
  type: private
  selfDeclaredMadeForKids: no

What is Hermes Agent?

Hermes Agent is an open-source AI agent from Nous Research, released under the MIT license. It runs on your own machine or server, you talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or the CLI, and it executes tools such as the Postiz skill to post to YouTube and other channels. It works with Nous Portal, OpenRouter, OpenAI, or your own model endpoint.

💬

Message From Anywhere

Talk to Hermes from Telegram, Discord, Slack, WhatsApp, Signal, email, or the terminal. Ask for a YouTube post from whichever app you already have open.

⏰

Built-in Cron Scheduler

Create recurring jobs in plain language, such as weekdays at 9am. Hermes drafts and schedules YouTube content through Postiz and reports back to your chat.

🔧

Open Source, Any Model

Hermes Agent is MIT licensed and self-hosted. Run it on Nous Portal, OpenRouter, OpenAI, or your own endpoint, and extend it with MCP servers or skills like Postiz.

How Postiz Works with Hermes Agent

Postiz ships as an agent skill in the agentskills.io SKILL.md format that Hermes Agent reads. The skill documents every Postiz CLI command, the credentials it needs, and the YouTube settings, so Hermes knows how to list your channels, upload media, and create posts without any custom code.

  • ✓Install the Postiz CLI (npm install -g postiz) and add the skill with npx skills add gitroomhq/postiz-agent
  • ✓Hermes loads skills from ~/.hermes/skills and shows them with hermes skills list
  • ✓Authenticate with POSTIZ_API_KEY, or run postiz auth:login for an OAuth device flow
  • ✓Every Postiz command returns JSON, so Hermes can chain discovery, upload, and posting
  • ✓Prefer MCP? Add https://mcp.postiz.com/mcp-oauth-dynamic under mcp_servers in ~/.hermes/config.yaml

Install Postiz

# Install the Postiz CLI and skill
npm install -g postiz
npx skills add gitroomhq/postiz-agent

# Authenticate: API key or OAuth device flow
export POSTIZ_API_KEY=your_api_key
# or: postiz auth:login

# Confirm Hermes can see the skill
hermes skills list

YouTube Uploading with Hermes Agent

Message Hermes Agent from any platform — it reads the Postiz skill, discovers your YouTube integration, and handles the entire upload workflow autonomously.

🧠

From Any Chat App

Telegram, Discord, Slack, WhatsApp, Signal

Send a message to Hermes Agent from your favorite chat app. Its gateway runs in the background, so it picks up your message, discovers your YouTube account via Postiz, uploads the video with thumbnail, and schedules the publish — all while you go about your day.

Hermes Agent

You: Post to YouTube about our new
  feature launch, schedule for tomorrow
  at 9am

Hermes: I'll handle that! Let me:
  1. Find your YouTube integration
  2. Compose your post content
  3. Schedule for tomorrow 9:00 AM

  Done! Post scheduled successfully.
  Post ID: abc-123
🧠

Scheduled & Proactive

Built-in Hermes cron jobs

Hermes Agent has a built-in cron scheduler. Create a recurring job in plain language and Hermes drafts and schedules your YouTube content through Postiz on that schedule, then reports back to whichever chat you use.

Hermes cron job

# From the terminal
hermes cron create "weekdays at 9am" \
  "Check ~/content/youtube for new posts.
   Upload any media with postiz upload,
   then schedule each one to YouTube
   for noon today via Postiz. Move posted
   files to ~/content/published."

# Or from any chat with Hermes
/cron add "weekdays at 9am" "Schedule
  today's YouTube post via Postiz"

Why Hermes Agent + Postiz for YouTube

Hermes Agent makes Postiz a natural fit for your YouTube workflow. The agent discovers all available commands and autonomously chains them together.

  • ✓Hermes Agent is MIT licensed and Postiz has a public API, so nothing is locked in
  • ✓Chat-first: ask for a YouTube post from Telegram, Discord, Slack, WhatsApp, or Signal
  • ✓Cron jobs in plain language for hands-free recurring YouTube posts
  • ✓Cross-post to YouTube and other channels in one request, each with its own settings
  • ✓Model-agnostic: run Hermes on Nous Portal, OpenRouter, OpenAI, or your own endpoint
  • ✓Credentials stay in Postiz; Hermes only holds a Postiz API key or OAuth session

SKILL.md (what Hermes reads)

---
name: postiz
description: Postiz is a tool to schedule
  social media and chat posts to 28+
  channels including YouTube
homepage: https://docs.postiz.com/public-api/introduction
---

# Commands Hermes can run
postiz auth:status
postiz integrations:list
postiz integrations:settings <id>
postiz upload <file>
postiz posts:create -i <id> -c "..." -s <iso>
postiz posts:list
postiz analytics:platform <id>

# YouTube settings
title, type, selfDeclaredMadeForKids, thumbnail, tags

Using a different agent for YouTube?

Postiz works with any AI agent that can run CLI commands or call MCP tools, and the YouTube settings on this page are the same for every agent. Read the same guide for Claude Code, OpenClaw, Codex. Or see the guide for any AI agent and the Postiz MCP server.

YouTube + Other Platforms

Schedule the same video to YouTube and other platforms in a single request. Each platform gets its own settings.

Example

> Post "Excited to announce our new feature!" to
  YouTube and LinkedIn tomorrow at 9am, then schedule
  a daily tip on YouTube every weekday at 10am

Hermes Agent: Done! Scheduled:
  - YouTube + LinkedIn: tomorrow 9:00 AM
  - Daily tips on YouTube: Mon-Fri 10:00 AM

What can you ask Hermes Agent to do on YouTube?

You can ask Hermes Agent to create, schedule, cancel, and measure YouTube posts in plain language. These are the kinds of requests it handles through Postiz.

Ask Hermes Agent

> Upload demo.mp4 to YouTube as an unlisted video titled "Postiz + Hermes demo" with tags automation and ai, tomorrow at noon.

Hermes uploads the video, sets type: unlisted, title, and tags, and schedules it.

Ask Hermes Agent

> Publish tutorial.mp4 publicly with thumb.png as the custom thumbnail and mark it not made for kids.

Hermes uploads both files, sets thumbnail id and path, selfDeclaredMadeForKids: no, and type: public.

Ask Hermes Agent

> How did last week's YouTube upload perform compared with the channel average?

Hermes runs postiz analytics:post and analytics:platform and compares the numbers.

YouTube rules Hermes Agent has to follow

Postiz validates every YouTube post before it is scheduled, so these limits and required settings decide whether a request succeeds.

  • ▸YouTube requires a video file. The post content becomes the video description, and title is a separate required setting of 2 to 100 characters.
  • ▸Visibility (type) is required: public, unlisted, or private. Say which one you want or Hermes will ask.
  • ▸Custom thumbnails must be uploaded with postiz upload first, then referenced by id and path.
  • ▸Tags are value/label pairs. Long tag lists count against YouTube's 500-character total tag limit.

Hermes Agent and YouTube: frequently asked questions

Can Hermes Agent upload videos to YouTube?

Yes. With the Postiz skill installed, Hermes Agent uploads your video through postiz upload, sets the title, description, visibility, tags, thumbnail, and made-for-kids flag, and schedules the publish time on your connected YouTube channel. You describe what you want in plain language from any chat Hermes is connected to.

How do I connect YouTube to Hermes Agent?

Connect your YouTube channel in the Postiz dashboard, then install the Postiz skill in Hermes with npx skills add gitroomhq/postiz-agent and set POSTIZ_API_KEY. Hermes finds the channel with postiz integrations:list. Your Google login stays in Postiz; Hermes only holds the Postiz API key or OAuth session.

Can Hermes Agent set a custom thumbnail on YouTube?

Yes. Give Hermes the thumbnail image and it uploads the file with postiz upload, then passes the returned id and path in the thumbnail setting. The thumbnail must be uploaded through Postiz; a raw file path or external URL is rejected when the video is published.

Can Hermes Agent schedule a YouTube video as unlisted or private?

Yes. The type setting accepts public, unlisted, or private. Ask for an unlisted upload when you want a shareable link without listing it, or private for internal review. You can later ask Hermes to change the status of a draft or queued post in Postiz.

Can Hermes Agent publish YouTube videos on a recurring schedule?

Yes. Use Hermes Agent's cron scheduler: hermes cron create "every tuesday 11am" with a prompt to take the newest file in your videos folder, write a title and description, and schedule it via Postiz. Hermes runs the job unattended and sends a summary to your chat.

Start posting to YouTube

Install Postiz Agent and automate your YouTube content strategy with AI-powered scheduling and publishing.