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

CommandWhat 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

FlagWhat 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.

What each platform accepts ยท Permissions we request