From the command line
The same publish, for anyone who would rather not leave the terminal. It signs in with a token you create in your account and talks to this same service, so the accounts you connect on the web are the ones it posts to. It requests no permissions of its own.
yellit is in limited access while the platform audits are outstanding, and the CLI ships to account holders rather than to a public package registry. Sign in and open your tokens page to get set up.
Signing in
Create a token on your tokens page, then hand it to the CLI once. It is stored on your own machine and reused until you replace it.
yellit auth # paste a token from /tokens
yellit accounts # confirm which accounts it can reach
yellit auth --logout # forget the stored token Publishing
yellit post --to tiktok,instagram,youtube,x \
--video ./clip.mp4 --caption "Shipped something today" \
--privacy public
Each destination reports its own outcome and a link to the post it created.
A failure on one is never hidden behind a success on another, and the exit
code says which happened: 0 when every target succeeded,
1 when any failed, 2 for bad usage.
Commands
| Command | What it does |
|---|---|
post | Publish. The default when no command is given. |
auth | Store a token from your tokens page. --logout forgets it. |
accounts | List the platform accounts connected to your account. |
doctor | Check every connection's health. Exits 1 if any needs reconnecting, so it works as a cron guard. |
status <job-id> | Show a publish job's per-platform outcome. |
Flags
| Flag | What it does |
|---|---|
--to <list> | Comma-separated targets: tiktok, instagram, youtube, x. |
--video <src> | Video URL or local path. |
--image <src> | Image URL or local path. Repeat for a carousel of 2โ10. |
--caption <text> | Caption text. On YouTube this is the video description. |
--title <text> | Video title. Required by YouTube, ignored by Instagram. Defaults to the caption's first line. |
--privacy <v> | public, unlisted or private, for YouTube and TikTok. TikTok has no unlisted level and treats it as private. |
--reel, --short | Publish a single video as a Reel or a Short. |
--upload | Stage local files in our storage, post the resulting URL, then delete it. Required to send a local file to Instagram. |
--keep-upload | Leave staged files in storage after publishing. |
--no-wait | Start the job and return. Check it later with yellit status. |
--allow-link-cost | Post to X even though a link in the text raises the charge from about $0.015 to about $0.20. |
--dry-run | Validate and print what would happen. No network calls. |
Nothing here runs on a schedule
Every publish is one command you typed. There is no daemon, no watch mode,
and no queue that drains on a timer. doctor is the one command
written to be useful from cron, and all it does is tell you a connection
needs renewing โ it cannot publish anything.