How to upload to YouTube from ChatGPT

ChatGPT cannot post to YouTube by itself: it writes the post, and a connector — an app built on MCP — does the posting. With PostWire's connector (https://postwire.io/api/mcp) you connect your YouTube channel once, hand over the video through an upload link, approve the title, description and tags that ChatGPT writes with generate_posts, and it uploads the video with post_to_social or schedules it with schedule_post through YouTube's official API. A vertical video of up to 3 minutes shows as a Short. PostWire is not in ChatGPT's app directory yet (submitted to OpenAI's review on Sept 27, 2026), so today you add it as a custom connector in developer mode; in Claude it is already in the connector directory. You create no Google Cloud project, OAuth client or quota request, and the free plan covers YouTube: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card.

Scheduled uploads are published by PostWire's servers, so ChatGPT and your computer can be closed when the hour comes. ChatGPT never sees your Google password: you sign in on Google's own page.

Updated . Written from PostWire's own code; vendor prices read on Oct 29, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.

Set it up and post, step by step

Prompt to copy once YouTube is connected: Write a YouTube title and description for the video I'm about to upload, show them to me, and schedule it unlisted for Tuesday at 10:00 New York time.

  1. Add PostWire as a custom connector

    If your ChatGPT plan offers developer mode, turn it on under Settings → Security and login, then under Settings → Connectors add a custom connector with the URL https://postwire.io/api/mcp and sign in when asked (OAuth). Menu names in ChatGPT change often; OpenAI's help page has the current path. PostWire is not in ChatGPT's app directory yet (submitted to OpenAI's review on Sept 27, 2026). Not available on your plan? Use PostWire in Claude, where it is in the connector directory.

  2. Sign in with your email

    A 6-digit code creates your free PostWire account inside the sign-in window: no password and no card. ChatGPT asks you to confirm a write action such as publishing before it runs.

  3. Connect your YouTube channel

    Ask "connect my YouTube". The connector calls create_connect_link and gives you a one-hour link; open it, sign in on Google's own page and pick the channel. You do this once per channel.

  4. Hand over the video

    A file attached to a ChatGPT message does not reach a connector, so ask for an upload link: create_upload_link returns a page where you pick the video on the phone or laptop that has it (up to 100 MB on the free plan and 1 GB on paid plans); say "uploaded" and the assistant reads it with get_uploaded_file. A public https link works too. Large files are sent to YouTube with its resumable upload, so a slow connection does not start over. No video yet? make_video_from_text turns a few lines into an 8-12 second vertical MP4 (1080×1920), which YouTube shows as a Short.

  5. Approve the title, description and tags

    "Write the title and description." generate_posts returns a draft and publishes nothing: a title with the words people search in its first 40 characters (YouTube takes up to 100), a description whose first lines repeat the promise, 3-5 hashtags, and 5-8 tags. Then say who can see it: public, unlisted (only people with the link) or private.

  6. Upload now, or schedule it

    Say "upload it" and the assistant calls post_to_social; the result carries the video's link. Say "schedule it for Tuesday at 10" and it calls schedule_post, up to 365 days ahead, or with run_at: "next_slot" for your next free posting hour. This is the call:

    {
      "name": "schedule_post",
      "arguments": {
        "platforms": ["youtube"],
        "per_platform": { "youtube": {
          "title": "How we cut our build from 9 minutes to 2",
          "text": "The one change that cut our CI build time.\n\nIn this video: …\n\n#devtools #ci #buildinpublic",
          "tags": ["ci build time", "faster builds", "devops"]
        } },
        "video_url": "https://postwire.io/m/…/build-demo.mp4",
        "privacy": "unlisted",
        "run_at": "2026-11-03T10:00:00-05:00"
      }
    }

"What's scheduled on YouTube?" calls list_scheduled_posts and "cancel Tuesday's upload" calls cancel_scheduled_post; the same queue is on the dashboard's Queue page. Prefer to set it up by hand first? Open the dashboard, connect the account under Accounts and copy your key under API & MCP.

YouTube's rules ChatGPT works within

  • Title up to 100 characters, description up to 5,000; each tag up to 100.
  • A Short or a regular video: YouTube shows a vertical video of up to 3 minutes as a Short, anything else as a regular video. PostWire uploads video only; YouTube takes no text or photo posts this way.
  • Public, unlisted or private, chosen for each upload.
  • Through YouTube's official Data API and the access you grant on Google's own page. No browser automation and no password.

What the queue takes when ChatGPT schedules a YouTube upload

  • Any time up to 365 days ahead: tell ChatGPT your time zone once and it sends the hour with its offset.
  • 3 posts waiting at once on the free plan, out of its 10 posts a month; paid plans (from $9 a month) lift that limit.
  • Published without ChatGPT: the queued upload is stored by PostWire and goes out at its time. Nothing has to stay open.
  • The same video on TikTok too: "upload this to YouTube as a Short and post it to TikTok" sends the file to both, each with its own text. On the free plan one post reaches 2 networks; paid plans add the rest in the same request.
  • A person can have the last word: on paid plans, a brand's approval rules hold what ChatGPT queues until you approve it from an emailed link.

Source: PostWire's MCP server, YouTube integration and plans, read Oct 29, 2026.

What it does not do

ChatGPT with PostWire uploads and schedules your own videos and Shorts. PostWire does not edit or cut the video, does not add videos to playlists, does not post YouTube community posts, and does not read or answer comments. For a Short from a long video, cut the clip first and hand ChatGPT the finished file.

Questions people ask

Can ChatGPT upload to YouTube?

Not by itself. ChatGPT writes the title and description, and a connector uploads the video. With PostWire's connector (https://postwire.io/api/mcp) and your channel connected once, ChatGPT uploads or schedules videos and Shorts after you approve the text.

Do I need a Google Cloud project or YouTube API quota?

No. PostWire's own Google app does the uploading: you sign in on Google's page and pick the channel. No OAuth client to build, no API key from Google and no quota request.

How do I upload a YouTube Short from ChatGPT?

Hand over a vertical video of up to 3 minutes and ask for a Short. YouTube decides what shows as a Short from the video itself: vertical and 3 minutes or less.

Can ChatGPT schedule YouTube uploads?

Yes. It calls schedule_post with a time up to 365 days ahead, or "next_slot" for your next free posting hour, and PostWire uploads the video at that time with ChatGPT closed. The free plan keeps 3 posts waiting at once.

Why doesn't the video I attached in ChatGPT reach YouTube?

Files attached to a chat are not passed to connectors. Ask for an upload link, open it on the device that has the file, then tell ChatGPT it is uploaded. Size: up to 100 MB per file on the free plan and 1 GB on paid plans.

Can the same video go to TikTok and Instagram Reels?

Yes, in the same request, each with its own caption. On the free plan one post goes to 2 networks (for example YouTube and TikTok); paid plans send it to all of them at once.

How much does it cost?

The free plan includes YouTube and the connector: 1 business, 10 posts a month, 5 AI drafts a day, 2 networks per post, no card. Starter is $9 a month for 3 businesses and Pro $29 for 10, with every network in each post; nothing is charged from the chat — an upgrade link opens a Stripe page.