R2 reel queue → one cron link → container then publish.
Two tokens run everything. No wrangler pages secret needed — they live in R2 at ig_auto/config.json. Per-account IG tokens live in each profile. This browser only caches the two tokens in localStorage so you don't retype them.
Bucket small-projects, prefix ig_auto/:
ig_auto/profiles/<slug>.json profile: label, ig_user_id, ig_token ig_auto/queue/<slug>/<id>.json you (or the UI) drop posts here ig_auto/working/<slug>/<id>.json container made, waiting to publish ig_auto/done/<slug>/<id>.json published ig_auto/failed/<slug>/<id>.json errored (retry from Queue tab)
One row per Instagram account. Token pasted once; the cron tick refreshes it daily.
Paste into any scheduler (cron-job.org, UptimeRobot, GitHub Action) at a 30 minute interval. Each hit: refresh token, publish one ready container, create one new container.
Fires the same engine as the cron link, using the admin token. Safe to click anytime.
Original single-shot endpoints. No queue, no R2 — you pass everything in the URL and chain create→publish yourself.