ChirpieDocs
Platforms

YouTube upload API for AI agents

How Chirpie lets an AI agent upload a YouTube video or Short from one API call or an MCP tool, with a title, a description and scheduling.

Updated October 2026

How do you upload to YouTube from an AI agent?

Connect a YouTube channel to Chirpie, then send one request with the video and its text, or ask your agent in Claude or ChatGPT. Chirpie fetches the video, runs YouTube's resumable upload, and sets the title and description from your text, so the agent never handles Google's OAuth or the upload protocol itself.

YouTube is coming soon to Chirpie.

What Chirpie does on YouTube

  • Uploads a video: one video per post, up to 256 MB, published as a public video.
  • Writes the metadata from your text: the first 100 characters become the title, and the full text, up to 5,000 characters, becomes the description.
  • Handles Shorts the same way: a short vertical video uploads through the same call, and YouTube files it as a Short.
  • Schedules uploads: a future schedule_at queues the video, and Chirpie uploads it within about five minutes of that time.
  • Deletes videos: deleting the post in Chirpie removes the video from YouTube too.
  • Checks media first: images and a second video are refused with a clear error before YouTube is called.

How the connection works

You sign in with the Google account that owns the channel and approve Chirpie, from the dashboard or by asking your agent to connect it. Chirpie stores the tokens encrypted and refreshes them on its own, so a scheduled upload still goes out weeks later. The channel then appears in GET /api/v1/accounts with an id your requests name as account_id.

Post from code

curl -X POST https://chirpie.ai/api/v1/posts \
  -H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "YOUR_YOUTUBE_ACCOUNT_ID",
    "text": "How we cut our build time in half. Full write-up and links in the description.",
    "media_urls": ["https://example.com/build-time.mp4"],
    "schedule_at": "2026-11-03T15:00:00Z"
  }'
import { ChirpieClient } from "@chirpie/sdk";

const chirpie = new ChirpieClient({ apiKey: process.env.CHIRPIE_API_KEY });

await chirpie.createPost({
  account_id: "YOUR_YOUTUBE_ACCOUNT_ID",
  text: "How we cut our build time in half",
  media_urls: ["https://example.com/build-time.mp4"],
});

For a large file, upload it first with Media and attach it by id. Every field is in the Posts API reference.

Post from Claude or ChatGPT

Chirpie is listed in the Claude Connectors Directory, so in Claude you add it from the listing and sign in. In ChatGPT, Cursor or any MCP client you add https://chirpie.ai/mcp. Then ask in plain language:

  • "Upload this demo video to YouTube with a title and a two-paragraph description."
  • "Schedule this clip as a Short for tomorrow at 9am."

Setup for each assistant is in Use Chirpie with Claude and the MCP Server page.

Frequently asked questions

Does a YouTube post need a video?

Yes. YouTube has no text-only uploads, so every Chirpie post to YouTube carries exactly one video, up to 256 MB. Images are refused.

Where do the title and description come from?

From the post's text. The first 100 characters become the title, and the whole text, up to 5,000 characters, becomes the description.

Can Chirpie upload YouTube Shorts?

Yes. Chirpie uploads every video the same way, and YouTube itself treats a short vertical video as a Short.

Is the video public?

Yes. Chirpie publishes the upload as a public video.

Can I delete a YouTube video through Chirpie?

Yes. DELETE /api/v1/posts/{id} removes the video from YouTube, and Chirpie keeps its own record of the post marked deleted.

On this page