Download the tool
- Open Reels Studio on GitHub.
- Click the green Code button, then Download ZIP.
- Unzip it into a normal folder, for example
Documents\Reels Studio.
Pick a Short and a day. On that day the Reel goes live with your title, description, hashtags, cover and comment, even with your computer off. Watch the setup step by step, every screen is also written out below.
Never at random, at most one Reel a day in the calendar (extra ones only with your own click), and the same Short is never posted twice.
#shorts is removed from the caption automatically.
| YOU NEED | NOTE |
|---|---|
| A GitHub account | free · github.com/signup |
| A Google account | for the YouTube key |
| Your Instagram account | we switch it to a free professional account |
| A personal Facebook account | only to create a Page; nothing is posted there |
| A Windows PC (or Mac/Linux with Python) | only needed when you schedule |
| VALUE | LOOKS LIKE | PASTE INTO REELS STUDIO |
|---|---|---|
| GitHub token | github_pat_… | welcome screen (Part 4) |
| YouTube Data API key | AIza… | Settings → API keys and Panel connection (Part 5) |
| Instagram (Meta) access token | EAA… | Settings → API keys (Part 11) |
| Instagram account ID | 17841… | Settings → API keys (Part 12) |
Reels Studio is a small app that runs in your browser. It's where you plan Reels and paste your keys. On Windows one double-click installs everything.
Documents\Reels Studio.http://127.0.0.1:48765.pip3 install -r requirements.txt, then python3 tools/studio.py.panel/index.html instead. Everything works, only the automatic download of your Shorts is missing (you attach the video file by hand when scheduling).GitHub runs the automation for free in the cloud, so your computer can be off when a Reel goes live. No account yet? Sign up free at github.com/signup.
shorts-to-reels (any name works, just remember it).git commands. You don't need a terminal: the app uploads all the files for you.A token is a password that only works for this one repository. The app uses it to upload the files and to plan your Reels.
Reels Studio.shorts-to-reels.github_pat_.Now the app talks to your repository and copies the automation into it.
panel/index.html).your-name/shorts-to-reels.owner/name, not the full https://github.com/… link.The key lets the tool read your Shorts' title, description, tags and thumbnail through YouTube's official API. Free.
reels-studio.Reels Studio.youtube into the filter, tick YouTube Data API v3 only and click OK.AIza) and close the dialog.@handle (or paste the channel link) and click Find.Instagram only lets apps publish to professional accounts (Creator or Business). Both are free. Already have one? Skip to the next part.
Instagram's publishing API works through a Facebook Page. The Page can stay empty, it's just the connector.
Instagram (or linked) into Search settings at the top left.The app is your key to Instagram's API. It can stay in development mode forever: you only publish to your own account.
Reels Studio).Reels Studio, your contact e-mail, and Business portfolio = your channel's portfolio. Click Create app.A system user is a robot account inside your business portfolio. Its token never expires, unlike your personal one.
reels-bot. Role: Admin (the default is Employee).instagram_basic · instagram_content_publish · instagram_manage_comments · pages_show_list · pages_read_engagement · business_managementinstagram_business_… variants. Those belong to a different login method.EAA.One query in Meta's Graph API Explorer shows the ID of your Instagram account.
EAA… one).v26.0 / (your version number may differ) with:me/accounts?fields=name,instagram_business_account{id,username}instagram_business_account (a long number starting with 17841).instagram_business_account is your Facebook Page ID. Wrong one.data? The token has no access to your Page. Check the system user's assets.The test runs in the cloud, checks every key and publishes nothing.
▶️ Full video on YouTube: {full_video_url} and on a new line 🔗 Link in bio60 seconds. Click Save options.{full_video_url} = the first YouTube link in the Short's description (else your channel).Setup is done. From now on this is all you do.
Downloads\Shorts automatically.Don't want to plan? Post a Short the same day, right away or at a time you pick, as many as you like. This doesn't need cron-job.org, and your calendar stays free.
GitHub's own timer is best-effort: on busy days it runs late or skips. A free outside timer starts the publish job on time. GitHub's timer stays on as a backup, and the never-twice guard makes extra runs harmless.
cron-job.org, only your shorts-to-reels repository, permission Actions: Read and write, nothing else.Reels publish.https://api.github.com/repos/OWNER/REPO/actions/workflows/publish.yml/dispatches (replace OWNER/REPO with yours, e.g. your-name/shorts-to-reels).16, minutes 25 and 45 (Ctrl + click to select the second minute). The crontab line must read 25,45 16 *.Accept = application/vnd.github+json · Authorization = Bearer + your new token · X-GitHub-Api-Version = 2022-11-28.POST, then click Add Content-Type header now.{"ref":"main"}.Bearer, one space, then the whole token.Only if you can't use the desktop app and want the cloud to download videos from YouTube itself. YouTube keeps invalidating cookies used from servers, so this stops working every few hours to weeks.
get cookies.txt locally and open the result called exactly Get cookies.txt LOCALLY (Featured, ~1,000,000 users).chrome://extensions → the extension → Details.https://www.youtube.com.https://www.youtube.com/robots.txt, then close the YouTube tab.LOGIN_INFO and SID.Paste the YouTube key into Settings → Panel connection (not only into API keys) and save your channel. Then click Reload.
Wait a minute and click ↻. Still stuck? Click Upload / update project again. Check the token has Workflows: Read and write.
Open its log. Usual causes: a missing permission (code 10 or 200 → generate the token again with all six), the Page ID instead of the Instagram ID (Part 12), or a token that expired because it was set to 60 days.
Expected. YouTube blocks downloads from GitHub's servers. Schedule from the desktop app, it attaches the file from your PC.
GitHub's timer can be late or skip a day. Set up cron-job.org (Part 17). To rescue today's Reel (up to 3 hours after the publish time): GitHub → your repository → Actions → 2 · Publish scheduled Reel → Run workflow with Publish today's package right away ticked, or Settings → Manual override → Publish today's Reel now in the app.
No. A private GitHub repository gets 2,000 free Actions minutes a month; a publishing day uses about 40, a day without a Reel about 4. The YouTube API allows 10,000 units a day; one Reel uses 5–10.
Copy the folder (without .venv and work) and run Install Reels Studio.bat there. Keys, channel and queue live on GitHub, so the app only asks for a GitHub token and the YouTube key for previews.
Create a new one exactly like in Part 3 and paste it into Settings → Panel connection → Save connection.
Your keys are encrypted in your browser and stored as GitHub Secrets in your own private repository. Nobody else, including me, ever sees them. The GitHub token works only for that one repository.
Still stuck? Comment under the video with the step number (e.g. “10.4”) and what you see.