GCGemini CLI+YouTube

Upload to YouTube from Gemini CLI

Gemini CLI can upload Shorts and videos on YouTube through ClipSpeed. Add the ClipSpeed server with one command, sign in, and then ask Gemini CLI to upload Shorts and videos, pick the time, and apply YouTube's settings, without leaving the terminal.

Posting todayStandard MCP route · not yet verified by us

Keep a human in the loop: Gemini CLI shows the plan and asks before anything is public. Posting today: YouTube, TikTok, Instagram, X (Twitter) and LinkedIn.

Gemini CLI
Upload clip 3 as a Short now, title it from the hook, keep it public. Preview first.
Preview — nothing booked yet. Would schedule on: • YouTube — privacy_status: public · no scheduled_at (first open slot) Times are in America/New_York. Book it?
via ClipSpeed · YouTube

Also try

How to upload YouTube from Gemini CLI

One command registers the server in Gemini CLI's settings. Start gemini, run /mcp auth clipspeed to sign in, and the tools are available. Connect YouTube in ClipSpeed, then describe the post. Setup takes about a minute.

setup once, then just ask
# One-time setup (OAuth, no API key)
gemini mcp add --transport http clipspeed https://api.clipspeed.ai/mcp

# Then ask Gemini CLI:
> Upload clip 3 as a Short now, title it from the hook, keep it public
Gemini CLI: Preview — nothing booked yet. YouTube — privacy_status: public. Book it?

ClipSpeed has not yet run an end-to-end check inside Gemini CLI. The server is standard MCP over streamable HTTP, which Gemini CLI supports; the flags above are Gemini CLI's documented ones.

  1. Run gemini mcp add --transport http clipspeed https://api.clipspeed.ai/mcp.
  2. Start gemini and run /mcp. Authenticate clipspeed; approve the ClipSpeed sign-in in the browser.
  3. Ask it to list your channels.
  4. Connect YouTube in the ClipSpeed app, or ask Gemini CLI for a connect link: it is private, valid for ten minutes, and YouTube signs you in itself.

What can Gemini CLI do on YouTube?

On YouTube, Gemini CLI can upload Shorts and full videos with a title, description, hashtags and a privacy setting. Every booking runs through the same rules as the ClipSpeed app.

Video posts

YouTube takes video through ClipSpeed. Video: MP4, MOV or WebM up to 1 GB by public link, or a finished ClipSpeed clip by clip_id.

5,000 characters, checked at booking

YouTube's own arithmetic. Too long is refused with the real count, never trimmed at send time. Titles are required and cap at 100.

Exact time or refused

Name the minute and Gemini CLI books it, or you are told why not and offered the next open slot. A booked YouTube post is never moved behind your back.

Preview before anything posts

preview: true runs the whole booking and writes nothing. Gemini CLI shows the plan, with each slot and the day's remaining cap, and books only on your yes.

Clips cut in the same session

Submit a video or stream link, get captioned 9:16 clips with a viral score, and post the best as native video on YouTube. No download, no re-upload.

Pacing and numbers

Video on YouTube is at least 4 hours apart, up to 4 a day under your plan. After a post goes out, Gemini CLI can read back views and engagement where YouTube provides them.

How does Gemini CLI post to YouTube through ClipSpeed?

You describe what you want in plain language and Gemini CLI makes the ClipSpeed calls. A typical conversation has three beats.

1

Find your YouTube channel

Ask Gemini CLI whether YouTube is connected. It calls list_channels and reads platform_settings, so it also knows what YouTube accepts and the limits before you write a word.

Is my YouTube account connected to ClipSpeed?
Yes — YouTube is connected and takes video posts, text up to 5,000. Want me to post something?
2

Compose within the rules

Describe the post. Gemini CLI drafts within YouTube's limits; mention a clip or a file and it attaches it.

Draft a YouTube post about the launch with the best clip from the demo.
Here's the draft (4000/5,000): "…" Clip 2 (score 88) attached. Want me to schedule it?
3

