Create TikTok accounts with Hermes Agent
Create geo-targeted TikTok accounts from Hermes Agent with the TokPortal MCP tools: create_bundle → configure_bundle_account → publish_bundle → list_acc…
To create TikTok accounts from Hermes Agent, connect the TokPortal MCP server and ask for a bundle: create_bundle opens a work order for a new account in a given country, configure_bundle_account sets the handle and profile, publish_bundle hands it to a human account manager in that country, and list_accounts returns the delivered account a few days later. There is no official TikTok endpoint that creates accounts at all — the Login Kit / Content Posting API only let a user who already owns an account authorize your app — so this job is only possible with human-operated infrastructure like TokPortal.
Connect TokPortal to Hermes Agent
Hermes Agent is an autonomous agent: Nous Research's open-source agent runtime; MCP servers are declared under mcp_servers in ~/.hermes/config.yaml.
~/.hermes/config.yaml:
mcp_servers:
tokportal:
url: "https://app.tokportal.com/api/ext/mcp"
headers:
Authorization: "Bearer sk_..."
Or the local stdio form:
mcp_servers:
tokportal:
command: "npx"
args: ["-y", "tokportal-mcp"]
env:
TOKPORTAL_API_KEY: "sk_..."
Reload with /reload-mcp. Use tools.include to expose only the read-only tokportal_get_* / tokportal_list_* tools to an unattended agent.
Snippet status: verified against Hermes Agent's documentation (source).
Once connected, sanity-check the setup with a read-only call — "What is my TokPortal credit balance?" should trigger tokportal_get_credit_balance. Every tool runs as your TokPortal account and spends your credits; read-only tools (get_*, list_*, export_*) never do.
How it works
A TokPortal bundle is the unit of work. For a new account you create it with bundle_type: "account_only" (just the account) or "account_and_videos" (account plus a schedule of videos_quantity posts). The country field decides which pool of managers gets the order: a US bundle is created and warmed by a manager physically in the United States, on a US SIM and residential connection, so the account is native to that region from day one. Call list_countries first — it returns the countries currently open for new-account creation and, separately, the ones open for videos_only orders on existing accounts.
Once the bundle exists you configure the account: username (1–24 chars, letters/digits/_/., no trailing dot), visible_name (≤30), biography (≤80 on TikTok), an optional profile_picture_url and link_in_bio. Then publish_bundle. Nothing is charged before publishing; the account setup price (32 credits at the standard rate) is debited when the bundle goes live. The manager creates the account, warms it and finalizes it; the account then appears in list_accounts with status, country, profile_url and a ban_appeal block that stays null while the account is healthy. Credentials are never returned by ordinary tools — the account is managed, which is exactly what keeps it alive; reveal_account_credentials exists but detaches the account from management and needs a two-step confirmation.
Add wants_advanced_warming: true and 3–30 advanced_warming_terms (multiples of 3) if you want the manager to warm the account on niche searches with a recorded, verified session per term before you post — see Warm accounts.
Run it from Hermes Agent
Hermes Agent runs autonomously, so the prompt below is written as a goal with an explicit stop before the first write tool. Give it the goal, let it read (get_*, list_*), then confirm before it continues to publish_bundle.
Tool sequence
tokportal_list_countries— Confirm the target country is open for new-account creation (returnsdata[]for new accounts andvideos_only_countries[]).tokportal_get_credit_costs— Read the live account-setup price and any contract allowance before quoting the user.tokportal_create_bundle—bundle_type: account_only(oraccount_and_videoswithvideos_quantity),platform: tiktok,country: US; optionalexternal_reffor de-duplication.tokportal_configure_bundle_account— Setusername,visible_name,biography,profile_picture_url,link_in_bio(PUT, can be called again before publishing).tokportal_get_bundle_publish_readiness— Returns what is still missing (account fields, credits) so the agent fixes it instead of hitting a 400.tokportal_publish_bundle— Sends the order to a manager in the chosen country and debits the credits.tokportal_get_bundle— Pollaccount_status(configured → published → in_review → finalized) or subscribe toaccount.finalizedwithcreate_webhook_endpoint.tokportal_list_accounts— Filterplatform=tiktok&country=USto retrieve the delivered account and itsprofile_url.
Prompt to paste
Use the TokPortal MCP tools. Call list_countries and get_credit_costs first.
Then create a TikTok bundle in the US (bundle_type account_only, title "US launch #1"),
configure the account as @acme_kitchen / "Acme Kitchen" / bio "Recipes in 30s",
check publish readiness, show me the total credits and wait for my "GO" before publish_bundle.
Send the prompt to Hermes; MCP tools are namespaced by server, so look for tokportal_* in the tool list after /reload-mcp.
REST equivalent (same operations, X-API-Key header, base URL https://app.tokportal.com/api/ext)
# 1. Create the work order
curl -X POST https://app.tokportal.com/api/ext/bundles \
-H "X-API-Key: sk_..." -H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"bundle_type":"account_only","platform":"tiktok","country":"US","title":"US launch #1"}'
# 2. Configure the profile (BUNDLE_ID from step 1: data.id)
curl -X PUT https://app.tokportal.com/api/ext/bundles/BUNDLE_ID/account \
-H "X-API-Key: sk_..." -H "Content-Type: application/json" \
-d '{"username":"acme_kitchen","visible_name":"Acme Kitchen","biography":"Recipes in 30s","link_in_bio":"https://acme.example"}'
# 3. Publish, then poll
curl -X POST https://app.tokportal.com/api/ext/bundles/BUNDLE_ID/publish -H "X-API-Key: sk_..."
curl "https://app.tokportal.com/api/ext/accounts?platform=tiktok&country=US" -H "X-API-Key: sk_..."
Key parameters
| Parameter | Values | Notes |
|---|---|---|
bundle_type | account_only · account_and_videos · videos_only | account_only for a bare account; account_and_videos to ship posts with it. |
platform | tiktok · instagram (default tiktok) | One platform per bundle; use create_bundles_bulk for several. |
country | ISO code, e.g. US, GB, FR, DE, BR | Required unless videos_only. Check list_countries — availability changes. |
username | 1–24 chars, [a-zA-Z0-9_.] | Cannot end with a dot; the manager reports if it is taken (account.pending_corrections). |
biography | ≤80 chars on TikTok | 120 on Instagram. |
wants_advanced_warming / advanced_warming_terms | boolean · 3–30 terms (multiple of 3) | 5 credits per term, min 15; TikTok and Instagram only. |
external_ref | ≤200 chars | Duplicate-detection aid (DUPLICATE_ACCOUNT_BUNDLE); not an idempotency key. |
Full schemas: OpenAPI reference · openapi.json.
Example configurations
Bare US account
{"bundle_type":"account_only","platform":"tiktok","country":"US","title":"US #1"}
UK account with 12 posts and warming
{"bundle_type":"account_and_videos","platform":"tiktok","country":"GB","videos_quantity":12,
"wants_advanced_warming":true,
"advanced_warming_terms":["air fryer recipes","meal prep uk","budget dinners"]}
Ten accounts at once (bulk)
{"platforms":["tiktok"],"country":"US","accounts_count":10,"videos_per_account":0,"external_ref":"batch-2026-08"}
Credits
Standard account setup is 32 credits per TikTok account, plus 2 credits per video slot and 5 credits per Advanced Warming target (minimum 3 targets). Nothing is charged until publish_bundle. Always read get_credit_costs — contract allowances override the standard rate. Details on Credits & Pricing.
Why not the official API
There is no account-creation endpoint in the TikTok for Developers API: Login Kit authorizes an existing user, and the Content Posting API posts on that user's behalf after they approve the video.publish scope. Creating accounts programmatically is therefore not a rate-limit question but an impossibility with first-party tools; TokPortal replaces it with human managers who create the account in the target country and keep it operated.
As of August 2026 the first-party routes look like this. TikTok's Content Posting API (Direct Post) requires each account owner to authorize your app with the video.publish scope, limits every user access token to 6 requests per minute, keeps all posts from unaudited apps in private viewing mode until TikTok audits the app, and enforces an unpublished daily post cap per user (spam_risk_too_many_posts) that integrators commonly report at roughly 15–25 posts per account per day. Meta's Instagram Content Publishing API allows 100 API-published posts per professional account in a 24-hour moving window and only for accounts you own and connect via OAuth. Neither creates accounts, warms them, or reports third-party bans. TokPortal is human-operated infrastructure: accounts created and run by managers in the target country, one X-API-Key for all of them, dated slots (max 3 per day per bundle) instead of per-account tokens.
Sources: TikTok Content Posting API – Direct Post, TikTok Content Posting API – Get started, Instagram Platform – Content Publishing.
FAQ
How long does delivery take?
Typically 24–72 hours from publish_bundle to account.finalized, depending on the country's manager pool and whether warming was ordered. Poll get_bundle or subscribe to account.finalized.
Can I pick the exact username?
You request it in configure_bundle_account. If it is unavailable the manager flags it (account.pending_corrections) and you send a new one with the same tool; the agent can propose variants automatically.
Do I get the password?
Not by default: the account stays managed so TokPortal can post, warm and defend it. reveal_account_credentials is available with a 428 policy preview and explicit acknowledgment; it detaches the account from management.
Is there a limit on how many accounts I can create?
create_bundles_bulk accepts up to 100 accounts per call and you can call it repeatedly; the practical limit is manager capacity in the chosen country, which the API reports through delivery times rather than a hard cap.
Related
Also works with
- Create TikTok accounts with Gemini CLI
- Create TikTok accounts with Goose
- Create TikTok accounts with Perplexity
- Create TikTok accounts with Microsoft Copilot Studio
- Create TikTok accounts with Factory Droid
- Create TikTok accounts with n8n
All 25 agents for "Create TikTok accounts"
Other jobs with Hermes Agent
- Post 100 TikTok videos a day with Hermes Agent
- Run US TikTok accounts from abroad with Hermes Agent
- Warm TikTok & Instagram accounts with Hermes Agent
- Run a faceless TikTok channel with Hermes Agent
- Seed UGC across many accounts with Hermes Agent
- Seed a music sound on TikTok with Hermes Agent
- Launch an app with persona accounts with Hermes Agent
- Run multi-client agency operations with Hermes Agent
- Get ban alerts via webhooks with Hermes Agent
- Pull analytics across all accounts with Hermes Agent
- Create Instagram accounts with Hermes Agent