YouTube uploads go through the Data API v3 with the youtube.upload scope. Once connected, post mate becomes a YouTube Shorts scheduler and a regular video scheduler — same flow either way. The platform applies its own per-channel daily upload quota; post mate respects it and reports back when it hits.
Connect YouTube in 5 steps
- Open /app/connections and pick "Connect YouTube"
You are redirected to Google's OAuth consent screen. Sign in with the Google account that owns the channel — not a manager account unless you specifically want to schedule for the managed channel.
- Pick the channel
If your Google account owns multiple channels (Brand Accounts), Google shows a chooser. Pick the channel you want to upload to. post mate stores the channel ID, not just the Google identity, so you can connect each Brand Account separately.
- Approve youtube.upload
Google asks for youtube.upload and youtube.readonly. The upload scope is what lets post mate insert videos; readonly lets us read channel metadata for the connections list. Approve and you return to post mate.
- Schedule a video
In /app/compose, attach an MP4, fill in title, description, tags, pick a privacy level. If the file is vertical and under 60 seconds, YouTube will treat it as a Short automatically — you don't need a #shorts hashtag, though it doesn't hurt.
- Mind the daily upload quota
Google applies per-channel and per-app quotas. If a scheduled upload hits the cap, post mate retries the next day and surfaces the message. Most channels never see this; very heavy schedulers (50+ videos a day) sometimes do.
Once you're back inside post mate the account shows up on /app/connections with a green connection dot. From there it's available as a target in every composer.
What you can post to YouTube from post mate
- ✓Regular video upload — MP4/MOV up to 256 GB or 12 hours.
- ✓YouTube Shorts — Vertical ≤60s; YouTube auto-classifies.
- ✓Title, description, tags
- ✓Custom thumbnail — Requires a verified channel.
- ✓Privacy (public/unlisted/private)
- ×Community posts — Not exposed on the public Data API.
- ×Scheduled live streams — Live API requires a separate scope and approval.
YouTube API capabilities — the honest list
What works
- Video upload (mp4, mov, webm)
- Title, description, tags, category
- Custom thumbnail (verified channels)
- Privacy: public, unlisted, private
- Scheduled publish via private + publishAt
What the API doesn't expose
- Community posts
- Live stream scheduling (without the extra LIVE scope and review)
- Editing video after publish via this scope
- Comment moderation
- YouTube Stories (discontinued)
FAQs
Does post mate upload my video twice?
No. The file uploads once, in resumable chunks, when you save the scheduled post. We then call videos.insert at publish time with the stored video ID.
Can I schedule a Short to publish at a specific minute?
Yes. The scheduling mechanism is the same as a regular upload — privacy=private with publishAt set. YouTube flips it to public at the chosen time.
Why is my video stuck "processing"?
YouTube's processing time depends on resolution and length. 4K files can take 30+ minutes. post mate stores the video as scheduled regardless; the publish moment still hits on time.
Does post mate store my Google password?
No. OAuth tokens only. Revoke any time at myaccount.google.com/permissions.
Can I connect multiple channels?
Yes. Run the OAuth flow once per channel — even if they belong to the same Google identity, each Brand Account counts as a separate connection.
Ready to schedule your first post?
Sign up for post mate, connect YouTube from /app/connections, and start cross-posting from a single composer. 14-day free trial, cancel anytime — no credit card to start the trial when you sign up with Google.