Example prompt
“Import the screen recording linked in the README in this project and draft a TikTok with a caption a non-developer would follow. Leave privacy for me to choose.”
Gemini CLI + Wahlu
Connect Gemini CLI to Wahlu once, then plan, draft and schedule posts for TikTok accounts connected to Wahlu from the Gemini CLI terminal. Every schedule can wait for your approval.
Video
One video with a caption.
Photo
One image. The first 90 characters of the caption become its title.
Photo carousel
Two to 35 images.
Example prompts and the steps to expect. These are illustrations, not recorded conversations.
Example prompt
“Import the screen recording linked in the README in this project and draft a TikTok with a caption a non-developer would follow. Leave privacy for me to choose.”
Example prompt
“Draft a TikTok about the README in this project. It was edited with AI tools, so label it as AI-generated, and run a readiness check before you schedule anything.”
Example prompt
“Show me the TikTok schedule for the next two weeks, then suggest a slot for a post about the README in this project.”
Gemini CLI works through Wahlu's tools, so it can set the TikTok options Wahlu supports.
TikTok posts need your agreement to TikTok's publishing terms before they can go out, and Wahlu never picks a privacy setting for you.
list_targetsFinds the brand's connected TikTok account and checks it's ready.
upload_media_from_file, import_media_from_url or list_mediaBrings in the image or video, or picks one from your media library.
create_draftCreates the draft with its caption and tiktok_settings, such as the post type.
refresh_target_dynamic_optionsAsks TikTok which privacy options your account allows right now.
update_draft_tiktok_privacySets one of those options on the draft.
preflight_draftChecks the draft against TikTok's rules without changing it.
create_schedulePuts it on the calendar at pending_review, held for your approval.
Wahlu checks these before a post is scheduled, so the agent finds out early.
Video captions up to 2,200 characters.
TikTok: Direct Post referencePhoto posts take a description of up to 4,000 characters and a title of up to 90.
TikTok: photo post referenceVideos can be MP4, MOV or WebM, up to 4 GB, 360 to 4,096 pixels on each side, at 23 to 60 frames per second.
TikTok: media transfer guidePhotos can be JPEG or WebP, up to 20 MB each.
TikTok: media transfer guideThe privacy options each account can use come from TikTok, and can differ between accounts.
TikTok: Direct Post referenceThe local server can upload a file straight from your computer with upload_media_from_file, so screenshots and videos in your project don't need a public link.
Set this up once and Gemini CLI can work on every network you've connected, not just TikTok.
In the Wahlu app, create an API key under Settings → API Keys in your workspace, with only the permissions and brands you need.
Add export WAHLU_API_KEY=your-key to your shell profile, with your key, and open a new terminal.
Add the Wahlu configuration to ~/.gemini/settings.json. If the file already has settings, add wahlu inside its mcpServers object.
Start a new Gemini CLI session and run /mcp to check that wahlu is connected and its tools are listed.
Checked against the Gemini CLI docs on 27 September 2026. Menus can change; if a step doesn't match what you see, follow the vendor's current instructions.
{
"mcpServers": {
"wahlu": {
"command": "npx",
"args": ["-y", "@wahlu/mcp-server@latest"],
"env": {
"WAHLU_API_KEY": "$WAHLU_API_KEY"
}
}
}
}Gemini CLI replaces $WAHLU_API_KEY with the value from your shell, so the key isn't saved in the settings file. You can also add the same configuration to a project's .gemini/settings.json to use Wahlu in that project only. Available local tools depend on the installed version. Check the local MCP server notes for its Node.js requirement and tool availability.
Every Wahlu plan includes agent access, through MCP and the API. You choose the workspace, brands and permissions each connection gets, and can disconnect it at any time.
Agents create schedules at pending_review unless you've told them to publish. A held schedule can't publish until you approve it in Wahlu or ask an agent with Publishing permission to approve it.
Publishing is separate from Manage your schedule. Leave it unticked and nothing your agent schedules can go out on its own.
preflight_draft reports anything that would stop a post, such as media the network won't accept or a caption that's too long, without changing anything.
Use the app for queues, draft media and platform settings, and connecting social accounts. Agents can change the name or caption of an unused draft and approve held schedules with the right permissions.
Connect your TikTok account in Wahlu, then give Gemini CLI a specific brief.