Schedule or publish

Name a time, or say now. The slot is booked exactly or refused with the next open one, and the reply carries the id you can cancel or edit by.

Yes — tomorrow at 9am.
Scheduled on: • YouTube — Tue, 9:00 AM · id 7c2… Times are in America/New_York.

YouTube settings reference

These are the schedule_post fields that apply to YouTube. Mention any of them in plain language and Gemini CLI sets them; the server checks them at booking.

FieldTypeRequiredWhat it does on YouTube
platformsstring[]YesInclude "youtube". Up to ten platforms per call; each books its own slot.
titlestringYesThe video title. YouTube requires one; up to 100 characters.
textstringNoThe description, up to 5,000 characters. Links stay clickable.
hashtagsstring[]NoAppended to the description; the first three show above the title on YouTube. They count toward the 5,000.
privacy_statuspublic | unlisted | privateNoDefaults to public. Ask for unlisted when you want to review the upload on YouTube before anyone sees it.
clip_id or media_urlstringOne of the twoA finished ClipSpeed clip from check_clips, or a public https link to an MP4, MOV or WebM up to 1 GB.
scheduled_atISO 8601NoBooked exactly or refused with the next open slot. Omit it to upload as soon as a slot is free.
previewbooleanNotrue books nothing and returns the exact slot each upload would get.

Common YouTube configurations

Ask Gemini CLI for any of these and it applies the matching settings.

Short, public, as soon as possible

Upload clip 3 as a Short now, title it from the hook, keep it public
Got it. Applying: privacy_status: public · no scheduled_at (first open slot) · clip_id from check_clips

Unlisted for review first

Upload it unlisted so I can watch it on YouTube before it goes live
Got it. Applying: privacy_status: unlisted · you flip it to public in YouTube Studio

Scheduled premiere-style drop

Put the full episode up Friday at 6pm Eastern with this description
Got it. Applying: scheduled_at: 2026-11-20T18:00:00-05:00 · media_url: the finished MP4

Dry run of a week of Shorts

Plan one Short a day at 11am next week from this project, but don't book anything yet
Got it. Applying: preview: true · seven calls, one per day · you approve, then it books

Example prompts for YouTube in Gemini CLI

Type these into the terminal, or pass one to terminal in a script. Gemini CLI calls ClipSpeed and confirms before publishing.

Just ask

Upload YouTube with a scheduled time

Upload clip 3 as a Short now, title it from the hook, keep it public. Keep the text under 5,000 characters. Preview first.
Clips first

Cut the clips, then post the best

Clip this link, keep the top three by viral score, and schedule them to YouTube at 11am, 3pm and 7pm tomorrow with titles written from each hook. Show me the plan before booking.
Headless

From a script with Gemini CLI

gemini -p "Summarise the changes since the last git tag as one YouTube post under 5,000 characters with a title. Schedule it via ClipSpeed for today at 10am; preview first and book if nothing is refused."

YouTube limits and gotchas to know

YouTube enforces a few rules that Gemini CLI and ClipSpeed respect automatically, but knowing them helps you phrase requests.

  • A title is required and capped at 100 characters. Ask the agent to write the title from the clip's hook line; the booking is refused, not trimmed, if it runs long.
  • YouTube takes video only. A text-only or image request to YouTube is refused at booking with the message "YouTube takes video posts, not text".
  • privacy_status defaults to public. Say "unlisted" or "private" in the prompt when you want to check the upload on YouTube first.
  • Uploads are spaced four hours apart on the same channel and capped at your plan's daily number. A second upload inside that window is refused with the next open slot, never silently moved.
  • Shorts are detected by YouTube from a vertical 9:16 frame under three minutes. ClipSpeed clips already come out 9:16; a 16:9 source uploads as a standard video.
