doodle top mobile

Automate YouTube with Grok Bot

Upload videos, set visibility, add custom thumbnails and tags, manage kids content declarations — all from the command line or through your AI agent.

Setup GuideMarketplace

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

doodle left mobiledoodle right mobile

Post to YouTube in Seconds

Grok Bot

# In any Bot chat, add the Postiz plugin
/add-plugin postiz

# Store POSTIZ_API_KEY as a Bot secret when prompted.
# Your Bot can now run Postiz on its cloud computer:

# Find your YouTube integration
postiz integrations:list

# Upload a video
VIDEO=$(postiz upload video.mp4)
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')

# Schedule a YouTube upload
postiz posts:create \
  -c "Description of my awesome video" \
  -m "$VIDEO_URL" \
  -s "2025-01-15T10:00:00Z" \
  --settings '{"title":"My Awesome Video","type":"public","selfDeclaredMadeForKids":"no"}' \
  -i "your-youtube-integration-id"

YouTube-Specific Features

🎬

Video Uploads

Upload videos directly via the CLI. 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 It Works

1

Find Your YouTube Integration

List your connected accounts and grab your YouTube integration ID. You can also fetch available settings to see what options are supported.

Discovery

# List all integrations
postiz integrations:list

# Filter for YouTube
postiz integrations:list | jq \
  '.[] | select(.identifier=="youtube")'

# Get YouTube settings schema
postiz integrations:settings <youtube-id>
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.

Upload

# Upload video and extract URL
RESULT=$(postiz upload video.mp4)
VIDEO_URL=$(echo "$RESULT" | jq -r '.path')

# Upload custom thumbnail
THUMB=$(postiz upload thumbnail.jpg)
THUMB_ID=$(echo "$THUMB" | jq -r '.id')
THUMB_PATH=$(echo "$THUMB" | jq -r '.path')

echo $VIDEO_URL
# https://uploads.postiz.com/your-video.mp4
3

Create Your Post

Schedule a YouTube upload with your video, description, title, visibility settings, tags, and optional thumbnail.

Post Creation

postiz posts:create \
  -c "Full video description here" \
  -m "$VIDEO_URL" \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "My Tutorial Video",
    "type": "public",
    "selfDeclaredMadeForKids": "no",
    "thumbnail": {
      "id": "thumb-id",
      "path": "thumb-url"
    },
    "tags": [
      {"value": "tutorial", "label": "Tutorial"},
      {"value": "coding", "label": "Coding"}
    ]
  }' \
  -i "youtube-id"

YouTube Settings Reference

Every YouTube post accepts these platform-specific settings via the --settings flag.

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

Copy-paste these settings for common YouTube uploading scenarios.

Public Video with Tags

settings.json

{
  "title": "How to Build a REST API in 10 Minutes",
  "type": "public",
  "selfDeclaredMadeForKids": "no",
  "tags": [
    {"value": "tutorial", "label": "Tutorial"},
    {"value": "api", "label": "API"},
    {"value": "coding", "label": "Coding"}
  ]
}

Unlisted Video with Custom Thumbnail

settings.json

{
  "title": "Team Meeting Recording - March 2025",
  "type": "unlisted",
  "selfDeclaredMadeForKids": "no",
  "thumbnail": {
    "id": "thumb-abc123",
    "path": "https://uploads.postiz.com/thumb.jpg"
  }
}

Kids Content Video

settings.json

{
  "title": "Learn Colors with Fun Animations",
  "type": "public",
  "selfDeclaredMadeForKids": "yes",
  "tags": [
    {"value": "kids", "label": "Kids"},
    {"value": "educational", "label": "Educational"},
    {"value": "colors", "label": "Colors"}
  ]
}

Private Draft Video

settings.json

{
  "title": "Draft - Upcoming Product Launch",
  "type": "private",
  "selfDeclaredMadeForKids": "no"
}

What is Grok Bot?

Grok Bot is the always-on AI teammate product from xAI and Cursor. You create named Bots, give each one a job, and they work 24/7 on their own persistent cloud computer — with a browser, a filesystem, and a terminal — pinging you only when they need approval.

Grok Bot is not the Grok chatbot. Grok is the assistant you chat with on X and grok.com. Grok Bot is a separate app for delegating real, multi-step work — like running your YouTube presence with Postiz.

💻

Own Cloud Computer

Every Bot gets a persistent cloud machine with a terminal. Postiz runs there, so your YouTube posts go out even when your laptop is closed.

🔁

Routines

Turn any task into a routine that runs on a schedule. Your Bot drafts, schedules, and reports on YouTube content without being asked twice.

🛡️

Approvals Built In

Bots ask before changing external systems. Review the YouTube posts your Bot prepared in Postiz, approve, and it publishes.

