Guides · 2026-11-07
How to schedule YouTube Shorts automatically
YouTube Studio lets you schedule one video at a time. If you publish Shorts every day, an automated upload through the YouTube Data API saves a lot of clicks. Here is how it works and which limits apply in 2026.
YouTube has no separate "Shorts API". A Short is a normal video upload through the YouTube Data API v3. YouTube decides on its own whether a video is shown as a Short; vertical or square videos of up to three minutes qualify. There is no flag in the API to force it.
That makes automation simple in principle: you upload a vertical clip, set a title, description and privacy status, and optionally a publication time. The details are in authentication, quota and a few fields that are easy to overlook.
What happens during an upload
Sign-in with Google
The channel owner connects the channel once with Google OAuth. For uploading, the scope youtube.upload is enough. To show the channel name and avatar, a tool also needs youtube.readonly. Both are classed as sensitive by Google, which is why an app has to pass Google's verification before it can be used by more than 100 users without a warning screen.
Resumable upload
Videos are sent with the resumable upload protocol. The client first creates an upload session with the metadata, then sends the file in chunks. Chunk sizes must be multiples of 256 KiB, except for the last one. If the connection drops, the upload continues where it stopped instead of starting again. For long videos and mobile connections this matters.
Metadata
The most important fields:
| Field | Note |
|---|---|
title |
up to 100 characters, required |
description |
up to 5,000 bytes |
privacyStatus |
public, unlisted or private |
publishAt |
publication time; the video must be private until then |
selfDeclaredMadeForKids |
must be answered for every video |
containsSyntheticMedia |
disclosure for realistic AI-generated or altered content |
The made-for-kids setting is not optional in practice: YouTube expects creators to declare it, and a tool should ask for it rather than set a default silently.
Two ways to schedule
Native scheduling with publishAt. The video is uploaded right away as private and YouTube publishes it at the set time. The advantage is that the video is already processed when it goes live. The downside: the upload uses quota on the day of the upload, not on the day of publication.
Scheduling in your tool. The file waits on the tool's server and is uploaded at the planned time. That keeps the upload on the target day and lets you change the video until the last minute.
Video Automation supports both. With the API you send scheduled_date and timezone; in the dashboard you pick a time in the calendar.
curl -X POST https://my-video-automation.com/api/upload \
-H "Authorization: Apikey YOUR_KEY" \
-F user=bakery-berlin \
-F "platform[]=youtube" \
-F title="How we shape sourdough rolls #shorts" \
-F youtube_description="Our morning routine in 45 seconds." \
-F selfDeclaredMadeForKids=false \
-F containsSyntheticMedia=false \
-F video=@shorts-0112.mp4 \
-F scheduled_date=2026-11-14T07:30:00 \
-F timezone=Europe/Berlin
The response contains a job_id. You can check the result later via GET /api/uploadposts/status?job_id=... or receive it through a webhook.
The quota you need to plan for
Since 1 June 2026 YouTube uses separate quota buckets. videos.insert has its own bucket with a default of 100 per day per Google Cloud project, and each upload costs 1 from that bucket. All other API calls share the general budget of 10,000 units per day.
Important: this limit applies to the project of the tool, not to your channel. A service that publishes for many customers shares these 100 uploads among all of them until Google approves more quota through the YouTube API Services audit. Ask your provider how they deal with it. If the daily quota is used up, YouTube rejects further uploads until the quota resets. A good tool shows this clearly on the post, so that you can reschedule it instead of finding out days later. Individual channels can also hit their own upload limit (uploadLimitExceeded), which YouTube does not publish as a number.
Unverified apps and privacy
Until recently, videos uploaded by unverified API projects were locked to private. YouTube lifted this restriction on 2 November 2026. The audit is still needed for more quota, and Google's verification is still needed to remove the 100-user limit, but it no longer forces uploads to be private.
Checklist for automated Shorts
- Export vertical (9:16) or square, at most three minutes.
- Write titles that make sense without the video;
#shortsin the title is optional. - Answer the made-for-kids question per video.
- Set
containsSyntheticMediawhen the clip shows realistic AI-generated content. - Plan with the daily quota: spread uploads over the week rather than sending 50 on Monday.
- Use a webhook or the status endpoint to notice failed uploads.
Revoking access
You can remove access at any time in your Google account under security.google.com/settings/security/permissions or by disconnecting the channel in Video Automation. By using the YouTube upload you agree to the YouTube Terms of Service; details are in our privacy policy.
Next steps
If you want to post the same clip to TikTok and Instagram as well, see the guide to the TikTok Content Posting API. For automation without code, the article on publishing videos with n8n shows a complete workflow. Limits per plan are listed on the pricing page, and the endpoints in the API documentation.