RuleYouTube
AcceptsVideo
Text limit5,000 characters
Title100 characters, required
Links in the captionKept
PacingVideo on YouTube is at least 4 hours apart, up to 4 a day under your plan.
FormatsVideo: MP4, MOV or WebM up to 1 GB by public link, or a finished ClipSpeed clip by clip_id. Aspect: 9:16 vertical for Shorts, 16:9 for standard uploads
StatusPosting today

What Postiz-style schedulers cannot do

Cut the clips first

Gemini CLI does not need finished video to start. Hand it a YouTube link, a podcast, a stream VOD or a local export. ClipSpeed finds the moments, cuts them to 9:16 with word-by-word captions, scores each one 0 to 100 for shareability, and returns them in the same conversation. Gemini CLI picks by score, writes the caption from the transcript, and books the clips on YouTube. Three tool calls, one approval, no download and no re-upload.

  • Clips arrive with a title written from the hook, a transcript and a viral score, so the agent can choose and caption without watching the footage.
  • Live streams can be clipped while they are still on air; the agent books the highlights for the next morning before the stream ends.
  • Every clip is already hosted, so schedule_post takes its id directly. Nothing moves through your laptop.
1
submit_to_clipspeedPaste the link. ClipSpeed starts the job and returns a project id.
2
check_clipsPoll with the project id. Back come the finished 9:16 clips with titles, transcripts, viral scores and preview links.
3
schedule_postPass the clip id, the platforms, a caption and a time. Gemini CLI shows the plan with preview: true, you say yes, it books.
1
generate_image or generate_videoDescribe the shot. ClipSpeed runs it on the model that fits (Seedance, Kling, Veo, Nano Banana Pro, GPT Image and others) and quotes the credits first.
2
wait_for_generationReturns the hosted result link and a preview the agent can show you.
3
schedule_post with media_urlThe result link goes straight into the booking on YouTube. The caption, the time and the file are approved together.

The other half nobody else has

Generate the video, then post it

A product shot for Instagram, a 16:9 announcement graphic for X, a six-second opener before a clip: Gemini CLI can make a short video with ClipSpeed's image and video models and book the result in the same reply. There is no separate design tool, no export, no upload page. The generated file is hosted, so media_url is the only thing the booking needs.

  • The price in credits is quoted before anything renders, within the per-generation and daily caps you set in Settings.
  • Results are previewed in the conversation, so you approve the picture and the post at once.
  • video posts as MP4, MOV or WebM up to 1 GB.

What is Gemini CLI?

Gemini CLI is Google's open-source terminal agent built on the Gemini models. It reads your project, runs commands and connects to MCP servers over HTTP. With ClipSpeed registered, it can clip a video, generate media and schedule posts from a terminal session or from a script.

How ClipSpeed works with Gemini CLI

  • gemini mcp add writes the server into ~/.gemini/settings.json
  • Gemini CLI discovers the tools at start and reads platform_settings before composing
  • schedule_post is exact or refused with the next open slot
  • preview: true for a dry run
  • gemini -p for unattended runs

Gemini CLI vs Claude Code vs Codex: Gemini CLI (terminal), Claude Code (terminal), Codex (terminal). This page is about Gemini CLI; the Gemini CLI guide compares them.

~/.gemini/settings.json
{
  "mcpServers": {
    "clipspeed": {
      "httpUrl": "https://api.clipspeed.ai/mcp"
      // no browser? add:
      // "headers": { "Authorization": "Bearer csai_live_..." }
    }
  }
}
tool list (abridged)
# What the agent reads at connect time (tool descriptions, abridged)
list_channels           Connected platforms, what each accepts, limits, your time zone
connect_channel         A private 10-minute link to connect one platform
platform_settings       Limits, title rules, link handling, pacing per platform
schedule_post           clip_id | text | media_url → platforms[], scheduled_at, preview
list_scheduled_posts    Scheduled, sending, posted, failed — with post links
update_scheduled_post   Edit copy while still scheduled (the time never moves)
cancel_scheduled_post   Cancel; undoable 72 h in the app
post_analytics          Views, likes, comments, shares where the platform gives them
submit_to_clipspeed     Start clipping a video or stream link → projectId
check_clips             Finished 9:16 clips with titles, transcripts, viral scores
generate_image / generate_video / wait_for_generation