How Postiz Works with Grok Bot

Postiz is listed on the Grok Bot plugin marketplace. Add it to a Bot and the Postiz skill, CLI, and command reference are installed on its cloud computer — the Bot can then manage your YouTube workflow on its own.

  • Type /add-plugin postiz in a Bot chat, or add it from the Plugins sidebar
  • Store your POSTIZ_API_KEY as a Bot secret when prompted
  • The Bot reads the bundled SKILL.md and learns every Postiz command
  • Works in every Bot on your shared workspace, on desktop and iPhone
  • Approvals keep a human in the loop before anything is published

Grok Bot

# 1. Add the plugin to your Bot
/add-plugin postiz

# 2. Store your Postiz API key
#    as a secret when prompted

# 3. Ask your Bot to verify
You: Find my YouTube channel in Postiz

Bot: Running postiz integrations:list
  Found your YouTube integration.
  All Postiz commands are ready.

YouTube Uploading with Grok Bot

Your Bot reads the Postiz skill, discovers your YouTube integration, and handles the entire posting workflow — from content creation to scheduling — on its own cloud computer.

🧠

Message Your Bot

Desktop, iPhone, or a group chat

Send a message to your Bot from the desktop app or your iPhone. It runs on its own cloud computer, so it picks up your message, discovers your YouTube account via Postiz, uploads your media, and schedules the post — then asks you to approve before it goes live.

Grok Bot

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

Bot: Got it! Here's the plan:
  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
🧠

Routines

Recurring work on a schedule

Save the task as a routine. Your Bot runs it on a schedule from the cloud, checks for new content, and posts it to YouTube automatically — no manual trigger needed.

Grok Bot routine

Routine: daily-youtube-posts
Schedule: Weekdays at 9:00 AM

Instructions:
  Check ~/content/posts on your cloud
  computer for new .txt files. For
  each one, read the content and
  schedule a post to YouTube for
  today at noon via Postiz. Move
  posted files to ~/content/published
  and send me a summary.

Why Grok Bot + Postiz for YouTube

Grok Bot makes Postiz a natural fit for your YouTube workflow. The Bot reads the plugin's skill, chains the right commands together, and keeps running from the cloud.

  • Official plugin — one command install from the marketplace
  • Always on — posts to YouTube from the cloud while you are away
  • Terminal access runs Postiz commands directly on the Bot's computer
  • Routines for hands-free daily posting
  • Cross-post to YouTube + other platforms in a single conversation
  • Approvals keep a human in the loop before publishing

SKILL.md (bundled in the plugin)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including YouTube
metadata:
  grok-bot:
    plugin: postiz
    secrets:
      - 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, tags

Also Works with Claude Code

Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including Anthropic's Claude Code.

C

Claude Code

by Anthropic

Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your YouTube integration, uploads your video and thumbnail, applies tags and visibility settings, and schedules the upload.

Claude Code

> Upload my tutorial video to YouTube
  as public with tags "coding" and
  "tutorial", schedule for tomorrow

Claude will automatically run:
  postiz integrations:list
  postiz upload ./tutorial.mp4
  postiz upload ./thumbnail.jpg
  postiz posts:create \
    -c "Full tutorial description" \
    -m "uploaded-video-url" \
    -s "2025-03-02T09:00:00Z" \
    --settings '{"title":
      "My Tutorial Video",
      "type":"public",
      "selfDeclaredMadeForKids":"no",
      "tags":[{"value":"coding",
        "label":"Coding"},
        {"value":"tutorial",
        "label":"Tutorial"}]}' \
    -i "youtube-id"

YouTube + Other Platforms

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

Terminal

# Post a video to YouTube and TikTok simultaneously
postiz posts:create \
  -c "New tutorial is live! #coding #tutorial" \
  -m "$VIDEO_URL" \
  -s "2025-03-01T09:00:00Z" \
  --settings '{
    "title": "Build a REST API in 10 Minutes",
    "type": "public",
    "selfDeclaredMadeForKids": "no",
    "tags": [
      {"value": "tutorial", "label": "Tutorial"},
      {"value": "api", "label": "API"}
    ]
  }' \
  -i "youtube-id,tiktok-id"

# Batch schedule a week of YouTube uploads
for day in 1 2 3 4 5; do
  postiz posts:create \
    -c "Episode $day of our coding series" \
    -m "episode${day}-video-url" \
    -s "2025-03-0${day}T15:00:00Z" \
    --settings '{"title":"Coding Series Ep '$day'","type":"public","selfDeclaredMadeForKids":"no"}' \
    -i "youtube-id"
done

Start posting to YouTube

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

Ready to get started?

Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.

Grow your social media presence with Postiz.