# YouTube: video · text 5,000 · title 100 required

Upload to YouTube and other platforms from Gemini CLI

One request can book the same content to YouTube and other channels, each keeping its own settings and its own slot. Every platform below has its own Gemini CLI guide.

Post the launch to YouTube and TikTok tomorrow at 9am, then a daily tip on TikTok every weekday at 10am. Preview first.
Preview — nothing booked yet: • YouTube — Tue 9:00 AM • TikTok — Tue 9:00 AM • TikTok daily tips — Mon–Fri 10:00 AM Book it?

Also works with

YouTube and Gemini CLI: frequently asked questions

How do I upload to YouTube from Gemini CLI?

Run gemini mcp add --transport http clipspeed https://api.clipspeed.ai/mcp. Start gemini and run /mcp. Authenticate clipspeed; approve the ClipSpeed sign-in in the browser. Connect YouTube in ClipSpeed (or ask Gemini CLI for a connect link; it is private and valid for ten minutes), then describe the post in plain language. Gemini CLI reads the YouTube rules, drafts within them, shows the plan and books on your yes.

What can Gemini CLI post to YouTube through ClipSpeed?

Upload Shorts and full videos with a title, description, hashtags and a privacy setting. YouTube takes video posts; a text-only request is refused with a message naming what it accepts. Text is limited to 5,000 characters. A title is required and is capped at 100 characters.

Which YouTube settings can Gemini CLI control?

The fields in the settings reference above: title, text, hashtags, privacy_status, clip_id or media_url, scheduled_at, preview. Mention any of them in plain language ("unlisted", "tomorrow at 9", "preview first") and Gemini CLI sets the matching field before it books.

Do I need a YouTube API key or developer account?

No. You connect YouTube to ClipSpeed once through YouTube's own sign-in, and Gemini CLI talks to ClipSpeed over OAuth. No YouTube developer key, bearer token or password is pasted anywhere.

How many YouTube posts a day can Gemini CLI schedule?

Video on YouTube is at least 4 hours apart, up to 4 a day under your plan. When a time is taken, the booking is refused with the next open slot rather than moved. Ask for preview to see a day's plan and the remaining cap before anything is booked.

Can Gemini CLI post to YouTube from a script or a cron job?

Yes. Gemini CLI's headless mode (terminal) runs one prompt and exits, and the ClipSpeed server registered on that machine does the booking. On a runner with no browser, authenticate with a ClipSpeed API key header. Keep preview on so the run reports a plan before it books.

Is posting to YouTube from Gemini CLI different from Claude Code?

The booking is identical: the same rules, the same calendar, the same refusals. What differs is where you work. Gemini CLI: terminal; headless with gemini -p. Claude Code: terminal, verified end to end; claude -p.

Start posting to YouTube from Gemini CLI

Connect ClipSpeed to Gemini CLI once, connect YouTube, and the next post is a sentence away. $1 starts the trial; scheduling is on every plan.

Gemini is a trademark of Google LLC. ClipSpeed is an independent product and is not affiliated with or endorsed by Google.

YouTube is a trademark of its owner. ClipSpeed is not affiliated with YouTube; names are used to describe compatibility. Status badges come from ClipSpeed's own rail and change when the facts do.

Scheduling is included on every paid ClipSpeed plan. The $1 trial starts the same account. Plans · Status · MCP reference

ClipSpeedAI

AI video, AI images, AI influencers and AI clipping on one credits wallet, in the web app and inside Claude and ChatGPT.

Start creating
© 2026 ClipSpeedAITerms · Privacy · DMCA