{"en":{"common":{"languageSwitcher":"Language","languagePicker":{"open":"Change language","close":"Close"},"heroSection":{"defaults":{"title":"TikTok Live","titleHighlight":"API","subtitle":"Build your custom TikTok Live Overlays for OBS, TikTok Live Studio, Gifts, Chat, Battles. Everything you need to build on TikTok Live."},"install":{"copy":"Copy","copied":"Copied!"},"recruit":{"new":"NEW","label":"Recruit","sub":"Find New Creators"},"cta":{"dashboard":"Dashboard","getApiKey":"Get API Key","manageApi":"Manage your API","getKeySub":"Get an API key","docs":"Docs","forDevelopers":"for Developers"},"mobileNav":{"tagsAria":"Supported languages","guides":"Guides","leaderboards":"Leaderboards","gamingRanks":"Gaming Ranks","gifterIntel":"Gifter Intel","agency":"Agency","pricing":"Pricing","discordBot":"Discord bot"},"stats":{"realtime":"Real-time","delivery":"Event delivery","evalDays":"7 days","evaluation":"Evaluation"},"channels":{"aria":"Live channels","openProfile":"Open profile of {name}"}},"earningsHeatmap":{"days":{"mon":"Mon","tue":"Tue","wed":"Wed","thu":"Thu","fri":"Fri","sat":"Sat","sun":"Sun"},"hourAm":"{h}a","hourPm":"{h}p","legendLow":"Dead","legendHigh":"Peak","peakValue":"{value} diamonds at busiest slot","cellEmpty":"{day} {hour} - no activity","cellValue":"{day} {hour} - {value} diamonds ({pct}% of peak)"},"revealGate":{"label":"Log in to reveal the numbers","sub":"Free account - unlocks every figure on the page instantly.","google":"Continue with Google","note":"Takes 5 seconds. No card."},"regionPicker":{"global":"Global"},"rankBoardTabs":{"ariaLabel":"Leaderboard boards","daily":"Daily","popular":"Popular","gaming":"Gaming","teams":"Teams","shopping":"Shopping"},"globalUpgradeNote":{"withFeature":"{feature} is part of {plan}. Your {starterPlan} plan does not include it.","generic":"This is part of {plan}. Your {starterPlan} plan does not include it.","cta":"Upgrade to {plan}"},"massCopyButton":{"label":"Copy","lockedTitle":"Agency tier only - upgrade to copy all usernames","title":"Up to {max} usernames, one per line. Paste into TikTok backstage eligibility check.","copied":"Copied!","agencyTag":"AGENCY"},"searchBar":{"placeholder":"Search creators and gifters...","clear":"Clear search","tagLive":"LIVE","tagCreator":"Creator","tagGifter":"Gifter","noResults":"No results for \"{query}\"","addToWatchList":"Add {handle} to Watch List","fetching":"Fetching TikTok profile...","close":"Close","confirmPrompt":"Is this the profile you want to add to the watchlist?","no":"No","adding":"Adding...","yesAdd":"Yes, add","errors":{"invalidHandle":"Invalid TikTok handle","notFound":"Could not find this TikTok profile.","addFailed":"Failed to add. Try again."}},"giftGalleryApiCta":{"eyebrow":"Gift gallery API","heading":"Embed the gift gallery via API","headingGift":"Embed {name} + the full gift gallery via API","sub":"One request returns the full TikTok LIVE gift catalog - every name, diamond cost, and icon URL. Drop it straight into your own app.","badgeTitle":"Full live catalog requires Pro tier or above","badge":"PRO+","tabsLabel":"Gift gallery code examples","copied":"Copied","copy":"Copy","copyCode":"Copy code","docsCta":"View API docs","hint":"Full live catalog needs Pro+ - {link}","hintLink":"see plans"},"eventExplorer":{"listLabel":"WebSocket event types","copyPayload":"Copy payload","copy":"Copy","copied":"Copied"},"copyCodeButton":{"label":"Copy code","htmlLabel":"HTML / Vanilla JS","llmLabel":"LLM prompt","nodeSub":"One file. Node 22+ only.","pythonSub":"Stdlib + websockets.","htmlSub":"Open in any browser. No build.","llmSub":"Paste into ChatGPT / Claude.","toastMain":"Code Copied to Clipboard","toastSub":"Paste and Run"}},"popularLive":{"seo":{"title":"Popular LIVE - tik.tools","description":"TikTok's real-time Popular LIVE board per region - the creators being featured in search right now. Agency-tier intel."},"hero":{"title":"{accent} LIVE","titleAccent":"Popular","sub":"TikTok's real-time top creators per region - the ones getting featured in search right now. Refreshed continuously."},"loading":"Loading Popular LIVE...","empty":"No Popular LIVE board cached for this region yet - building. Check back in a minute.","count":"{count} creators","copyAll":"Copy all","liveBadge":"LIVE","diamonds":"diamonds","upgrade":{"feature":"The full Popular LIVE board","badge":"AGENCY TIER EXCLUSIVE","text":"The full Popular LIVE board - every region, live creators included - is exclusive to Agency.","cta":"Unlock"},"updated":"Updated {when}.","relative":{"minutes":"{n} min ago","hours":"{n}h ago"}},"api":{"seo":{"title":"TikTok LIVE API - Developer Guide","description":"There is no official TikTok LIVE API. Connect to any live stream via WebSocket using TikTool - connection upkeep and authentication handled for you. Node.js & Python SDKs. 7-day evaluation key, no credit card.","ogTitle":"TikTok LIVE API - Complete Developer Guide","ogDescription":"Connect to TikTok LIVE streams in 3 lines of code. Managed API with signature server included. Real-time chat, gifts, viewers.","twitterTitle":"TikTok LIVE API - Complete Developer Guide","twitterDescription":"Connect to TikTok LIVE streams in 3 lines of code. Managed API with signature server included.","keywords":"tiktok live api, tiktok api, tiktok live data, tiktok websocket, tiktok live chat api, tiktok gifts api, tiktok stream api, tiktok live assistant, tiktok live connector alternative, tiktok live api free, tiktok live api nodejs, tiktok live api python, tiktok live overlay api, tiktok live analytics, eulerstream alternative, tikfinity alternative, tiktok live api vs eulerstream, tiktok battle api, tiktok live sdk, tiktok chat api, tiktok live stream data"},"hero":{"badge":"Complete Guide","title":"TikTok LIVE","titleHighlight":"API","subtitle":"There is no official TikTok LIVE API. TikTool is a managed alternative - connect to any live stream and receive real-time chat, gifts, viewers via WebSocket. Connection upkeep and authentication handled for you. No reverse engineering needed."},"toc":{"heading":"Table of Contents","whatIs":"What Is the TikTok LIVE API?","howItWorks":"How Does the TikTok LIVE API Work?","quickstartNode":"Quick Start - Node.js","quickstartPython":"Quick Start - Python","quickstartWs":"Quick Start - Raw WebSocket","events":"What Data Can I Get from TikTok Live Streams?","useCases":"What Can I Build with the TikTok LIVE API?","comparison":"How Does TikTool Compare to Alternatives?","pricing":"How Much Does the TikTok LIVE API Cost?","faq":"Frequently Asked Questions"},"whatIs":{"heading":"What Is the TikTok LIVE API?","p1":"TikTok does not offer a public API for live stream data like chat, gifts, or viewer counts. The TikTok Business API only covers ads and shop analytics. To access real-time LIVE data, developers use third-party APIs.","p2":"The open-source libraries {connector} (Node.js) and {tiktokLive} (Python) are MIT-licensed and free to use. They delegate TikTok signing to a backend; one of the historical defaults is a paid signing service built by the same team that maintains those libraries.","p3":"TikTool is an {independent} with its own signing infrastructure. It's a fully managed API: connection upkeep and authentication are handled on our side. One WebSocket connection delivers {count} event types - chat, gifts, likes, follows, viewers, battles, and more. Official SDKs for {node} and {python}. Sandbox tier, no credit card required.","independent":"independent alternative","ctaKey":"Get a 7-day evaluation key","ctaDocs":"WebSocket Docs"},"howItWorks":{"heading":"How Does the TikTok LIVE API Work?","intro":"TikTool sits between your application and TikTok's live streaming infrastructure. Here's the architecture:","step1":{"title":"Your App Connects","body":"Your app opens a WebSocket to {url} with a TikTok username and your API key."},"step2":{"title":"TikTool Resolves","body":"TikTool resolves the room ID, handles authentication, solves challenges, and joins the live stream."},"step3":{"title":"Events Flow","body":"Real-time events (chat, gifts, viewers, etc.) stream to your app as clean JSON - parsed, structured, and typed."},"outro":"You never deal with TikTok's protocol directly. When TikTok changes their internal systems (which happens frequently), TikTool adapts - your code keeps working unchanged."},"quickNode":{"heading":"Quick Start - Node.js / TypeScript","install":"Install the official SDK from npm:","connect":"Connect to a live stream and receive events:","typed":"Full TypeScript support - every event type, field, and parameter is fully typed with autocompletion in your IDE. {link}","guideLink":"Read the complete Node.js guide"},"quickPython":{"heading":"Quick Start - Python","install":"Install from PyPI:","connect":"Connect with the SDK and register handlers with decorators:","asyncio":"Prefer asyncio? {connect} runs the same client inside your own event loop. The key can also come from the {envVar} environment variable.","guideLink":"Read the complete Python guide"},"quickWs":{"heading":"Quick Start - Raw WebSocket (Any Language)","intro":"Any language with WebSocket support works - Go, Rust, Java, C#, Ruby, PHP, Dart, Kotlin, Swift. Just connect to:","format":"Every message is a JSON object with {event} and {data} fields. Clean, structured data - no binary parsing needed. {link}","refLink":"Full WebSocket API reference"},"events":{"heading":"All Event Types","intro":"The TikTok LIVE API streams {count} real-time event types from any live stream:","refLink":"See full event reference with example payloads","list":{"chat":"Chat message from a viewer. Includes user info, comment text, emotes, and badges.","gift":"Virtual gift sent by a viewer. Includes gift name, diamond value, repeat count, and combo status.","like":"A viewer liked the stream. Includes per-event count and total likes.","member":"A viewer joined the live room. Fires when users enter the stream.","follow":"A viewer followed the streamer during the live stream.","share":"A viewer shared the live stream with their friends.","subscribe":"A viewer subscribed to the streamer.","roomUserSeq":"Viewer count update. Current viewer count and top viewers list.","battle":"Battle/LinkMic event. Battle status, teams, scores, and participants.","battleArmies":"Battle armies update with team scores and participant rankings.","roomPin":"A chat message was pinned or starred by the streamer.","caption":"TikTok native auto-captions for the stream, one caption window per frame.","envelope":"Treasure chest or envelope event in the stream.","emote":"Custom emote sent in chat by a viewer.","liveIntro":"Stream intro update - title and description changes.","streamEnd":"The live stream has ended. Includes the reason code.","connected":"Successfully connected to the TikTok live stream.","error":"Connection error occurred. Includes error details."}},"useCases":{"heading":"What Can You Build?","moreLink":"See more use cases","chatAssistants":{"title":"Chat Assistants","desc":"Build automated chat assistants that respond to viewer messages, commands, and gifts in real-time."},"analytics":{"title":"Analytics","desc":"Track viewer counts, engagement rates, gift revenue, and chat activity across streams."},"games":{"title":"Interactive Games","desc":"Let viewers control game elements with gifts, chat commands, and likes."},"overlays":{"title":"Stream Overlays","desc":"Create OBS/Streamlabs overlays showing chat, gift alerts, and viewer stats."},"scouting":{"title":"Creator Scouting","desc":"Follow creator rankings, top gifters, and league standings to find and grow talent."},"mobile":{"title":"Mobile Apps","desc":"Build mobile apps that monitor and interact with TikTok LIVE streams."}},"compare":{"heading":"TikTool vs Euler Stream vs tiktok-live-connector","intro":"The open-source {connector} (Node.js) and {tiktokLive} (Python) libraries are maintained by the same team that runs Euler Stream. Together they form a well-supported ecosystem with MIT-licensed clients and a managed signing backend. TikTool is an independent managed alternative with its own signing infrastructure and a different feature focus.","feature":"Feature","rows":{"managed":"Managed service","nodeSdk":"Node.js SDK","pythonSdk":"Python SDK","agencyIntel":"Agency intel (leaderboards, leagues)","gifterIntel":"Gifter intel (LTV, archetypes)","liveLeaderboards":"Live leaderboards","battleHistory":"Battle history + timeline","leagueRankings":"League rankings","alerts":"Real-time alerts","sniperGap":"Sniper Gap (live battle tracker)","agencyCrm":"Agency CRM + watchlists","profilePages":"Public profile pages (creator + gifter)","freeTier":"Start without a credit card","websocketApi":"WebSocket API","captcha":"CAPTCHA handling"},"cells":{"selfHosted":"Self-hosted client","managed":"Managed","official":"Official","viaTikTokLive":"via TikTokLive","realTime":"Real-time","perMatch":"Per-match","indexed":"Indexed","reqPerDay":"{n} req/day","mitLicensed":"MIT-licensed","anyLanguage":"Any language","pythonOnly":"Python only","nodeOnly":"Node.js only","builtIn":"Built-in","viaSigning":"Via signing backend"}},"pricing":{"heading":"Pricing & 7-day evaluation","intro":"Start with a 7-day evaluation key, no credit card. Then pick a paid plan for production.","tier":"Tier","price":"Price","concurrent":"{n} concurrent","concurrentDaily":"{n} concurrent ({daily}/24h)","plusFirehose":"{n} + Firehose","perDay":"{n}/day","perWeek":"{price}/week","sandboxTier":"Sandbox Tier","viewPlans":"View Plans","startFree":"Start 7-day evaluation"},"faq":{"heading":"Frequently Asked Questions","items":{"publicApi":{"q":"Is there a public API for live stream data?","a":"There is no first-party public API specifically for live stream events. TikTool is an independent, third-party managed API service that gives developers real-time access to chat, gifts, viewers, battles, and more. TikTool is not affiliated with or endorsed by any streaming platform."},"free":{"q":"Is the TikTok LIVE API free?","a":"Not after the evaluation. TikTool starts with a 7-day Sandbox evaluation key with 3 concurrent WebSocket connections and 5,000 REST API requests per day, no credit card required. After 7 days a paid plan is required: plans start at {price}/week (Basic) for 10,000 requests/day and 20 concurrent connections."},"languages":{"q":"What programming languages does the TikTok LIVE API support?","a":"TikTool works with any language. Official SDKs are available for Node.js (npm: {'@'}tiktool/live) and Python (pip: tiktok-live-api). The raw WebSocket API at wss://api.tik.tools works with Go, Rust, Java, C#, Ruby, PHP, Dart, Kotlin, Swift, and any language with WebSocket support."},"difference":{"q":"How is TikTool different from open-source live stream libraries?","a":"Open-source libraries require you to maintain connection infrastructure and break when the platform updates. TikTool is a managed API service - we handle all maintenance, challenge solving, and room authentication server-side. Your integration stays stable and production-ready."},"data":{"q":"What data can I get from TikTok LIVE streams?","a":"90+ event types: chat messages, virtual gifts (with diamond values), likes, follows, shares, viewer counts, battle scores, pinned messages, stream status, and more."},"latency":{"q":"What is the latency?","a":"Real-time. TikTool streams each event to your WebSocket as soon as it arrives from TikTok, over a managed connection built for low-latency delivery."},"chatAssistant":{"q":"Can I build a TikTok LIVE chat assistant?","a":"Yes. TikTool's real-time chat events include full user info, message text, emotes, and badges. Many developers build interactive chat assistants, moderation tools, command systems, and automated gift responses with TikTool."},"streams":{"q":"How many streams can I monitor simultaneously?","a":"Sandbox: 3 connections. Pro ({proPrice}/wk): 50. Ultra ({ultraPrice}/wk): 250. Agency ({agencyPrice}/wk): 500 + Live Gifter Firehose WS. Higher volumes are available on request."},"euler":{"q":"How does TikTool compare to Euler Stream?","a":"TikTool and Euler Stream are independent managed TikTok LIVE services with different feature focuses. Euler Stream is the signing backend used by the open-source tiktok-live-connector (Node.js) and TikTokLive (Python) libraries, maintained by the same team. TikTool runs its own independent signing infrastructure and adds features Euler does not currently offer, such as an agency intel layer. Euler Stream has free and paid plans; TikTool starts with a 7-day evaluation, then paid plans. Compare current pricing and limits directly on each site."},"tikfinity":{"q":"Is TikTool better than TikFinity for developers?","a":"TikFinity is a streaming tool for overlays and alerts - great for non-technical TikTok creators. TikTool is a developer API with WebSocket endpoints, SDKs, and REST APIs for building custom applications. If you need to build a custom chat assistant, analytics dashboard, or game integration, TikTool is the right choice. If you just want pre-built overlays without writing code, TikFinity may suit your needs."},"analytics":{"q":"Can I use TikTok LIVE API for stream analytics?","a":"Yes. TikTool provides real-time viewer counts, engagement rates, gift revenue tracking, chat activity metrics, and battle scores. Many developers use our API to build custom analytics dashboards for streamers, agencies, and talent managers."},"obs":{"q":"Does the TikTok LIVE API work with OBS and Streamlabs?","a":"Yes. You can use TikTool's WebSocket API to build custom browser-source overlays for OBS, Streamlabs, and TikTok Live Studio. Display real-time chat, gift alerts, viewer counts, and battle scores directly on your stream."}}},"next":{"getStarted":"Get Started","getStartedSub":"7-day evaluation key in 30 seconds","wsRef":"WebSocket Reference","wsRefSub":"Full event docs"},"schema":{"article":{"headline":"TikTok LIVE API - The Complete Developer Guide (2026)","description":"Complete guide to the TikTok LIVE API. Real-time WebSocket access to chat messages, gifts, viewer counts, battles. Node.js, Python, and any language. 7-day evaluation key, no credit card."},"app":{"name":"TikTok LIVE API","description":"Real-time TikTok LIVE API for developers. WebSocket access to chat, gifts, viewers, battles. Node.js and Python SDKs.","offer":"Sandbox tier with 3 concurrent WebSocket connections and 5,000 REST requests per day"},"faq":{"publicApi":{"a":"There is no first-party public API specifically for live stream events. TikTool is an independent, third-party managed API that gives developers real-time access to chat, gifts, viewers, and more. TikTool is not affiliated with or endorsed by any streaming platform."},"free":{"a":"Not after the evaluation. TikTool starts with a 7-day Sandbox evaluation key with 3 concurrent WebSocket connections and 5,000 REST API requests per day, no credit card required. After 7 days a paid plan is required: plans start at {price}/week (Basic) for production use with 10,000 daily requests and 20 concurrent connections."},"languages":{"a":"TikTool provides official SDKs for Node.js (npm: {'@'}tiktool/live) and Python (pip: tiktok-live-api). The raw WebSocket API works with any language: Go, Rust, Java, C#, Ruby, PHP, Dart, Kotlin, Swift, and more."},"difference":{"q":"How is TikTool different from other live stream libraries?","a":"Open-source libraries require you to maintain your own connection infrastructure and frequently break when the platform updates. TikTool is a managed API service - we handle connection upkeep and authentication server-side. Your code stays stable."},"data":{"a":"Chat messages, virtual gifts (with diamond values), likes, follows, shares, viewer counts, battle scores, pinned messages, stream status, and 90+ event types in total."},"latency":{"q":"What is the latency of the TikTok LIVE API?","a":"TikTool streams each event to your WebSocket as soon as it arrives from TikTok. The managed WebSocket connection is optimized for low-latency real-time data delivery."},"chatAssistant":{"q":"Can I use TikTok LIVE API for a chat assistant?","a":"Yes. TikTool's real-time chat events include full user info, message text, emotes, and badges. Many developers use it to build interactive chat assistants, moderation tools, and automated responses for TikTok LIVE streams."},"streams":{"a":"Sandbox (7-day evaluation): 3 connections. Pro: 50. Ultra: 250. Agency: 500 + Live Gifter Firehose WS. Higher volumes are available on request."},"euler":{"a":"TikTool and Euler Stream are independent managed TikTok LIVE services with different feature focuses. Euler Stream is the signing backend used by the open-source tiktok-live-connector and TikTokLive libraries, maintained by the same team. TikTool runs its own independent signing infrastructure and ships extra features such as an agency intel layer. Euler Stream has free and paid plans; TikTool starts with a 7-day evaluation, then paid plans. Compare current pricing and limits directly on each site."},"tikfinity":{"a":"TikFinity is a streaming tool for overlays and alerts - great for non-technical streamers. TikTool is a developer API with WebSocket endpoints, SDKs, and REST APIs for building custom applications. If you need to build a custom chat assistant, analytics dashboard, or game integration, TikTool is the better choice. If you just want pre-built overlays, TikFinity may suit your needs."},"obs":{"a":"Yes. You can use TikTool's WebSocket API to build custom browser-source overlays for OBS, Streamlabs, and TikTok Live Studio. Display real-time chat, gift alerts, viewer counts, and battle scores. See our overlay guide for implementation details."}},"howTo":{"name":"How to Connect to TikTok LIVE API","description":"Connect to any TikTok live stream and receive real-time data in under 30 seconds.","step1":{"name":"Get a 7-day evaluation key","text":"Sign up at tik.tools and copy your API key. No credit card required."},"step2":{"name":"Install the SDK","text":"Run: {npm} (Node.js) or {pip} (Python)"},"step3":{"name":"Connect and receive events","text":"Create a client with the streamer username and your API key, add event listeners, and call connect()."}}}},"rankings":{"seo":{"title":"TikTok LIVE Rankings by Country - Every Region {'|'} TikTool","description":"TikTok LIVE rankings for {boards} regions and countries: a link to every board of top creators by diamonds and live status, how the resets work, and all {count} league classes.","ogTitle":"TikTok LIVE Rankings by Country"},"hero":{"badge":"Rankings","title":"TikTok LIVE Rankings","titleHighlight":"by Country","subtitle":"Links to every regional and country TikTok LIVE leaderboard, each showing today's top creators by diamonds and who is live, plus the league classes behind them.","updated":"Updated {time}.","refresh":"Boards refresh continuously."},"stats":{"regional":"regional boards","country":"country boards live now","countries":"countries mapped to a board","leagueClasses":"league classes"},"regions":{"title":"Regional leaderboards","lead":"TikTok ranks most markets in regional pools. Each pool has one board of the creators who earned the most diamonds there, reset daily in most regions."},"cardSub":"TikTok LIVE ranking","countryBoards":{"title":"Country leaderboards","lead":"Markets TikTok ranks on their own, outside any pool. A country appears here while its board is live."},"countries":{"title":"Find your country","lead":"Every country links to the board its creators are ranked on. Countries in the same pool share that pool's board."},"how":{"title":"How the boards work","diamonds":{"title":"Ranked by diamonds earned today","body":"Each board lists up to the top 100 creators by the diamonds their LIVE gifts earned since the board last reset, with who is streaming right now."},"resets":{"title":"Daily resets","body":"Most boards reset once a day at the region's own reset hour, shown as a countdown on every board. {hourly} run hourly boards instead."},"leagues":{"title":"Leagues on top","body":"Alongside the daily board, creators compete in leagues split into {count} classes, from A1 at the top to D5."}},"leagues":{"title":"TikTok LIVE league classes","lead":"The full ladder, highest class first. Every region's board links to its league divisions.","group":"Group {group}"},"faq":{"title":"Frequently asked questions","what":{"q":"What are TikTok LIVE rankings?","a":"TikTok publishes a daily or hourly LIVE ranking for each region that orders creators by the diamonds their gifts earned since the last reset. tik.tools tracks up to the top 100 of every board, which creators are live right now, and how each board has moved over recent days."},"coverage":{"q":"Which countries and regions are covered?","a":"{boards} boards right now: {regions} regional pools such as North America, Latin America and the Balkans, plus {countries} countries TikTok ranks on their own. Countries inside a pool share that pool's board."},"updates":{"q":"How often do the rankings update?","a":"Boards refresh continuously while creators are live. Most boards reset once a day at their region's reset hour; {hourly} run hourly boards that reset every hour."},"leagues":{"q":"How do TikTok LIVE leagues work?","a":"Leagues place creators in {count} classes: {ranges}, with {top} the highest. Within a class, creators are grouped into divisions and compete on diamonds over the league window, which is weekly in most regions and daily in {hourly}. Where a creator finishes decides whether they move up or down a class."},"api":{"q":"Can I get this data through an API?","a":"Yes. The same daily boards, league divisions and gifter rankings are available through the tik.tools leaderboard API, with SDKs for Node and Python."}},"next":{"title":"More rankings","global":{"title":"Global leaderboard","sub":"Every region's top creators on one page"},"gifters":{"title":"Top gifters","sub":"The supporters behind the boards"},"gaming":{"title":"Gaming ranks","sub":"Per-game LIVE ladders"},"api":{"title":"Leaderboard API","sub":"The same boards for developers"}},"jsonLd":{"breadcrumbHome":"Home","breadcrumbLeaderboards":"Leaderboards","breadcrumbPage":"Rankings by Country","name":"TikTok LIVE Rankings by Country","itemName":"{region} TikTok LIVE ranking"},"classRange":"{from} to {to}","regionNames":{"MENA":"Middle East & Africa"}},"bestTime":{"seo":{"title":"Best time to go LIVE on TikTok - real-time heatmap (your timezone) {'|'} Tik.Tools","description":"Real-time TikTok LIVE gift-volume heatmap. 28-day rolling window, day-of-week x hour-of-day in your local timezone, aggregated across every region we track. Free tool by Tik.Tools.","ogTitle":"Best time to stream on TikTok LIVE - heatmap (your timezone)","ogDescription":"See which days + hours have the most diamond gifting on TikTok LIVE. Real-time, 28-day rolling, your local timezone."},"hero":{"eyebrow":"REAL-TIME · UPDATED HOURLY · LOCAL STREAM TIME","title":"What's the best time to go {accent}?","titleAccent":"LIVE on TikTok","sub":"Aggregated diamond-gift volume across every TikTok LIVE creator we track, bucketed by day-of-week + hour in {localTime} (a 9pm gift in JP and a 9pm gift in the US both land in the 9pm column). Darker cells = more diamonds gifted at that local hour worldwide. Use it as a baseline for your stream window.","subLocalTime":"each event's own local time"},"gate":{"label":"Log in to see the best hours & days","sub":"Free account - unlocks the peak hour, day and the full heatmap."},"conclusions":{"hour":{"eyebrow":"Best hour of day","meta":"{value} diamonds across 7 days"},"day":{"eyebrow":"Best day of week","meta":"{value} diamonds across 24h"},"slot":{"eyebrow":"Peak slot","meta":"{value} diamonds in this hour alone"}},"days":{"mon":"Monday","tue":"Tuesday","wed":"Wednesday","thu":"Thursday","fri":"Friday","sat":"Saturday","sun":"Sunday"},"hourAm":"{h}am","hourPm":"{h}pm","slotLabel":"{day} {hour}","loading":"Loading 28-day aggregate...","meta":{"window":"Window: last {days} days","bucketed":"Bucketed in each region's local time","updated":"Updated {when}","recently":"recently"},"relative":{"justNow":"just now","minutes":"{n} min ago","hours":"{n}h ago","days":"{n}d ago"},"cta":{"title":"Build with TikTok LIVE data","api":{"eyebrow":"DEVELOPER API","title":"Real-time gifts + chat firehose","sub":"WebSocket + REST. Sandbox tier. Paid plans from {price}/wk."},"leaderboards":{"eyebrow":"LEADERBOARDS","title":"{count} regions, real-time ranks","sub":"Country + league rankings. Unmasked at PRO+ / ULTRA+."},"agency":{"eyebrow":"GLOBAL AGENCY","title":"Scout creators in every region","sub":"CRM + watchlist + Telegram alerts. {price}/wk."}},"explainer":{"title":"How to read this heatmap","p1":"We aggregate every {gift} our infrastructure observes across TikTok LIVE creators in {count} regions. Each event carries the gifter's country, which we use to shift its UTC timestamp into {clock} before bucketing. So a 9pm gift in Japan and a 9pm gift in the US both land in the 9pm column, even though they happened ~14 hours apart in UTC. The heatmap reads directly in \"local stream time\": if you stream at 8pm wherever you are, the 8pm column is the one you care about.","p1Gift":"diamond-valued gift","p1Clock":"that region's local clock","p2":"This is a {global} view of the LIVE economy - your specific niche or region may differ. For your own region-specific window, check the {rankingLink} page and filter by country or pull the {apiLink} hour-by-hour for your target region.","p2Global":"global","p2ApiLink":"Leaderboard Data API"},"faq":{"title":"Frequently asked","bestTime":{"q":"When is the best time to go live on TikTok?","a":"Peak diamond-gifting hours globally cluster between 7pm and midnight local time on Friday + Saturday, with a secondary peak around 9pm Sunday. The heatmap above shows your live 28-day window."},"timezones":{"q":"Does the heatmap account for different streamer timezones?","a":"Yes. Each gift event carries the gifter's country code. We shift the UTC timestamp into that country's standard local time before bucketing, so a 9pm gift in Japan and a 9pm gift in the US both land in the 9pm column. The grid reads as \"local stream time\" everywhere on the planet, not a single viewer's clock."},"fresh":{"q":"How fresh is the data?","a":"28-day rolling window, refreshed regularly."},"niche":{"q":"Does niche matter?","a":"Yes - this is the GLOBAL economy. Gaming streamers, ASMR, music, and dance all have different peak windows. Use this as a baseline; for niche-specific windows, query the Leaderboard Data API filtered by your region."},"official":{"q":"Is this Tik.Tools data official?","a":"It is aggregated from our own LIVE infrastructure that observes the same public WebSocket gift events that any creator backstage tab shows. It is not endorsed by ByteDance."}},"jsonLd":{"bestTimeA":"Peak diamond-gifting hours globally cluster between 7pm and midnight local time on Friday + Saturday, with a secondary peak around 9pm Sunday. The free Tik.Tools heatmap shows the live 28-day rolling window in your local timezone.","calculatedQ":"How is the heatmap calculated?","calculatedA":"Tik.Tools aggregates every diamond-valued TikTok LIVE gift observed by our infrastructure across {count} regions over the rolling last 28 days, then shifts each event into the local time of the gifter's country and buckets it by day-of-week and hour-of-day.","peakQ":"Should I stream during peak hours?","peakA":"Peak hours have the most viewer spending but also the most competition. For new creators, streaming 1-2 hours before peak captures audience-build attention; for established creators, hitting peak directly maximises gift revenue."}},"agencies":{"seo":{"title":"TikTok LIVE Agencies Directory - TikTool","description":"Browse verified TikTok LIVE creator agencies by region, see who is live right now, message agencies privately, or claim a free listing for your own agency."},"hero":{"title":"TikTok LIVE Agencies","new":"NEW","sub":"Find a TikTok LIVE agency to grow with - or list your own for free and claim your creators.","cta":"List your agency - free"},"regions":{"scrollLeft":"Scroll regions left","scrollRight":"Scroll regions right","filter":"Filter by region","all":"All","selected":"{count} selected","clear":"Clear"},"updating":"updating...","card":{"featured":"FEATURED","viewAria":"View {name}","bannerAlt":"{name} banner","logoAlt":"{name} logo","verified":"Verified agency","creators":"{count} creators","liveNow":"{count} live now","viewProfile":"View profile","message":"Message"},"placeholder":{"title":"List your agency","copy":"Claim your creators, get discovered, free verified listing.","foot":"Create your listing"},"jsonLd":{"name":"TikTok LIVE Agencies Directory","description":"Verified TikTok LIVE creator agencies with rosters, live status and private messaging."}},"agencyCatalog":{"index":{"searchPlaceholder":"Search agencies by name","searchLabel":"Search agencies","verifiedTitle":"Verified agencies","loadMore":"Show more ({count} left)","allTitle":"All agencies","allSub":"Every TikTok LIVE agency we track, with its region and a direct apply link. Run one of them? Claim it to get a verified listing.","hubsTitle":"Browse agencies by region"},"card":{"viewAria":"Open the {name} profile","logoAlt":"{name} logo","verified":"Verified agency","followers":"{count} followers","apply":"Apply","viewProfile":"View profile","claim":"Claim agency","bannerSlot":"Your banner here","bannerSlotCta":"Own this agency? Claim it free"},"grid":{"empty":"No agencies match these filters.","gateTitle":"Showing {shown} of {total} agencies","gateSub":"Agency Global unlocks the full directory: every agency, every region, with search across all of them.","gateCta":"Get Agency Global","gateSignIn":"Already a member? Sign in","pagerLabel":"Agency pages","prev":"Previous","next":"Next","pageOf":"Page {page} of {pages}","searchLocked":"Searching every agency by name is part of Agency Global. Showing the first agencies instead."},"profile":{"breadcrumbLabel":"Breadcrumb","breadcrumbDirectory":"Agency directory","onboarded":"On TikTok LIVE since {date}","claimBanner":"Is this your agency? Claim it to add your logo, website and contact details and get a verified badge.","claimBannerCta":"Claim this agency","aboutTitle":"About","noIntro":"{name} has not added a description yet.","servicesTitle":"Services for creators","statsTitle":"At a glance","stats":{"creators":"Creators","agents":"Agents","diamonds":"Monthly diamonds","health":"Health score"},"source":"Details come from public TikTok LIVE agency information. tik.tools is not affiliated with TikTok or this agency.","seoTitle":"{name}: TikTok LIVE agency profile","seoDescription":"{name} is a TikTok LIVE agency. See its services and apply to join.","seoDescriptionRegion":"{name} is a TikTok LIVE agency in {region}. See its services and apply to join.","message":{"button":"Message this agency","title":"Message {name}","nameLabel":"Your name, as the agency will see it","shareEmail":"Share my email ({email}) so the agency can reply to me directly","bodyLabel":"Your message","placeholder":"Introduce yourself: who you are, your TikTok account and what you are looking for.","count":"{count} / {max}","minHint":"At least {min} characters","helper":"Your message is forwarded to the agency by tik.tools. Links are not allowed. If the agency has no published contact yet, we keep it for them until they claim this listing.","send":"Send message","sending":"Sending...","cancel":"Cancel","close":"Close","success":"Message sent. We will forward it to {name}.","error":"The message could not be sent. Try again later."}},"hub":{"title":"TikTok LIVE agencies in {region}","sub":"Verified and listed TikTok LIVE agencies recruiting creators in {region}, with direct apply links.","empty":"No agencies are listed for {region} yet.","seoTitle":"TikTok LIVE agencies in {region}","seoDescription":"Find TikTok LIVE agencies in {region}: verified listings, services for creators and direct apply links."},"services":{"1_on_1_support":"One-on-one support","live_skills_training":"LIVE skills training","manager_live_review":"LIVE reviews with a manager","guaranteed_salary":"Guaranteed salary","live_equipment":"LIVE equipment"},"claim":{"title":"Claim this agency","sub":"Prove you run this agency to manage the listing. Once verified you can add your logo, website and contact details.","inReview":"A claim for this agency is being reviewed by our team.","signIn":"Sign in to claim","success":"Verified. The agency is now linked to your account.","openListing":"Edit your listing","busy":"Someone else is verifying this agency right now. Try again later.","methodsLabel":"Verification method","methods":{"email":"Email code","domain":"Website check","evidence":"Screenshot review"},"domainLabel":"Agency website","domainPlaceholder":"youragency.com","working":"Working...","checking":"Checking...","verify":"Verify","copy":"Copy","copied":"Copied","email":{"help":"We send a code to an address on your agency website domain, such as hello{'@'}youragency.com. Free mailboxes do not count.","label":"Email on that domain","placeholder":"you{'@'}youragency.com","send":"Send code","sent":"We sent a code to {email}. It expires in 30 minutes.","codeLabel":"Code","change":"Use another address"},"domain":{"help":"Publish a token on your website domain. Either option works.","getToken":"Get my token","optionDns":"Option A: DNS TXT record","optionFile":"Option B: file on your website","recordType":"Type","recordName":"Name","recordValue":"Value","or":"or","fileUrl":"URL","fileContent":"Content","check":"Check now","change":"Use another domain"},"evidence":{"help":"Upload a screenshot from TikTok Backstage that shows the agency name. Our team reviews it, usually within two working days.","continue":"Continue with a screenshot"},"errors":{"rateLimited":"Too many attempts. Try again later.","taken":"This agency is already claimed or in review.","hasListing":"Your account already has a published listing. Verify by email or website instead.","otherListing":"Your account already manages another agency in the directory.","expired":"This claim expired. Start again.","badEmail":"Use an email address on your agency website domain.","badDomain":"Enter your own agency website, not a mailbox or social media site.","wrongCode":"That code is not right.","notFound":"We could not find the token yet. DNS changes can take a few minutes.","generic":"Something went wrong. Try again.","hasListingLive":"Your listing is already live. Contact support to link it to this agency."},"successReview":"Proof received. The domain does not match the agency name, so our team reviews the link before it goes live."},"dispute":{"open":"Report ownership","title":"Report the owner of {name}","sub":"Tell us why this account does not run the agency. The owner gets 48 hours to show evidence, and our team reviews the outcome.","reportLabel":"Listing ownership dispute"}},"gifterLevels":{"seo":{"title":"TikTok Gifter Levels - full table (2026 coins, USD, perks) {'|'} Tik.Tools","description":"Every TikTok gifter level from Level 1 to Level 50+ - cumulative coins required, USD cost, diamonds gifted, and badge perks. Free reference table updated for 2026.","ogTitle":"TikTok Gifter Levels - 2026 reference","ogDescription":"Full TikTok gifter-level progression table: coins, USD, diamonds, perks."},"hero":{"eyebrow":"TIKTOK GIFTER RANKS · 2026","title":"TikTok {accent} - full progression table","titleAccent":"Gifter Levels","sub":"Every TikTok gifter level, the cumulative coins required, and the approximate USD cost. Levels persist across creators - they unlock badges (frames + glowing entry effects) that follow the gifter into any LIVE they join."},"lookup":{"label":"Check any gifter's level","placeholder":"Type a TikTok {'@'}handle","hint":"Level, home region and lifetime gifting for any TikTok account.","apiKey":"Get a 7-day evaluation key","leaderboards":"Live gifter leaderboards"},"table":{"scrollHint":"Swipe the table sideways for USD spent and perks","ariaLabel":"TikTok gifter levels table","level":"Level","name":"Name","coins":"Coins to reach","usd":"USD spent","perks":"Perks","levelPill":"L{level}","foot":"USD figures are the official TikTok Recharge prices from tiktok.com/coin (Sep 2025 snapshot). App Store / Play Store purchases typically run 30% more expensive due to platform fees. Coin requirements per level are TikTok's published thresholds for the Gifter Level Program - hitting Level N means the gifter has spent the listed cumulative coin total across every LIVE they have ever gifted in."},"levelNames":{"1":"Newcomer I","2":"Newcomer II","3":"Newcomer III","4":"Newcomer IV","5":"Bronze I","6":"Bronze II","7":"Bronze III","8":"Bronze IV","9":"Silver I","10":"Silver II","11":"Silver III","12":"Silver IV","13":"Gold I","14":"Gold II","15":"Gold III","16":"Gold IV","17":"Platinum I","18":"Platinum II","19":"Platinum III","20":"Platinum IV","21":"Diamond I","22":"Diamond II","23":"Diamond III","24":"Diamond IV","25":"Crown I","26":"Crown II","27":"Crown III","28":"Crown IV","29":"Royal Crown I","30":"Royal Crown II","31":"Royal Crown III","32":"Royal Crown IV","33":"King I","34":"King II","35":"King III","36":"King IV","37":"Emperor I","38":"Emperor II","39":"Emperor III","40":"Emperor IV","41":"Cosmos I","42":"Cosmos II","43":"Cosmos III","44":"Cosmos IV","45":"Universe I","46":"Universe II","47":"Universe III","48":"Universe IV","49":"Legend","50":"Mythic"},"levelPerks":{"1":"Default badge","2":"First level badge","3":"Comment color unlock","4":"Enter effect bronze tier","5":"Bronze badge unlock","6":"Bronze frame","7":"Animated bronze frame","8":"Bronze elite frame","9":"Silver badge unlock","10":"Silver frame + comment glow","11":"Silver animated frame","12":"Silver elite frame","13":"Gold badge unlock","14":"Gold frame + entrance highlight","15":"Gold animated frame","16":"Gold elite frame","17":"Platinum badge unlock","18":"Platinum frame","19":"Platinum animated frame","20":"Platinum elite frame + custom entry FX","21":"Diamond badge unlock","22":"Diamond frame","23":"Diamond animated frame","24":"Diamond elite + top-gifter rail priority","25":"Crown badge unlock","26":"Crown frame","27":"Crown animated frame","28":"Crown elite + premium entry VFX","29":"Royal Crown badge unlock","30":"Royal Crown frame","31":"Royal Crown animated frame","32":"Royal Crown elite frame","33":"King badge unlock","34":"King frame","35":"King entrance animation","36":"King elite frame + cosmic aura","37":"Emperor badge unlock","38":"Emperor frame","39":"Emperor animated frame","40":"Emperor elite frame","41":"Cosmos badge unlock","42":"Cosmos frame","43":"Cosmos animated aura","44":"Cosmos elite aura","45":"Universe badge unlock","46":"Universe frame","47":"Universe animated aura","48":"Universe elite aura","49":"Legend tier - top 0.001% of all gifters","50":"Mythic tier - max public gifter level"},"cta":{"heading":"Track gifters across every creator","rankings":{"eyebrow":"GIFTER RANKINGS","title":"Live whale leaderboards","sub":"{count} regions, daily / weekly / lifetime. Unmasked at PRO+."},"firehose":{"eyebrow":"FIREHOSE WS","title":"Real-time gift firehose","sub":"Every gift, every region. {price}/wk."},"api":{"eyebrow":"DEVELOPER API","title":"Build a gifter dashboard","sub":"Drop-in SDK. WebSocket + REST. From {price}/wk."}},"explainer":{"heading":"How TikTok gifter levels work","p1":"TikTok tracks {coinsSpent} across every LIVE you've ever gifted in. Each threshold unlocks a new {gifterLevel} with a unique badge, a glowing chat color, and an entry effect that fires when you join any creator's stream. Levels are global - they do not reset, and they show up no matter which creator you watch.","p1CoinsSpent":"cumulative coins spent","p1GifterLevel":"gifter level","p2":"At higher tiers (Level 25+), TikTok adds {vip}, custom comment frames, and prioritised placement in the top-gifter rail of every LIVE you enter. Level 36+ unlocks the rare {cosmicAura}; Level 45+ unlocks the {universe} tier; Level 49-50 are the public-ceiling {legend} and {mythic} tiers. Creators see your level attached to every gift you send.","p2Vip":"VIP entrance animations","p2CosmicAura":"cosmic aura","p2Universe":"Universe","p2Legend":"Legend","p2Mythic":"Mythic","faqHeading":"Frequently asked"},"faq":{"howWork":{"q":"How do TikTok gifter levels work?","a":"TikTok tracks cumulative coins spent across every LIVE you have ever gifted in. Each threshold unlocks a gifter level with a badge, glow color, and entry effect that follows you into any creator stream."},"worth":{"q":"How much money is each gifter level worth?","a":"Real TikTok Recharge prices: Level 10 (Silver II) = 530 coins ≈ $5.52. Level 20 (Platinum IV) = 27,800 coins ≈ $289. Level 30 (Royal Crown II) = 637,000 coins ≈ $6,625. Level 40 (Emperor IV) = 8.78M coins ≈ $91K. Level 50 (Mythic) = 97.5M coins ≈ $1.01M."},"reset":{"q":"Do TikTok gifter levels reset or expire?","a":"No. Gifter levels are global and permanent. Once you hit Level 25, you keep that badge forever - including in creators streams you have never watched before."},"highest":{"q":"What is the highest TikTok gifter level?","a":"TikTok publicly shows up to Level 50 (Mythic). Reaching it requires roughly 97.5 million cumulative coins (~$1.01 million USD at official Recharge prices)."},"carry":{"q":"Do gifter levels carry between creators?","a":"Yes - levels are tied to your TikTok account, not the creator. The same badge shows up whether you join a small streamer or a 50K-viewer Match."},"creatorSees":{"q":"Can a creator see who is the highest-level gifter in their LIVE?","a":"Yes. TikTok shows the top-gifter rail with each viewer level. Tik.Tools agency dashboards expose richer detail - cumulative diamonds, recent gift history, cross-creator footprint."}},"jsonLd":{"level30":{"q":"How many coins do I need to reach Level 30?","a":"Level 30 (Royal Crown II) requires 637,000 cumulative coins, which is $6,624.80 USD at the official TikTok Recharge rate. iOS / Android purchases cost roughly 30% more due to App Store / Play Store fees."},"reset":{"q":"Do TikTok gifter levels reset?","a":"No. Levels are global, persist across creators, and do not reset. Once you hit a level you keep it."},"highestA":"TikTok publicly shows up to Level 50+, with elite tiers (cosmic aura) starting at Level 36."}},"diamondsCalculator":{"seo":{"title":"TikTok Diamonds Calculator - convert diamonds to USD (2026 rates) {'|'} Tik.Tools","description":"Free TikTok diamonds calculator. Convert TikTok diamonds to USD and back in real time. Includes the 2026 coin-to-diamond rate, creator payout (1 diamond = $0.005), and the full gift-cost table.","ogTitle":"TikTok Diamonds Calculator - real-time USD converter","ogDescription":"Convert TikTok diamonds to USD with 2026 rates. Explains TikTok fees, creator payouts, and platform splits."},"hero":{"eyebrow":"FREE CALCULATOR · 2026 RATES","title":"TikTok Diamonds {accent}","titleAccent":"Calculator","sub":"Convert TikTok diamonds to USD in real time. Type in either side - the other updates instantly using TikTok's published rates ($1 = 200 coins, 1 diamond = $0.005 creator payout)."},"converter":{"diamonds":"Diamonds","usd":"USD (creator payout)","split":"Viewer paid {paid} · TikTok keeps {kept}"},"presets":{"universe":"Universe (44,999 ◇)","lion":"Lion (29,999 ◇)"},"lookup":{"label":"See any creator's diamonds","placeholder":"Type a creator {'@'}handle","hint":"Diamonds, gifters and live history for any TikTok creator.","apiKey":"Get a 7-day evaluation key","leaderboards":"Creator leaderboards"},"cta":{"heading":"Make TikTok LIVE data your data","api":{"eyebrow":"DEVELOPER API","title":"Real-time chat, gifts, battles","sub":"REST + WebSocket. Drop-in SDK. Live from {price}/wk."},"leaderboards":{"eyebrow":"LEADERBOARDS","title":"{count} regions, every creator","sub":"Daily / hourly / lifetime ranks. Unmasked at PRO+."},"agency":{"eyebrow":"GLOBAL AGENCY","title":"Live Gifter Firehose + Telegram","sub":"Scout every region. {price}/wk."}},"explainer":{"heading":"How TikTok diamonds, coins, and creator fees work","p1":"When a viewer buys coins, TikTok charges roughly {rate} on the web checkout (mobile prices vary by store fees - $1 is often closer to 70-100 coins on iOS/Android due to App Store taxes). Each LIVE gift costs the viewer a fixed number of coins, and when the gift lands on a creator's stream it's converted into {diamonds} - TikTok's internal accounting currency.","p1Rate":"$1 per 200 coins","p1Diamonds":"diamonds","p2":"Creators cash out diamonds at {rate} (half a US cent). That means TikTok keeps roughly {share} the viewer paid - the other half pays the creator. A 1,000-diamond gift cost the viewer around $10 and pays the creator $5. This split has been stable since 2020.","p2Rate":"1 diamond = $0.005","p2Share":"50% of the gross","callout":"{important} creator payouts are {before} TikTok's own platform deductions (LIVE host program splits, region multipliers, agency cuts if the creator is signed). Final take-home in a creator's account can be 20-40% lower than the gross diamond value times $0.005, depending on agency contract terms.","calloutImportant":"Important:","calloutBefore":"before"},"rates":{"heading":"Common rates at a glance","diamonds":"Diamonds","viewerPaid":"Viewer paid ≈","creatorPayout":"Creator payout ≈","commonGifts":"Common gifts","gifts":{"d5":"Rose · 1 coin = 5 diamonds when sent","d99":"Perfume · TikTok","d100":"Hand Heart · Sunglasses","d1000":"Galaxy · Sports Car","d5000":"Hydrangea · Sports Car premium","d10000":"Drama Queen · Yacht","d29999":"Lion","d44999":"Universe · TikTok Universe"}},"faqHeading":"Frequently asked","faq":{"oneDiamond":{"q":"How much is 1 TikTok diamond worth in USD?","a":"1 diamond = $0.005 (half a US cent) creator payout. The viewer paid ~$0.01 to produce that diamond."},"hundredUsd":{"q":"How many diamonds is $100 USD?","a":"$100 creator payout = 20,000 diamonds. Viewer cost was ~$200 of coins."},"fiftyPercent":{"q":"Does TikTok take 50% of diamonds?","a":"Yes - roughly 50/50 split. Viewers pay ~$0.01 per diamond, creators receive ~$0.005 per diamond."},"cheapest":{"q":"What is the cheapest TikTok gift?","a":"Rose at 1 coin (~$0.005 viewer cost / $0.0025 creator payout once converted)."},"mostExpensive":{"q":"What is the most expensive TikTok gift?","a":"Universe / TikTok Universe at 44,999 diamonds (~$450 viewer cost / $225 creator payout). Lion is 29,999 diamonds."},"taxable":{"q":"Are TikTok diamonds taxable income?","a":"Yes - TikTok issues a 1099 in the US once you cross the IRS reporting threshold. Other regions follow local rules."},"payout":{"q":"When do diamonds get paid out?","a":"TikTok runs monthly batches with a minimum payout threshold ($50 in the US). Funds settle 30-60 days after the billing cycle closes."}},"jsonLd":{"oneDiamondA":"1 TikTok diamond = $0.005 (half a US cent) for creator payout. The viewer paid roughly $0.01 to buy the coins that produced that diamond - TikTok keeps the other half.","hundredUsd":{"q":"How many diamonds is $100?","a":"$100 creator payout equals 20,000 diamonds. The viewer side spent roughly $200 of coins to produce them."},"fiftyPercentA":"Yes, TikTok takes roughly 50% of the gross gift revenue. Viewers pay ~$0.01 per diamond in coins; creators receive ~$0.005 per diamond in payout.","taxable":{"q":"Are diamond payouts taxable?","a":"Yes, TikTok creator payouts count as taxable income in most jurisdictions. TikTok issues a 1099 in the US once you cross the IRS threshold; other regions follow local rules."}}},"gifts":{"seo":{"title":"TikTok Live Gifts - full catalog + free downloads","description":"Every TikTok LIVE virtual gift in one searchable catalog. Diamond cost ($0.01 each), USD value, transparent PNG download. Compiled from real gift events on tik.tools, the live-stream API for developers and agencies.","socialDescription":"Every TikTok LIVE virtual gift in one place. Search, sort by value, download the transparent PNG."},"hero":{"title":"TikTok Live {accent}","titleAccent":"Gifts","sub":"Every TikTok LIVE virtual gift in one place. Diamond cost, dollar value, free download. Pulled live from the same firehose the tik.tools SDK powers.","count":"{count} gifts"},"searchPlaceholder":"Search gifts by name...","sort":{"valueDesc":"High to low","valueAsc":"Low to high","name":"Name A-Z","recent":"Recent"},"captcha":{"title":"Quick check","sub":"Pick the matching tile to continue browsing. {question}","loadError":"Could not load challenge. Refresh.","wrongAnswer":"Wrong answer. Try another."},"empty":"No gifts match \"{search}\".","viewDownload":"View + Download","pager":{"prev":"Prev","next":"Next","info":"Page {page} of {total}"},"cta":{"title":"Want every gift event in real time?","body":"The same catalog feeds the tik.tools API. Connect your app and receive every gift, chat, like, and follow in real time.","primary":"See the API","secondary":"7-day evaluation"}},"pricing":{"seo":{"title":"TikTok LIVE API Pricing","description":"TikTok LIVE API pricing. Sandbox, Basic {symbol}{basic}/wk, Pro {symbol}{pro}/wk, Ultra {symbol}{ultra}/wk, Agency {symbol}{agency}/wk. Real-time WS events (chat/gift/like/follow/join/battle), signed REST, league + leaderboard data.","ogDescription":"TikTok LIVE API pricing. Sandbox, Basic {symbol}{basic}/wk, Pro {symbol}{pro}/wk, Ultra {symbol}{ultra}/wk, Agency {symbol}{agency}/wk."},"hero":{"title":"Pricing for every {accent}.","titleAccent":"team","subtitle":"TikTools starts with a Sandbox key for a 7-day evaluation, no credit card, then a paid plan is required. Paid plans from {symbol}{price}/wk."},"keySelector":{"label":"Select which API key to manage","createNew":"Create New Key","newKeyPlaceholder":"Name your new key (e.g. Production, Assistant 2...)","unnamed":"Unnamed","renews":"Renews {date}","choose":"Choose an API key..."},"leadHeading":"Evaluate free for 7 days. Then pick a plan","billing":{"ariaLabel":"Billing cycle","weekly":"Weekly","monthly":"Monthly","saveUpTo":"save up to {percent}%"},"period":{"weekly":"wk","monthly":"mo","weekFull":"wk","monthFull":"mo"},"cycleName":{"weekly":"weekly","monthly":"monthly"},"card":{"save":"save {percent}%","monthlyOnly":"monthly only","mostPopular":"Most Popular","basic":{"desc":"Personal projects and small bots - everything you need to get started","foot":"Community & Docs support · ideal for personal projects + small bots"},"pro":{"desc":"For developers building production applications","foot":"Full unmasked Leaderboard API · Feed Discovery · priority chat"},"ultra":{"desc":"For teams and high-volume enterprise use","foot":"Gift Catalog + unmasked League Rankings · webhook peak-viewer / high-value-gift events"},"starter":{"desc":"For agencies that recruit one region at a time: the agency dashboard plus API access","foot":"Agency dashboard: roster, pipeline, per-region recruit, creator digest, alerts, team · standard, league + gaming boards and your region's gifter board unmasked · included, no credits"},"global":{"desc":"For agencies scouting + managing TikTok LIVE creators","foot":"Everything in Ultra + Gaming Ranks (all regions) · Live Gifter Firehose WS · VIP Telegram + Web Vault · unmasked Gifter Leaderboard · CRM + watchlist · follower-milestone webhooks · IP allowlist"}},"stats":{"requestsPerDay":"requests / day","wsConnections":"WS connections","accountChecksPerDay":"account checks / day","webhook":"webhook · {perDay}/day","webhooks":"webhooks · {perDay}/day","seatsIncluded":"seats included"},"chips":{"leaderboards":"Leaderboards","leagues":"Leagues","gamingRanks":"Gaming Ranks","gifters":"Gifters"},"cta":{"subscribeTo":"Subscribe to {plan}","subscribe":"Subscribe","startFree":"Start 7-day evaluation","currentPlan":"Current Plan","changing":"Changing...","switchToCycle":"Switch to {cycle}","switchTo":"Switch to {plan}","upgradeTo":"Upgrade to {plan}","downgradeTo":"Downgrade to {plan}","get":"Get {plan}"},"weekendPass":{"tag":"3-DAY PASS","line":"3 days of Pro for {price} one-time, then weekly Pro. Cancel anytime.","starting":"Starting...","cta":"Get the 3-day Pro Pass · {price}"},"enterprise":{"badge":"ENTERPRISE","heading":"Need more? Let's talk.","desc":"Custom limits, dedicated infrastructure, and volume pricing for your team. Contact us via chat at bottom right - {strong}.","descStrong":"we usually respond instantly","cta":"Chat with us"},"comparison":{"heading":"What Features Are Included in Each TikTok LIVE API Plan?","glossary":{"maskedTerm":"Masked / Unmasked","maskedDef":"Masked hides real usernames and avatars (shows placeholders); unmasked shows the real creator or gifter identity.","diamondsTerm":"Diamonds","diamondsDef":"TikTok's gift-value unit. Roughly $0.005 each - we use it to rank spend on leaderboards.","wsTerm":"WS sessions / connections","wsDef":"Live WebSocket connections - one per TikTok LIVE room you stream events from in real time."},"hint":"Swipe sideways to compare every plan","tableAriaLabel":"Plan comparison table, scrolls sideways","featureHeader":"Feature","badges":{"proOnly":"PRO+ ONLY","ultraOnly":"ULTRA+ ONLY","agencyOnly":"AGENCY","unmaskedProPlus":"UNMASKED IN PRO+","unmaskedUltraPlus":"UNMASKED IN ULTRA+","unmaskedAgency":"UNMASKED IN AGENCY GLOBAL"},"included":"included","notIncluded":"not included","rows":{"accessPeriod":{"feature":"Access period","tooltip":"A Sandbox key is for evaluating the API and works for 7 days from account creation. After that every request returns \"Evaluation period ended\" until you choose a paid plan. Paid keys work for as long as the subscription is active."},"requestsPerDay":{"feature":"Requests/day","tooltip":"Maximum number of API requests your key can make per day (UTC reset). Sandbox resets daily; paid tiers count against your billing cycle quota."},"rateLimit":{"feature":"Rate limit","tooltip":"Per-minute throttle. Even Agency keeps a hard ceiling so a runaway while(true) in a customer script can never saturate shared infrastructure."},"wsSessionTokens":{"feature":"Daily WS Session Tokens","tooltip":"Enough to build and debug a small bot or multi-stream dashboard. Heavy concurrent monitoring will exhaust the 50 daily sessions; production applications must upgrade."},"wsMaxDuration":{"feature":"WS max duration","tooltip":"Sandbox sessions are force-closed at 2 hours with a \"Daily Demo Limit Reached\" frame and burn one of the 50 daily sessions. Basic 8h, Pro 12h, Ultra + Agency 24h with auto-reconnect."},"datacenterProxies":{"feature":"Managed connections","tooltip":"Sandbox connects directly from your own IP. Paid tiers connect through our managed infrastructure."},"accountChecks":{"feature":"Account checks (resolve_user_ids)","tooltip":"POST /webcast/resolve_user_ids - resolves numeric TikTok user IDs to usernames via our infra. Quotas sized so the Bulk endpoint (50/req on Pro, 100/req on Ultra, 200/req on Agency) is actually usable across the day."},"maxConcurrentStreams":{"feature":"Max Concurrent Streams","tooltip":"Simultaneous live WebSocket streams per API key at any given moment. Community is capped at 3 concurrent streams (run on your own IP); TikTok limits ~5 connections per IP, so scaling past that needs a Basic+ plan. Custom Enterprise plans available above 500."},"leaderboardApi":{"feature":"Leaderboard Data API","tooltip":"POST /webcast/ranklist/regional - top 10 leaders unmasked on EVERY paid tier (dev sandbox - ship your client + UI). Diamonds visible on every entry. PRO+ unmasks the full board across all {regions} regions."},"giftCatalogApi":{"feature":"Gift Catalog API","tooltip":"GET /webcast/gift_info + /webcast/gifts_by_country - TikTok gift catalog (gift_id, name, diamond cost, icon URL, combo/streakable flag, per country). Free + Basic get a read-only 50-gift sample - enough to build OBS overlays and map common gifts. Pro + Ultra + Agency get the FULL live catalog for any region with continuous re-sync (new gifts ship from TikTok periodically; one-off pulls go stale fast)."},"liveShopApi":{"feature":"Live Shop Activity API","tooltip":"GET /webcast/live-shop?unique_id=X (or ?region=US) - real-time TikTok LIVE Shop activity for a seller room: products shown (title, price, image, PDP link), live stock levels, sold-out events, sales velocity, and live-auction status. Free + Basic get a read-only sample of the schema. Pro + Ultra + Agency get live shop data for any live US/global seller. Order/buyer/winning-bid data is not included - it is not part of the public live stream, only product and stock activity is. 60 calls/hour."},"gifterLeaderboardApi":{"feature":"Gifter Leaderboard API","tooltip":"GET /webcast/gifters/leaderboard (by region) and /webcast/agency/events?type=gifters (top gifters for one creator, Agency only) - cross-creator gifter intelligence. On the API: Sandbox and Basic are locked; Pro, Ultra and Agency Starter see masked names; Agency Global unmasks. On the website gifter boards every plan sees the top 3 gifters, and Agency Starter sees the full board for its own region. The deeper gifter profile view is dashboard-only."},"leagueRankingsApi":{"feature":"League Rankings API","tooltip":"POST /webcast/ranklist/regional rank_type=16 - Diamond Rush league rankings (A1-D5 divisions). Full unmasked league boards are an ULTRA and Agency feature. Sandbox, Basic and Pro see a one-row preview per division to confirm the board exists; upgrade to Ultra or Agency to unlock every division fully unmasked in real time."},"gamingRanks":{"feature":"Gaming Ranks","tooltip":"GET /webcast/ranklist/gaming - the TikTok LIVE Gaming Ranking (the live in-app gaming leaderboard) per region, recorded continuously and served fully unmasked with diamonds + estimated earnings. Also live on the website at /tiktok-live-gaming-ranks. Agency only - everyone else sees a masked 3-name preview."},"popularLive":{"feature":"Popular LIVE board","tooltip":"GET /webcast/ranklist/popular - TikTok's real-time Popular LIVE ranking per region (the creators TikTok is featuring in search right now), refreshed continuously and served fully unmasked with live status + diamonds. Also live on the website at /popular-live. Agency only - everyone else sees a masked 3-name preview."},"teamsClubs":{"feature":"Teams / Clubs board","tooltip":"TikTok clubs ranked by their members combined diamonds, per region. Club name, level, member count and the host each club streams under. Agency exclusive."},"regionalLeaderboard":{"feature":"Regional Leaderboard Access","tooltip":"POST /webcast/ranklist/regional - returns a signed URL the client fetches with their own TikTok session cookie. Community + Basic locked."},"feedDiscovery":{"feature":"Feed Discovery","tooltip":"GET /webcast/feed - discover currently live streams (For You / Suggested / Following). Community + Basic locked."},"bulkAccountChecks":{"feature":"Bulk account checks","tooltip":"POST /webcast/resolve_user_ids - resolve up to N TikTok user IDs in a single request. Per-request caps keep responses fast. Implement array chunking in your loop - daily quotas above (Pro 2k, Ultra 20k, Agency 50k) cover any agency workload."},"bulkCopy":{"feature":"Bulk copy (rosters, gifters, watchlist)","tooltip":"Copy a whole board - creators, gifters, watchlist or checked list - to the clipboard in one tap, ready to paste into your own sheet or CRM. Agency only."},"gifterFirehose":{"feature":"Live Gifter Firehose WS","tooltip":"Real-time gift event stream. Filter by region, league, or global + min-diamond threshold. Agency only."},"vipTelegram":{"feature":"VIP Telegram alerts","tooltip":"Automatic alerts pushed to agency owners and scouts via dedicated Telegram channels."},"vipWebVault":{"feature":"VIP Web Vault","tooltip":"Full unmasked historical visual access to gifters and creators. Agency only."},"support":{"feature":"Support","tooltip":"Sandbox + Basic: Discord bot AI support + full docs (self-serve). Pro: in-app chat. Ultra + Agency: priority chat with faster response. Upgrade to Pro for direct email/chat debugging."},"outgoingWebhooks":{"feature":"Outgoing webhooks","tooltip":"HMAC-signed HTTPS POSTs to your endpoint when watched creators go live / end. Configure at /webhooks."},"webhookDeliveries":{"feature":"Webhook deliveries / day","tooltip":"Daily delivery cap per user. Does NOT count against your API request quota."},"webhookLiveEvents":{"feature":"Webhook events: live.start / live.end","tooltip":"Detect when watched creators go live and end streams."},"webhookPeakGifts":{"feature":"Webhook events: peak viewers + high-value gifts","tooltip":"live.peak_viewers (concurrent count milestones 100..1M) + live.gift.high_value (gifts ≥ 1000 diamonds). Ultra and Agency only."},"webhookFollowerMilestone":{"feature":"Webhook event: follower milestone","tooltip":"creator.follower_milestone fires when a watched creator crosses 1K / 5K / 10K / 25K / 50K / 100K / 250K / 500K / 1M / 2M / 5M / 10M / 50M / 100M followers. Agency only."},"hmacSigning":{"feature":"HMAC signing + retry + 30-day replay","tooltip":"HMAC-SHA256 (X-Tiktool-Signature). Retry schedule 0s / 30s / 2m / 10m / 1h / 6h (6 attempts ~7h). 30-day delivery audit + manual replay."}},"cells":{"perDay":"{n}/day","perMin":"{n}/min","per24h":"{n} / 24h","hours":"{n} hours","perReq":"{n}/req","target":"{n} target","targets":"{n} targets","sevenDayEvaluation":"7-day evaluation","whileSubscribed":"While subscribed","max2hPerSession":"Max 2h per session","ownIpOnly":"Own IP only","top10Unmasked":"Top 10 unmasked","full100Unmasked":"Full 100% unmasked","sampleReadOnly":"Sample (read-only)","fullLiveSync":"Full · live sync","fullLive":"Full · live","maskedNames":"Masked names","unmasked":"Unmasked","previewOnly":"Preview only","full100UnmaskedRealtime":"Full 100% UNMASKED · Real-time","fullBoardOneRegion":"Full board · one region at a time","fullBoardAllRegions":"Full board · all regions","fullBoardAllRegionsRealtime":"Full board · all regions · real-time","agencyDashboard":"Agency dashboard","fullDashboardAccess":"Full Dashboard Access","communityDocs":"Community & Docs","chat":"Chat","priorityChat":"Priority Chat","unlimited":"Unlimited"}},"included":{"heading":"What's Included In Every Paid Tier","allInclusive":{"title":"All-Inclusive Pricing","body":"Signatures, request signing, priority routing and premium stream paths are bundled into every paid tier - no add-ons, no surprise charges. Each plan's published price is the all-in price."},"beyondChat":{"title":"Beyond Chat & Gifts","body":"Agency intel surfaces (leaderboards, leagues, scouting), the gift catalog and live shop activity - things you would otherwise stitch together from multiple vendors."},"predictable":{"title":"Predictable Pricing","body":"Hard daily caps mean no overage charges, no surprise invoices. Need more headroom? Upgrade to the next tier in one click - changes take effect immediately. Cancel anytime; you keep access until the period ends."}},"faq":{"heading":"Frequently Asked Questions","items":{"switchPlans":{"q":"Can I switch plans?","a":"Yes - upgrade, downgrade, or change billing cycles anytime from the Pricing page. Changes take effect immediately: unused time on your current plan is credited, any difference is charged the same day, and your billing cycle restarts from the day you switch."},"exceedLimit":{"q":"What happens if I exceed my daily limit?","a":"Requests are stopped at your daily cap. No overage charges, no surprise invoices. If you need more headroom, upgrade to the next tier from the Pricing page - changes take effect immediately."},"refunds":{"q":"Do you offer refunds?","a":"API and agency plans are non-refundable: the 7-day Sandbox evaluation is there so you can check the product before you pay. If a service is provably broken on our side (a sustained outage), or you were charged twice or in error, we refund or credit the affected amount. Reading hours for the TTS app are the one exception: each account can get one refund of its unused hours. Terms sections 5 and 16 have the full rules."},"apiKeys":{"q":"How do API keys work?","a":"After subscribing, your API key is automatically generated and available in your Dashboard. There is one key per account, and your plan and usage limits attach to it."},"cancel":{"q":"Can I cancel anytime?","a":"Absolutely. Cancel from the Billing page and your subscription continues until the end of the current period. No penalty, no fees."},"manage":{"q":"How do I manage my subscription?","a":"Everything is managed through your Billing page - view subscriptions, update payment methods, download invoices, and cancel plans. No external portals needed."},"sandbox":{"q":"What is the Sandbox tier?","a":"Sandbox is the 7-day evaluation, counted from the day your account is created. After 7 days every request returns \"Evaluation period ended\" until you choose a paid plan. During the evaluation you get 5,000 requests/day, 20 requests/min, 50 WS sessions per 24h, up to 3 concurrent streams, 2 hours max per session, no credit card. Sandbox connections run from your own IP. Some data endpoints (resolve_user_ids, agency-grade Gifter Leaderboard) are paid-only. Community is the legacy alias for the same tier."}}},"checkout":{"discountNamed":"Discount ({name})","discount":"Discount","subtotal":"Subtotal","total":"Total","loadingKeys":"Loading keys...","upgradeKeyLabel":"Upgrade API Key","unnamedKey":"Unnamed key","apiKeyLabel":"API Key:","appliedToExisting":"This plan will be applied to your existing API key.","haveCoupon":"Have a coupon code?","couponPlaceholder":"Coupon code","checking":"Checking...","apply":"Apply","remove":"Remove","couponApplied":"Coupon applied!","businessPurchase":"Business purchase","companyPlaceholder":"Company name","payCardLabel":"Subscribe with Card","payOnceLabel":"Pay once · no auto-renewal","payOnceTitle":"Single payment, no auto-renewal","payOnceSub":"Alipay · WeChat · Crypto · Card · iDEAL · Pix · OXXO","paypalLabel":"Subscribe with PayPal","paypalSub":"PayPal balance · linked card · Venmo · opens in popup","settingUp":"Setting up payment...","addCompany":"Add company name (optional)","paymentMethod":"Payment method","oneTimeTag":"One-time payment · {period} access","autoRenewTag":"Auto-renews every {period}","oneTimeMethods":"Card · UnionPay 银联 · Alipay · WeChat Pay · PayPal · iDEAL · Pix · OXXO · Crypto · Apple Pay · Google Pay","processing":"Processing...","pay":"Pay {amount}","back":"Back to summary","successTitle":"Subscription Activated!","successBody":"Your API key has been upgraded to {plan}. Head to your dashboard to get started.","goDashboard":"Go to Dashboard","secured":"Secured by Stripe. We never store your card details.","signedInAs":"Signed in as {email}"},"planModal":{"keepCurrent":"Keep Current Plan"},"agencyUpgrade":{"title":"Upgrade to Agency {cycle}","body":"You currently have {current} active. We'll upgrade your existing subscription in place - one subscription, no double-charge. Stripe will credit the unused time on your current plan and charge only the difference today.","credit":"Credit for unused time on your current plan","lineItem":"Agency {cycle}","tax":"Tax","chargedToday":"Charged to your card today","chargedOnFile":"Charged to the card on file. Cancel anytime.","confirm":"Confirm upgrade - {amount}","cancel":"Cancel","footer":"Stripe handles the proration math. No double-charge.","current":"{plan} {cycle}"},"weekendPassModal":{"title":"Developer {pass}","passName":"Weekend Pass","lineItem":"Pro - 3-day Pass","oneTime":"{price} one-time","autoRenewNote":"After 3 days, auto-renews to weekly Pro. Cancel anytime.","successTitle":"Weekend Pass Activated!","successBody":"3 days of Pro access. Redirecting..."},"planChange":{"creditLine":"Credit for unused time on your current plan: -{amount}","newPrice":"New {plan} {cycle}: {amount}","firstCharged":", first charged {date}","paypalNote":"PayPal opens to approve the new plan; your current PayPal plan is cancelled once it is approved.","continuePaypal":"Continue to PayPal","taxLine":"Tax: {amount}","chargedToday":"Charged to your card today: {amount}","creditedNext":"Credited to your next invoice: {amount}","nothingToday":"Nothing to pay today.","inPlace":"One subscription, changed in place. No double charge.","noPreview":"You'll be moved to {plan}. Unused time on your current plan is credited, and any difference is settled on the card on file.","confirmCharge":"Confirm - charge {amount}"},"errors":{"noClientSecret":"No clientSecret returned","paymentFormFailed":"Payment form failed to load. Please refresh and try again.","weekendPassStartFailed":"Could not start Weekend Pass checkout","cardDeclined":"Card was declined","commitFailed":"Commit failed","paymentFailed":"Payment failed","alreadyOnPlan":"You are already on this plan.","paymentReceivedPending":"Payment received. Your plan updates as soon as it clears, there is no need to pay again.","paymentConfirmedPlanUpdated":"Payment confirmed. Plan updated.","paypalNoApproval":"PayPal did not return an approval link. Try again.","subscriptionCancelled":"Subscription cancelled","planUpdated":"Plan updated","couldNotUpdatePlan":"Could not update plan - please try again or contact support.","failedUpdatePlan":"Failed to update plan. Your plan has not changed.","upgradeNeedsConfirmation":"Upgrade requires confirmation - please retry.","agencyCheckoutFailed":"Could not start agency checkout. Try again later.","openCheckoutFailed":"Failed to open checkout","loadKeysFailed":"Failed to load API keys. Please try again.","fixCoupon":"Please fix or remove the invalid coupon before continuing.","paymentSystemNotLoaded":"Payment system not loaded. Please try again.","oneTimeFailed":"One-time checkout failed","paymentInitFailed":"Payment could not be initialized. Please try again.","createSubscriptionFailed":"Failed to create subscription","invalidCoupon":"Invalid coupon code","couponValidateFailed":"Could not validate coupon","paypalFailed":"PayPal checkout failed - try again or use card.","paymentSystemNotLoadedRefresh":"Payment system not loaded. Refresh the page and try again.","paymentFormNotReady":"Payment form not ready. Refresh the page and try again.","paymentFailedCheckCard":"Payment failed. Check your card and try again.","renewKeyNotFound":"Could not find that key to renew - pick it below.","paymentFailedNotCharged":"Payment failed. You were not charged - try again.","subscriptionActivated":"Subscription activated! Your API key is being generated.","checkoutCanceled":"Checkout canceled. You can try again anytime.","appOtherAccount":"This browser is signed in to a different tik.tools account. Sign out, then tap Upgrade in the app again."},"appPlan":{"title":"Complete your {plan} plan","perWeek":"per week","perMonth":"per month","account":"Signed in as {email}","totalWithTax":"{total} today, tax included","renewsWeekly":"Renews every week until you cancel.","renewsMonthly":"Renews every month until you cancel.","otherWays":"Pay with card or PayPal","payCard":"Pay {amount}","preparing":"Preparing your checkout...","processing":"Confirming your payment...","successTitle":"You are all set","successBody":"Your {plan} plan is active. Taking you back to the app.","pendingTitle":"Payment received","pendingBody":"Your payment went through. Your plan turns on within a few minutes.","backToApp":"Back to the app","failedTitle":"Payment did not go through","tryAgain":"Try again","applePayDescription":"TikTools {plan} plan","applePayLabelWeekly":"{plan} plan, weekly","applePayLabelMonthly":"{plan} plan, monthly","agreementWeekly":"TikTools charges {amount} every week until you cancel. Tax may change with your location. Cancel any time on tik.tools/billing.","agreementMonthly":"TikTools charges {amount} every month until you cancel. Tax may change with your location. Cancel any time on tik.tools/billing.","errors":{"generic":"The payment did not go through. You have not been charged.","startFailed":"Checkout could not start. Nothing was charged. Please try again."}}},"home":{"seo":{"title":"TikTok LIVE API and Rankings {'|'} TikTools","description":"TikTools, also written Tik Tools, is the TikTok LIVE API: real-time chat, gifts, likes, viewers and battles over WebSocket, Node.js and Python SDKs, plus regional and league rankings across {regions} regions.","ogDescription":"Everything you need to build on TikTok Live. Real-time Events, Gifts, Battles.","jsonLdDescription":"TikTools is a TikTok LIVE Developer API + Rankings platform. Real-time WebSocket events (chat, gifts, likes, viewers, battles) and creator leaderboards for developers building chat assistants, OBS overlays, analytics dashboards, AI integrations, and games."},"hero":{"quickLinksLabel":"Jump to a leaderboard","quickLinks":{"gifters":"Gifters","leaderboard":"Leaderboard","popularLive":"Popular Live","gaming":"Gaming","teams":"Teams","shopping":"Shopping"},"liveNowLabel":"Creators live now across all regions","liveNow":"LIVE NOW","openWord":"Open {word}","words":{"api":"API","websockets":"Websockets","webhooks":"Webhooks","liveEvents":"Live Events","ranksData":"Ranks Data","giftsEvents":"Gifts & Events","earnings":"Earnings","newCreators":"New Creators","creatorRanks":"Creator Ranks","gamingRanks":"Gaming Ranks","shopRanks":"Shop Ranks","scoutingBoard":"Scouting Board","telegramBot":"Telegram Bot"},"subAgency":"Live creator ranks, earnings and scouting - every region.","subDev":"Live chat, gifts and viewers from any stream. One API.","discoverTalents":"Discover Talents","manageTeam":"Manage Team","agencyPlans":"Agency plans","openDashboard":"Open dashboard","getApiKey":"Get a 7-day evaluation key","apiDocs":"API Docs","viewPricing":"View pricing","browseTalents":"Browse talents","installLabel":"Install command","copyInstall":"Copy install command","copiedInstall":"Copied install command","copy":"Copy","copied":"Copied","pool":{"label":"creators tracked","exclusive":"Agency exclusive","cta":"Claim agency access"},"digest":{"title":"Creator Digest","badge":"New","pitch":"New creators found in your regions, emailed as copy-paste usernames plus a CSV sheet. Every 6 hours to weekly.","price":"Agency from {price}/month","ctaSetup":"Set up your digest","ctaLearn":"See how it works"},"mcp":{"label":"MCP server setup","kicker":"MCP SERVER","setup":"Setup"}},"tutorials":{"kicker":"Tutorials","watchOnYoutube":"Watch on YouTube: {title}","play":"Play tutorial: {title}","choose":"Choose a tutorial","close":"Close video","iframeTitle":"TikTools tutorial"},"liveDemo":{"liveNow":"Live now","waiting":"Waiting for a live channel","watching":"{n} watching","watchingInRegion":"{n} watching in {region}","sent":"sent {gift}","diamonds":"{n} diamonds","liked":"liked","joined":"joined","viewers":"{n} viewers","empty":"Events appear here the moment they happen on TikTok.","count":"{count} events since you opened this page","perMinute":"{n} / min","status":{"open":"connected","retry":"reconnecting","paused":"paused while hidden","connecting":"connecting"},"ago":{"now":"now","seconds":"{n}s","minutes":"{n}m"}},"liveVideo":{"label":"Live video from the demo channel","live":"Live","tapToPlay":"Tap to play","offline":"Video appears when the demo channel is on air","mute":"Mute","unmute":"Unmute"},"events":{"eyebrow":"Explore every event","title":"See the exact JSON your socket delivers","sub":"{count} live event types. Pick one, see the exact payload.","fullReference":"Full WebSocket reference"},"showcase":{"eyebrow":"Everything in one place","dev":{"title":"Everything a developer needs","sub":"WebSocket, typed SDKs, events reference, webhooks, Discord bot.","items":{"websocket":{"tag":"WebSocket","title":"WebSocket API","desc":"Real-time chat, gifts, likes and viewer events over one persistent connection."},"guides":{"tag":"Guides","title":"Developer Guides","desc":"Step-by-step guides to build chat assistants, overlays, and integrations."},"sdks":{"tag":"SDKs","title":"SDKs & REST","desc":"Typed clients for Node.js and Python plus signed REST endpoints in six languages."},"events":{"tag":"Events","title":"Events Reference","desc":"{count} real-time event types - chat, gifts, battles, likes - with full payload shapes."},"webhooks":{"tag":"Webhooks","title":"Webhooks","desc":"Go-live and stream-end notifications pushed to your server as signed HTTPS requests."},"discord":{"tag":"Bot","title":"Discord Bot","desc":"Live alerts, watch lists, and creator stats piped straight into your server."}}},"agency":{"title":"Everything an agency needs","sub":"Leaderboards, gaming ranks, new creators, gifter intel, live shops.","items":{"ranks":{"tag":"Ranks","title":"Leaderboards & Ranks","desc":"Regional and global creator rankings, updated live across every market."},"gaming":{"tag":"Gaming","title":"Gaming Ranks","desc":"Live gaming leaderboards by game and region - who is winning right now."},"creators":{"tag":"Creators","title":"New Creators","desc":"New creators rising on live leaderboards per region, ready to check and recruit."},"gifters":{"tag":"Gifters","title":"Top Gifters","desc":"Whale dependency, top gifters and real earnings for any creator."},"agency":{"tag":"Agency","title":"Agency Suite","desc":"Claim creators, manage regions and rosters, get found in the directory."},"shops":{"tag":"Shops","title":"Live Shops","desc":"Live shopping activity, products and auctions in real time, per region."}}}},"integration":{"liveBadge":"LIVE","dev":{"eyebrow":"How it works","title":"Everything live, in one integration","sub":"Connect, track, ship - three steps to a live product.","steps":{"connect":{"title":"Connect the WebSocket","desc":"Open one persistent connection and get chat, gifts, likes, follows and viewer counts streaming in real time.","cta":"Connect"},"track":{"title":"Track gifts, chat & ranks","desc":"Parse events with our SDK: diamond values, combos, battle scores, and live leaderboard positions - typed end to end.","cta":"See the docs"},"ship":{"title":"Ship your app","desc":"Go live with overlays, assistants, alerts or dashboards. Evaluate for 7 days, then pick a paid plan for production traffic.","cta":"Get started"}}},"agency":{"eyebrow":"For agencies","title":"Everything live, in one agency workflow","sub":"Discover, track, recruit - three steps to a signed roster.","steps":{"discover":{"title":"Discover new creators","desc":"Surface creators rising on live leaderboards per region, filtered below the network ceiling and ready for your eligibility check.","cta":"Find creators"},"track":{"title":"Track diamonds & gifters","desc":"See real earnings, top gifters and whale dependency for any creator - who funds them, and how much.","cta":"See gifters"},"recruit":{"title":"Recruit & manage","desc":"Claim creators to your agency, manage regions and rosters, and get discovered in the agency directory.","cta":"Open the suite"}}}},"carousel":{"eyebrow":"Explore","title":"Built for every TikTok LIVE build","controlsLabel":"Carousel controls","previous":"Previous","next":"Next","learnMore":"Learn more","positionLabel":"Carousel position","goTo":"Go to {title}","cards":{"websocket":{"tag":"WEBSOCKET","title":"Real-time event stream","blurb":"Chat, gifts, likes, follows, viewer counts, and battles over one real-time socket. {count} event types, any language."},"rankings":{"tag":"RANKINGS","title":"Regional leaderboards","blurb":"Live creator rankings across {regions} regions plus league tables, refreshed continuously from the source."},"gaming":{"tag":"GAMING","title":"Gaming rank boards","blurb":"Per-game live gaming leaderboards, region by region, with movers and gap signals for scouting."},"agency":{"tag":"AGENCY","title":"Scouting and intel","blurb":"Gifter intelligence, an eligibility checker, and team tools for agencies running rosters of creators."},"docs":{"tag":"DOCS","title":"SDK and docs","blurb":"MIT-licensed, TypeScript-first SDK for Node and Python with quick-start guides and a full event reference."}}},"lockup":{"eyebrow":"The platform","title":"One API. Every TikTok LIVE signal.","sub":"Events, rankings, webhooks, gifter intel - one endpoint.","tiles":{"api":"API / WebSocket","leaderboards":"Leaderboards","gaming":"Gaming Ranks","shopping":"Shopping Ranks","webhooks":"Webhooks","gifters":"Gifter Intel"}},"actions":{"eyebrow":"Explore the platform","title":"Everything in one place","sub":"Jump straight to the rankings, live tools, and references developers use most.","learnMore":"Learn more","items":{"guides":{"tag":"GUIDES","title":"Guides","desc":"Quick-start tutorials for Node, Python, overlays, and bots."},"rankings":{"tag":"RANKINGS","title":"Leaderboards & Ranks","desc":"Regional and league creator rankings across {regions} regions."},"gaming":{"tag":"GAMING","title":"Gaming Ranks","desc":"Live gaming and shopping leaderboards, region by region."},"agency":{"tag":"AGENCY","title":"Agency","desc":"Scouting, intel, and team tools for creator agencies."},"pricing":{"tag":"PRICING","title":"Pricing","desc":"Start with a 7-day evaluation key, then paid plans for production. No credit card to start."},"gifters":{"tag":"GIFTERS","title":"Gifter Intel","desc":"Top gifters, big-gift drops, and who they support."},"discord":{"tag":"DISCORD","title":"Discord Bot","desc":"Live go-live alerts and rank commands in your server."},"scoutingBoard":{"title":"Scouting Board","desc":"Scout creators and get go-live alerts in your server."},"websocket":{"tag":"WEBSOCKET","title":"WebSocket API","desc":"All {count} live event types over one real-time socket."}}},"examples":{"badge":"Copy-paste examples","title":"Three working files. Pick a language. Run it.","desc":"Swap in your evaluation key, then copy and run. Bigger limits: {link}.","descLink":"get a 7-day evaluation key","titles":{"liveEvents":"Live events monitor","liveVideo":"Live video player","topChannels":"Live top channels (public, no auth)"},"summaries":{"liveEvents":"Stream real-time chat, gifts, likes, follows + viewer counts from any TikTok LIVE creator via WebSocket.","liveVideo":"Play any TikTok LIVE stream in a standard {tag} tag. Stream URLs come baked in to the public ticker - no extra auth call.","topChannels":"List 10 currently-live TikTok creators across the world. No key needed, rate-limited 1 call per 5 min per IP."},"copyLabels":{"liveEvents":"Copy live events monitor code","liveVideo":"Copy live video player code","topChannels":"Copy live top channels (public, no auth) code"},"languagesLabel":"Available languages","langLlm":"LLM prompt","noSignup":"Swap in your evaluation key","footnote":"{tag} 1 WebSocket / 10-min sessions / 6 connects per hour per IP. Need more? {link}.","footnoteTag":"Demo limits","footnoteLink":"Get a 7-day evaluation key"},"agencyDir":{"title":"LIST YOUR AGENCY","sub":"Free listing. Claim creators, get discovered.","cta":"List your agency - free","browse":"Browse agencies"},"faq":{"badge":"FAQ","title":"Frequently Asked Questions About the {accent}","titleAccent":"TikTok LIVE API","desc":"Protocol, signing, pricing, language support - quick answers.","items":{"official":{"q":"Is there an official TikTok LIVE API?","a":"No. TikTok does not offer a public API for live stream data like chat, gifts, or viewer counts. The TikTok Business API only covers ads and shop analytics. To access real-time LIVE data, developers use third-party APIs like Tik.Tools that handle the connection and authentication server-side."},"libraries":{"q":"Are TikTok LIVE libraries like tiktok-live-connector free?","a":"Yes - the open-source clients tiktok-live-connector (Node.js) and TikTokLive (Python) are MIT-licensed and free to install. TikTok requires signed parameters (msToken, X-Bogus) that must be generated server-side, so these libraries delegate signing to a backend; the default is Euler Stream, which has its own free tier and paid plans for higher volumes. Tik.Tools is an independent managed alternative with its own signing infrastructure included."},"eulerStream":{"q":"What is the difference between Tik.Tools and Euler Stream?","a":"Euler Stream is a paid signing backend used by the open-source tiktok-live-connector (Node) and TikTokLive (Python) libraries, all built by the same team. It is a well-supported, mature ecosystem with TypeScript types, official npm packages, and a free tier. Tik.Tools is an independent alternative with its own signing infrastructure and ships extras the Euler ecosystem does not currently offer, such as an optional agency intel layer (scouting, leaderboard, league rankings). Both deliver TikTok LIVE events reliably; pick the one whose feature mix and ecosystem fit your project."},"connect":{"q":"How do I connect to a TikTok LIVE stream?","a":"With Tik.Tools: install the SDK (npm i {'@'}tiktool/live), create a client with your API key and streamer username, and call connect(). Three lines of code. You receive real-time events for chat, gifts, likes, follows, viewer counts, battles, and more via WebSocket. Start with a 7-day evaluation key, no credit card required; after that a paid plan is needed."},"data":{"q":"What data can I get from TikTok LIVE streams?","a":"Real-time access to 90+ event types: chat messages, virtual gifts (with diamond values), likes, follows, viewer join/leave, viewer counts, room info, shares, battles/LinkMic, and subscriptions."},"languages":{"q":"What programming languages work with TikTok LIVE API?","a":"Tik.Tools works with any language that supports WebSocket. Official SDK for Node.js/TypeScript. Python, Go, Rust, Java, C#, C++, PHP, and any other language can connect via raw WebSocket (wss://api.tik.tools), including game engines for interactive games."}}},"guides":{"badge":"Guides","title":"TikTok LIVE API {accent}","titleAccent":"Developer Guides & Resources","desc":"Quick starts, bots, overlays, events - everything to ship.","items":{"gettingStarted":{"tag":"QUICK START","title":"Getting Started Guide","desc":"Connect to TikTok LIVE in under 30 seconds with the free SDK."},"chatBot":{"tag":"CHAT BOTS","title":"Build a TikTok Chat Assistant","desc":"React to commands, track chat, and run interactive chat games."},"overlay":{"tag":"OVERLAYS","title":"Stream Overlay Guide","desc":"Real-time chat, gift alerts, and viewer counts for OBS."},"python":{"tag":"PYTHON","title":"Python TikTok LIVE API","desc":"Connect to TikTok LIVE streams with Python. Async support included."},"websocket":{"tag":"WEBSOCKET","title":"WebSocket Events Reference","desc":"All {count} event types: chat, gifts, likes, follows, battles, and more."},"leaderboard":{"tag":"LEADERBOARDS","title":"Leaderboard & League API","desc":"Regional creator rankings and league tables across every active region."}},"ctas":{"startBuilding":"Start building","readGuide":"Read guide","viewEvents":"View events"},"allGuides":"All Guides","about":"About Tik.Tools","websocketApi":"WebSocket API","apiDocs":"API Docs"},"cta":{"dev":{"title":"How Do I Start {accent} with the TikTok LIVE API?","titleAccent":"Building","desc":"7-day evaluation key, no card - 5,000 requests/day. Pro ({price}/week) for 75,000/day and production.","primary":"Get API Access","secondary":"Quick Start Guide"},"agency":{"title":"Find Your Next {accent} on TikTok LIVE","titleAccent":"Creator","desc":"Live rankings, unmasked intel. Agency Global from {price}/week.","primary":"Discover Talents","secondary":"See Agency Plans"}}},"event":{"bar":{"label":"Limited-time sale","endsIn":"Ends in","cta":"Get the deal"},"countdown":{"endsIn":"Sale ends in","days":"Days","hours":"Hours","minutes":"Min","seconds":"Sec","compact":"{d}d {h}h {m}m {s}s","remaining":"Sale ends in {d} days, {h} hours and {m} minutes","ends":"Ends {ends} at {time} UTC","perMonth":"/mo billed yearly"},"annual":{"switchAria":"Billing period","monthly":"Monthly","yearly":"Yearly","badge":"YEARLY","perMonth":"/mo","billedYearlyShort":"billed yearly","manage":"You're on {plan} yearly - Manage plan","fine":"Recurring yearly.","modalBadgeStarter":"AGENCY STARTER YEARLY","modalBadgeGlobal":"AGENCY GLOBAL YEARLY","orderLabel":"{plan} yearly","yearlyShort":"Yearly: {monthly}/mo","emptyHeading":"Or pay yearly","eyebrow":"{plan} - YEARLY","switchButton":"{plan} yearly - {monthly}/mo billed yearly","switchTitle":"Switch to {plan} yearly","aYear":"a year","pricingCtaFirstYear":"Get yearly - {total} the first year","ctaFirstYear":"Get {plan} yearly - {total} the first year","ctaUpgradeFirstYear":"Upgrade to {plan} yearly - {total} the first year","ctaSwitchFirstYear":"Switch to yearly - {total} the first year"},"offer":{"ended":"This sale has ended. Nothing was charged.","used":"This offer has already been used on your account. Nothing was charged.","subline":"Billed {total} today, renews at {renews}/yr. One per customer.","monthlyStrike":"{price}/mo monthly","monthlyPlanSr":"Monthly plan price {price}/mo","perMonthYearly":"{monthly}/mo billed yearly","save":"Save {percent}%","continueMonthly":"Continue with monthly billing"},"checkout":{"samePlan":"You are already on this yearly plan. Manage it from Agency Billing.","refreshing":"Refreshing prices...","initFailed":"Could not load the secure card form. Try again.","failed":"Payment failed. Your plan has not changed.","saleDiscount":"Sale discount","previewFailed":"Could not price this change. Your plan has not changed."},"halloween":{"bar":"Halloween Sale: Agency Global {monthly}/mo billed yearly. Pay 8 months, get 12. Ends {ends}.","badge":"Scary Good Deal","terms":"Sale price applies to the first year. Sale ends {ends} at 23:59 UTC."}},"rankingExperiment":{"live":"Live","unlock":"Unlock","unlockAria":"Live now. Unlock to see who is streaming."},"chrome":{"skipLink":"Skip to main content","og":{"subtitle":"Real-time chat, gifts, likes and viewer data from any TikTok LIVE stream"},"logo":{"badgeDocs":"DOCS","badgeLive":"LIVE"},"audience":{"switchAria":"Switch between Developer and Agency mode","developer":"Developer","agency":"Agency"},"footer":{"homeAria":"{brand} home","tagline":"Get the latest on the TikTok LIVE API - SDKs, rankings, and updates you can actually use.","navAria":"Footer","columns":{"product":"Product","resources":"Resources","company":"Company","support":"Support"},"links":{"sdks":"SDKs","pricing":"Pricing","webhooks":"Webhooks","mcp":"MCP + AI Tools","gifterIntel":"Gifter Intel","docs":"Docs","guides":"Guides","agencyGuides":"Agency Guides","leaderboards":"Leaderboards","gamingRanks":"Gaming Ranks","methodology":"Data methodology","compare":"Compare","updates":"Updates","agencies":"Agencies","about":"About","useCases":"Use cases","help":"Help","trust":"Trust and billing"},"terms":"Terms & Conditions","privacy":"Privacy Policy","status":"Status","disclaimer":"{brand} is an independent third-party platform and is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance."},"mobileTabs":{"navAria":"Primary mobile navigation","goBackAria":"Go back","openMenuAria":"Open menu","back":"Back","menu":"Menu","ranks":"Ranks","talents":"Talents","gifters":"Gifters","board":"Board","docs":"Docs","guides":"Guides","pricing":"Pricing"},"staleSession":{"title":"Session expired","message":"Sign in again to see your full data.","signIn":"Sign in","dismissAria":"Dismiss"},"banners":{"trialEndsIn":"ACCESS ENDS IN","timeRemainingAria":"Time remaining","upgradeNow":"Upgrade now","dismissAria":"Dismiss"},"header":{"nav":{"aria":"Main navigation","guides":"Guides","features":"Features","ranks":"Ranks","gifters":"Gifters","agency":"Agency","docs":"Docs","pricing":"Pricing"},"guides":{"groupHead":"Guides & Docs","viewAll":"View All Guides","items":{"gettingStarted":{"title":"Getting Started","desc":"Sign up, mint a key, first request"},"websocket":{"title":"WebSocket API","desc":"Real-time event firehose contract"},"chatBot":{"title":"Chat Assistant Bot","desc":"Chat commands and reactions for creators"},"overlays":{"title":"Stream Overlays","desc":"Gift + chat overlays for OBS / browser"},"python":{"title":"Python Guide","desc":"Async Python SDK + event handlers"},"events":{"title":"Events Reference","desc":"Every event type + payload schema"},"leaderboardApi":{"title":"Leaderboard & League API","desc":"Every active region, rolling rank windows"},"tts":{"title":"Text to Speech","desc":"Voiced chat + gift announcers"},"migrateConnector":{"title":"Migrate from Connector","desc":"Switch from TikTok-Live-Connector"},"migrateTikapi":{"title":"Migrate from TikAPI","desc":"Same endpoints, swap base URL only"},"migrateEuler":{"title":"Migrate from Euler Stream","desc":"Switch to our SDK, keep your handlers"}}},"features":{"groups":{"rank":"Leaderboards & Ranks","agency":"Agency & Recruiting","live":"Live Tools","reference":"Reference & Tools"},"items":{"ranks":{"title":"Leaderboards & Ranks","desc":"All rank products in one overview"},"creators":{"title":"Creators Leaderboard","desc":"Top creators by diamonds, every region"},"gifters":{"title":"Gifters Leaderboard","desc":"Biggest gifters ranked by diamonds sent"},"gamingRanks":{"title":"Gaming Ranks","desc":"Live gaming leaderboard + per-game weekly"},"newCreators":{"title":"New Creators","desc":"Agency recruiting feed, 30 names at a time"},"pulseBot":{"title":"Telegram Pulse Bot","desc":"Agency scout alerts in your DMs"},"creatorDigest":{"title":"Creator Digest","desc":"New creators to recruit, emailed as usernames + CSV"},"rising":{"title":"Rising Intel","desc":"Velocity-based gifter + creator feeds"},"popularLive":{"title":"Popular LIVE","desc":"Real-time top creators per region"},"team":{"title":"Team Management","desc":"Invite teammates + manage your seats"},"agencySuite":{"title":"Agency Suite","desc":"Plans, tools + everything for agencies"},"scoutingBoard":{"title":"Scouting Board","desc":"Scout creators from your server"},"bestTime":{"title":"Best Time to Stream","desc":"Real-time global gift heatmap"},"giftCatalog":{"title":"Gift Catalog","desc":"Every TikTok LIVE gift + PNG download"},"diamondsCalculator":{"title":"Diamonds Calculator","desc":"Diamonds {arrow} USD real-time"},"gifterLevels":{"title":"Gifter Levels","desc":"L1 → L50+ coin + USD table"},"wsDecoder":{"title":"WebSocket Decoder","desc":"Paste base64 frame, inspect protobuf"},"webhooks":{"title":"Webhooks","desc":"Push live events to your endpoint"},"mcp":{"title":"MCP + AI Tools","desc":"Use in Claude, Cursor, VSCode + GPT"},"updates":{"title":"Platform Updates","desc":"Live changelog + roadmap"}},"promo":{"title":"Start tracking TikTok LIVE","desc":"One key, every leaderboard and live tool.","cta":"Get Started"}},"cta":{"ranks":"Ranks","loginRegister":"Login / Register","login":"Login","boards":"Boards","dashboard":"Dashboard"},"menuAria":"Menu","profile":{"openAria":"Open profile menu","picAlt":"Profile","userFallback":"User","account":"Account","apiDashboard":"API Dashboard","dashboard":"Dashboard","billing":"Billing","signOut":"Sign Out"},"drawer":{"aria":"Site menu","liveChat":"Live chat with the team","agencyDashboard":"Agency dashboard","apiDashboard":"API dashboard","account":"Account","billing":"Billing","signOut":"Sign out","getStarted":"Get started","registerLogin":"Register / Login","getApiKey":"Get API key","groups":{"leaderboards":"Leaderboards","agencyRecruiting":"Agency & recruiting","liveToolsReference":"Live tools & reference","learn":"Learn","build":"Build","data":"Data","plans":"Plans"},"items":{"platformUpdates":"Platform updates","pricing":"Pricing","allLeaderboards":"All leaderboards","creatorsLeaderboard":"Creators leaderboard","giftersLeaderboard":"Gifters leaderboard","gamingLeaderboard":"Gaming leaderboard","newCreators":"New creators","risingIntel":"Rising intel","popularLive":"Popular LIVE","pulseBot":"Telegram Pulse bot","creatorDigest":"Creator digest","teamManagement":"Team management","agencySuite":"Agency suite","scoutingBoard":"Scouting board","bestTime":"Best time to stream","giftCatalog":"Gift catalog","diamondsCalculator":"Diamonds calculator","gifterLevels":"Gifter levels","agencyGuides":"Agency guides","docs":"Docs","guides":"Guides","webhooks":"Webhooks","mcp":"MCP + AI tools","wsDecoder":"WebSocket decoder","migrateConnector":"Migrate from Connector","apiStatus":"API status"}}},"errorPage":{"status":"Error {status}","notFoundTitle":"Page not found","notFoundBody":"This page does not exist or has moved. Search for a creator or gifter below, or go back to the homepage.","errorTitle":"Something went wrong","errorBody":"We could not load this page. Please try again in a moment.","searchLabel":"Search creators and gifters","home":"Back to homepage","rankings":"LIVE rankings"}},"overlays":{"upgradeModal":{"signIn":{"title":"Sign in to Subscribe","sub":"Create a free account or log in to unlock full access to leaderboards, creator history, and live stream data.","cta":"Sign In / Create Account →","free":"Free to register. No credit card required."},"compareAll":"Compare All Features →","success":{"title":"Subscription Activated!","body":"Your account has been upgraded to {tier}. Reloading..."},"step1":{"title":"Unlock Full Access","sub":"Real-time leaderboards, creator history, and live stream data"},"cycles":{"weekly":"Weekly","monthly":"Monthly"},"period":{"wk":"wk","mo":"mo"},"features":{"reqPerDay":"{count} req/day","ws":"{count} WS","unmaskedBoards":"Unmasked boards","leagueRanks":"League ranks","proLevelApi":"API: Pro's daily requests, twice the live streams","leagueGamingRanks":"League + gaming ranks","agencyDashboard":"Agency dashboard"},"select":"Select","selected":"Selected","discount":"Discount ({name})","subtotal":"Subtotal","taxNote":"Tax calculated in next step","coupon":{"toggle":"Have a coupon code?","placeholder":"Coupon code","apply":"Apply","remove":"Remove"},"subscribe":"Subscribe","payOnce":{"title":"One-time payment for this period only - no auto-renewal","label":"Pay once · Alipay / WeChat / PayPal / Crypto / Card","hint":"No auto-renewal · choose at next step"},"step2":{"paymentMethod":"Payment method","oneTimeTag":"One-time · {period} access","autoRenewsTag":"Auto-renews every {period}","acceptedOneTime":"Card · UnionPay 银联 · Alipay · WeChat Pay · PayPal · Crypto · Apple Pay · Google Pay","total":"Total","processing":"Processing...","pay":"Pay {amount}","back":"Back"},"secure":"Secured by Stripe. We never store your card details.","errors":{"invalidCoupon":"Invalid coupon","couponCheckFailed":"Could not validate coupon","stripeLoad":"Payment system failed to load.","initFailed":"Payment could not be initialized.","setupFailed":"Failed to set up payment","paymentFailed":"Payment failed"},"reasons":{"bulkCopy":"Copying a whole board of usernames in one click is an Agency feature."}},"paypalButton":{"loading":"Loading PayPal...","loadError":"PayPal failed to load. {retry} or use card.","retry":"Try again","errors":{"noSubscriptionId":"PayPal did not return a subscription id","checkoutFailed":"PayPal checkout failed - try again or use card.","sdkLoad":"PayPal SDK failed to load"}},"keyWelcome":{"dismiss":"Dismiss","choose":{"eyebrow":"WELCOME TO TIK.TOOLS","title":"What brings you here?","sub":"Pick one and we'll take you to the right place.","developer":{"title":"I'm a Developer","desc":"Get my API key and build with the data"},"agency":{"title":"I'm an Agency","desc":"Track and manage my creators"}},"agency":{"eyebrow":"CREATOR LISTS FOR AGENCIES","title":"Get creator lists in all regions and their gifters, on your email, Telegram and Discord. Invite your managers. That's it.","shotAlt":"Creator lists per region with their top gifters","cta":"OPEN THE LISTS"},"key":{"eyebrow":"YOUR API KEY","sub":"Your sandbox key is ready. It authenticates every request - keep it secret.","copied":"COPIED","copy":"COPY KEY","dashboard":"GO TO API DASHBOARD","docs":"Read the docs first"}},"multiAccount":{"title":"Multiple Account Warning","body":"We detected multiple accounts created from this device or network. Creating duplicate accounts to circumvent usage limits violates our {terms} and may result in {suspension}.","terms":"Terms of Service","suspension":"suspension of all associated accounts","info":"If you need multiple keys for a legitimate project, consider our {plans} which support additional API key slots.","paidPlans":"paid plans","dismiss":"I Understand"},"slowDown":{"close":"Close","title":"SLOW DOWN","sub":"You're on the free day pass - just testing. Want the full board with no limits? Upgrade now and keep {offer}.","offer":"{pct}% off for life","badge":"{pct}% OFF FOR LIFE","weekly":"WEEKLY","monthly":"MONTHLY","perWeek":"wk","perMonth":"mo","opening":"Opening...","startWeekly":"Start weekly →","startMonthly":"Start monthly →","keepTesting":"Keep testing for now"},"supportChat":{"launcher":{"unread":"{count} unread messages","open":"Open support chat","welcomeBlurb":"Live Chat with the developers","dismiss":"Dismiss"},"header":{"title":"Dev Human Live Chat. Not AI.","online":"Online - typically reply within minutes","offline":"Leave a message - we'll get back to you","close":"Close chat"},"auth":{"title":"Sign in to chat","google":"Continue with Google","or":"or","email":"Email address","password":"Password","submit":"Sign In","errors":{"required":"Email and password required","failed":"Login failed. Try again."}},"welcome":{"title":"Hi there","desc":"Pick a quick question below or type your own.","quick":{"technical":"I have a technical issue","agent":"I want to speak to an agent","other":"I have another question"}},"pass":{"twoHour":"2-Hour Agency Pass","dayPass":"Agency Day Pass","body":"Full Agency Global access is now live on your account.","cta":"Open the Agency dashboard","expired":"It has expired","activeDays":"Active for about {count} more day(s)","activeHours":"Active for about {count} more hour(s)"},"messages":{"imageAlt":"Image","notSent":"not sent","typing":"TikTools is typing"},"input":{"sendPhoto":"Send a photo","emoji":"Emoji","placeholder":"Type a message...","aria":"Type a message","send":"Send message"},"blurb":{"passSent":"You have been sent an Agency pass","newMessage":"New message from support"},"script":{"transferred":"I have transferred your request to an agent, please hold.","agencyQuestion":"Hi - what's your agency name, region and use case?"}},"intelCard":{"aria":{"gifterIntel":"Gifter intel","creatorIntel":"Creator intel","close":"Close","prev":"Previous on this board","next":"Next on this board"},"hero":{"active":"ACTIVE","live":"LIVE","offline":"OFFLINE","level":"Lv. {level}"},"unmask":{"eyebrow":"GLOBAL AGENCY","text":"Unlock {usernames}, gifter handles & full intel.","usernames":"real usernames","cta":"View pricing"},"tabs":{"overview":"Overview","topCreators":"Top Creators","behavior":"Behavior","ranks":"Ranks","topGifters":"Top Gifters"},"creator":{"liveScore":"Live Score","boardScore":"Board Score","peakRank":"Peak Rank","allTime":"All-Time","peakEarnings":"Peak Earnings","noOverview":"No performance data yet.","history":{"date":"Date","rank":"Rank","diamonds":"Diamonds","loading":"Loading rank history...","empty":"No rank history available."},"gifters":{"privateGifter":"Private gifter","private":"Private","loading":"Loading top gifters...","empty":"No gifter data yet."}},"copyHandle":"Copy {handle}","gifter":{"totalDiamonds":"Total Diamonds","estSpent":"Est. Spent","creators":"Creators","totalGifts":"Total Gifts","noOverview":"No gifting data tracked yet.","noCreators":"No supported creators tracked yet.","behavior":{"sessions":"Sessions","avgPerSession":"Avg / Session","rhythm":"Rhythm","topShare":"Top Share","empty":"No behavior profile yet."}},"fullProfile":"View full profile","teaser":{"hiddenCreator":"Hidden creator","ranked":"RANKED","loading":"Loading full intel...","anonNote":"Numbers are real. Track them with a 7-day evaluation key.","maskedNote":"Identity is masked during the Sandbox evaluation. The numbers are real.","getFreeKey":"Get an evaluation key","unlock":"Unlock full intel","load":"Load full intel"},"error":{"warming":"Intel is warming up.","retry":"Retry"},"seed":{"rank":"Rank","diamonds":"Diamonds","estValue":"Est. value","region":"Region"},"someone":"Someone"},"gifterArchetype":{"whale":{"label":"WHALE","tooltip":"Big-gift dominant - top financial threat"},"lateSniper":{"label":"LATE SNIPER","tooltip":"Drops > 50% of gifts late-session - closer / kill-shot specialist"},"earlyFlexer":{"label":"EARLY FLEXER","tooltip":"Drops > 50% of gifts opening-session - flexes early to set tone"},"spammer":{"label":"SPAMMER","tooltip":"> 80% tiny gifts - high frequency, low value per drop"},"loyalFan":{"label":"LOYAL FAN","tooltip":"> 70% of spend goes to one creator - dedicated, predictable"},"wanderer":{"label":"WANDERER","tooltip":"Spends across 5+ creators with no clear favorite - attention easily split"},"rhythmGifter":{"label":"RHYTHM","tooltip":"Predictable cadence - regular gifting intervals"}},"more":{"payment":{"confirming":"Confirming payment...","processing":"Payment processing, your plan updates as soon as it clears.","notCompleted":"Payment was not completed. Your plan has not changed.","failed":"Payment failed. Your plan has not changed.","notLoaded":"Payment system not loaded. Please try again."}},"chat":{"more":{"agencyAccessRequest":"Agency 2 hour access request","agencyHelp":"Need help with agency tiers","agencyListing":"Question about my agency listing review"}}},"rankingBoard":{"notFound":{"title":"Not found","body":"No leaderboard data available.","back":"Back to All Regions","error":"Leaderboard not found"},"nav":{"creators":"Creators","gifters":"Gifters","gaming":"Gaming"},"breadcrumb":{"rankings":"Rankings"},"dropdown":{"searchRegion":"Search region...","searchRegionAria":"Search region","searchCountry":"Search country...","searchCountryAria":"Search country","noResults":"No results"},"poolBadge":"{code} REGION","stats":{"estEarnings":"EST. EARNINGS","liveInRegion":"LIVE IN REGION","liveNow":"LIVE NOW","dayEnds":"DAY ENDS","leagueReset":"LEAGUE RESET","weeklyReset":"WEEKLY RESET","hourlyReset":"HOURLY RESET","dailyReset":"DAILY RESET","rollingWindow":"ROLLING WINDOW","last7Days":"LAST 7 DAYS"},"updated":"Updated {time}","anonBanner":{"text":"Scores are approximate - {strong}","strong":"login for exact diamond counts & full rankings"},"regionIncludes":"{region} Region includes:","poolLink":{"partOf":"Part of:","pool":"({code}) Leaderboard Pool"},"cadence":{"daily":"Daily","hourly":"Hourly"},"tabs":{"estimatedDaily":"Estimated daily","estimatedWeekly":"Estimated weekly","new":"NEW","popular":"Popular","gaming":"Gaming","shopping":"Shopping","loadingLeagues":"Loading leagues..."},"alt":{"loading":{"estimateDaily":"Loading estimated daily board...","estimateWeekly":"Loading estimated weekly board...","shopping":"Loading shopping ranks...","gaming":"Loading gaming ranks...","league":"Loading league rankings..."},"liveCount":"{count} live","badgeEstimate":"ESTIMATE","heading":{"estimateDaily":"Estimated daily (all creators seen today)","estimateWeekly":"Estimated weekly (all creators seen this week)","shopping":"Live Shopping Ranking","gamingNamed":"{game} Ranking","gaming":"Gaming Ranking","league":"League Rankings"},"score":{"estimate":"Est. diamonds","shopping":"Sales score","diamonds":"Diamonds"},"hidden":{"ofListed":"{hidden} of {listed} names hidden","all":"{hidden} names hidden"},"shareTitle":{"estimateDaily":"Estimated daily board - {region}","estimateWeekly":"Estimated weekly board - {region}","shopping":"Live Shopping - {region}","game":"{game} - {region}","league":"{division} League - {region}"}},"counts":{"creators":"{count} creators","sellers":"{count} sellers","movers":"{count} movers"},"actions":{"copyAll":"Copy all","share":"Share","liveToggle":"Live","unlock":"Unlock","freeKey":"evaluation key","unlockUltra":"Unlock with Ultra","unlockAgency":"Unlock with Agency"},"diaFilter":{"title":"Filter by monthly diamonds","from":"From","to":"To","fromAria":"Diamonds from","toAria":"Diamonds to","bandTitle":"Monthly diamonds (coarse band)"},"estimateNote":{"dailyStrong":"Estimate, not a TikTok daily board.","dailyBody":"{region} resets every hour and TikTok publishes no daily total for it, so this view sums each creator's peak from every hourly board they appeared on since 00:00 UTC. It shows everyone who earned today, not just the ~{size} visible in the current hour.","weeklyStrong":"Estimate, not a TikTok weekly board.","weeklyBody":"TikTok publishes no weekly total. This view is aggregated from our own snapshots of {region} over the last 7 days, summing each creator's peak from every board period they appeared in.","hoursTitle":"Hours ranked today, and the best rank reached","hoursRanked":"{hours}h ranked","bestRank":"best #{rank}","weekTitle":"Days ranked this week, board periods ranked in, and the best rank reached","daysRanked":"{days}d ranked","periods":"{count} periods"},"table":{"streamer":"Streamer","status":"Status","revenue":"Revenue","earnings":"Earnings","verified":"Verified creator","passPrivate":"PASS PRIVATE"},"status":{"live":"LIVE","offline":"OFFLINE"},"anon":{"revealRow":"{count} ranked today - get an evaluation key to dig in","moreText":"more: full ladder, live, via API"},"empty":{"noneLive":"No creators are live right now.","noData":"No data available yet."},"footer":{"lastUpdated":"Last updated {ago} · Auto-refreshes every 60s","recently":"recently","secondsAgo":"{n}s ago","minutesAgo":"{n}m ago"},"movers":{"title":"Entered today","tag":"below cutoff now","note":"Creators who held a spot in this region's board at some point today but sit below the current cutoff ({cutoff}) right now. The reset-time churn TikTok never shows.","cols":{"peakRank":"Peak #","creator":"Creator","peakScore":"Peak score","toReenter":"To re-enter"},"locked":"locked","ctaStrong":"{count} creators entered today then dropped - re-recruit them now.","ctaBody":"Scores and ranks are real, names are hidden. Unlock every name across all regions.","upsellTitle":"See everyone who entered and dropped out today","upsellBody":"Scores and ranks are real, names are hidden. {strong} to unmask the full movers feed across every region.","upsellStrong":"Unlock with Agency on tik.tools"},"numbers":{"heading":"{region} {board} board in numbers","liveInRegion":"Live in region","liveNow":"Live now","liveInDivision":"Live in this division","liveOnBoard":"Live on this board","sellersRanked":"Sellers ranked","creatorsRanked":"Creators ranked","leaderShopping":"#1 sales score","leaderDiamonds":"#1 diamonds","topShareShopping":"Top {size} share of sales score","topShareDiamonds":"Top {size} share of diamonds","otherBoards":"Other {region} boards","leagueDivisions":"League divisions","moreFor":"More for {region}"},"links":{"dailyRanking":"Daily ranking","hourlyRanking":"Hourly ranking","estimatedDaily":"Estimated daily ranking","estimatedWeekly":"Estimated weekly ranking","gaming":"Gaming ranking","liveShopping":"Live shopping ranking","popularLive":"Popular live now","league":"{division} League","topGifters":"Top gifters","allRegions":"All regions","topGiftersIn":"Top gifters in {region}","teamsIn":"Teams in {region}"},"browse":{"eyebrow":"REGION POOL","title":"Countries in This Region"},"titleRow":{"leaderboard":"TikTok LIVE Leaderboard","estimateDaily":"TikTok LIVE Estimated Daily Rankings","estimateWeekly":"TikTok LIVE Estimated Weekly Rankings","league":"TikTok LIVE {division} League Rankings","daily":"TikTok LIVE Daily Rankings","hourly":"TikTok LIVE Hourly Rankings"},"seo":{"titleBase":"{region} TikTok LIVE {board} Ranking","titleWithDay":"{title}, {day}","cadenceLower":{"daily":"daily","hourly":"hourly"},"lead":"{region} TikTok LIVE {board} ranking.","leadWithDay":"{region} TikTok LIVE {board} ranking for {day}.","leaderShoppingNamed":"{'@'}{handle} leads with a sales score of {score}.","leaderShopping":"The #1 seller has a sales score of {score}.","leaderNamed":"{'@'}{handle} leads with {score} diamonds.","leader":"The #1 creator has {score} diamonds.","tailShoppingLong":"Top {count} sellers by sales volume with live status.","tailShoppingShort":"Live status for every seller.","tailLong":"Top {count} creators with live status and estimated earnings.","tailMedium":"Top {count} creators, live status, earnings.","tailShort":"Live status and earnings.","emptyShopping":"Sellers ranked by sales volume, with live status.","empty":"Creators ranked by diamonds, with live status and estimated earnings.","crumbHome":"Home","crumbRankings":"TikTok LIVE Rankings","measuredShopping":"Sales score","measuredDiamonds":"Diamonds received","ogTitle":"{region} TikTok LIVE Leaderboard","ogSubtitle":"Top creators by diamonds, refreshed live","ogBadge":"LEADERBOARDS"},"agencyCta":{"title":"Unlock the full leaderboard intel.","body":"Watchlist, league depth, top-gifter breakdowns, bulk copy, Telegram alerts.","cta":"Get Agency Access","dismiss":"Dismiss"},"share":{"title":"Share","defaultTitle":"Tik.Tools - TikTok LIVE Leaderboard","copy":"Copy","copied":"Copied!","nativeShare":"Share via...","email":"Email"},"copyUsername":{"copied":"Copied!","title":"Copy {'@'}{name}","aria":"Copy username {'@'}{name}"},"tierBadge":{"pro":"Unmasked Leaderboards - PRO+ from {price}/wk","ultra":"Unmasked Leagues - ULTRA+ from {price}/wk","agencyStarter":"Included with {plan}","agency":"Unlocks with Agency","global":"Live Gifts firehose - GLOBAL {price}/wk"},"watch":{"addedTitle":"Added {'@'}{username} to watchlist","addTitle":"Add {'@'}{username} to your agency watchlist","added":"Added","add":"Add","failed":"Failed"},"requestAccess":{"aria":"Request region access","title":"Request access from your agency owner","sub":"Your team access does not include {region}. Ask your agency owner to grant it to see full data here.","thisRegion":"this region","button":"Request access"}},"profile":{"creator":{"maskedName":"Someone","hidden":"Hidden","copiedToast":"{handle} copied to clipboard","notFound":{"degradedTitle":"This profile is taking longer than usual","degradedBody":"We couldn't load {handle} just now. Refresh the page to try again.","title":"Creator not found","body":"{handle} hasn't appeared on a TikTok LIVE leaderboard yet. Check back after the next update.","viewUsLeaderboard":"View US Leaderboard"},"breadcrumb":{"rankings":"Rankings","creator":"Creator"},"hero":{"passPrivate":"PASS PRIVATE","passCreator":"PASS Creator","verifiedCreator":"Verified Creator","copyHandle":"Copy {handle}","liveNow":"LIVE NOW","offline":"OFFLINE","lastSeen":"Last seen {when}","peak":"Peak #{rank}","shareTitle":"{name} TikTok LIVE Stats","website":"Website","alsoGifter":"Also a Gifter","revenueHidden":"Revenue hidden"},"daysAgo":{"today":"today","one":"1 day ago","many":"{count} days ago"},"earnHero":{"label":"{month} earnings","hiddenByCreator":"Hidden by the creator","unavailable":"Earnings unavailable right now","none":"No leaderboard earnings yet this month"},"authCta":{"line":"Track {handle} for free: follow their rank and get live alerts.","google":"Continue with Google"},"upgradeCta":{"line":"See every gifter, the full rank history and real names for {handle} with Agency.","button":"See Agency plans"},"codeCta":{"title":"Stream {handle}'s live events in 3 lines of code","sub":"Real-time chat, gifts, likes + viewer counts via WebSocket. Swap in your 7-day evaluation key and run.","copy":"Copy code","exampleTitle":"Stream {handle} events"},"liveBar":{"liveNow":"Live now","watching":"{count} watching","note":"Leaderboard earnings appear once they rank"},"topGifters":{"title":"{name} · Top Gifters","globalRank":"Global #{rank}","private":"Private","pctToday":"today","pctWeek":"wk","pctMonth":"mo","pctLifetime":"all time","seeAll":"SEE ALL GIFTERS OF {name}"},"gifterAnalytics":{"title":"Gifter Analytics","periods":{"today":"Today","week":"7 Days","month":"30 Days","lifetime":"All Time"},"colGifter":"Gifter","colEarnings":"Earnings","colShare":"Share","privateGifter":"Private Gifter","empty":"No gifters this period.","showTop":"Show top {count}","seeAll":"See all {count}"},"stats":{"liveScore":"Live Score","todaysEarnings":"Today's Earnings","peakRank":"Peak Rank","peakDiamonds":"Peak Diamonds","peakEarnings":"Peak Earnings Est.","totalEarnings":"Total Earnings Est.","daysInLeaderboard":"Days in Leaderboard"},"performance":{"title":"Performance History","hiddenBadge":"Hidden by creator","hiddenMsg":"This creator has hidden their performance history.","lockedMsg":"Historic performance is an Agency feature. Today's data is shown below.","unlock":"Unlock with Agency","diamondsChartTitle":"Diamonds Earned per Day","diamondsChartSub":"cumulative by leaderboard day","noHistory":"No history data","rankChartTitle":"Rank History","rankChartSub":"lower = better","noRank":"No rank data","tooltipDiamonds":"{value} diamonds","tooltipRank":"Rank #{rank}"},"insights":{"avgRank":"Avg Rank (active days)","bestDay":"Best Day Diamonds","streakDays":"{days}d","activeStreak":"Active Streak","rankTrend":"Rank Trend","trend":{"improving":"Improving","declining":"Declining","stable":"Stable"}},"daily":{"title":"Daily Breakdown","colDate":"Date","colRank":"Rank","colDiamonds":"Diamonds","colEarnings":"Est. Earnings","empty":"No ranking data available yet."},"region":{"title":"{region} Leaderboard Pool","desc":"{name} competes in TikTok's {region} business market, which pools rankings across {countries}.","andMore":"{list} and {count} more","seeFull":"See full {region} leaderboard"},"liveNearby":{"title":"Live Right Now in {region}","thisRegion":"This Region"},"about":{"title":"About {handle}'s TikTok LIVE Performance","introRanked":"{name} is a TikTok LIVE streamer ranked #{rank} in the {region} market on {date}.","introPeak":"{name} is a TikTok LIVE streamer who has reached a peak ranking of #{rank}.","introPlain":"{name} is a TikTok LIVE streamer .","peakScore":"Their peak score is {diamonds} diamonds, equivalent to an estimated {earnings} in creator earnings.","marketWithPool":"{name} streams in the {country} market, part of TikTok's {region} business pool which includes {countries}.","market":"{name} streams in the {country} market.","track":"Track their real-time rankings, earnings estimates, and performance history on TikTool."},"faq":{"notRecorded":"not yet recorded","earn":{"q":"How much does {handle} earn on TikTok LIVE?","a":"TikTok LIVE diamonds are estimated at $0.005 per diamond for creator earnings. {name}'s peak recorded score is {diamonds} diamonds, which translates to approximately ${earnings}. Actual payouts depend on TikTok's conversion rates and the creator's region. Track daily estimates on TikTool Pro."},"rank":{"q":"What rank is {handle} on TikTok LIVE?","aRanked":"{name} is ranked #{rank} in the {region} leaderboard on {date}. Their all-time peak rank is {peak}.","aUnranked":"{name} is not currently active on the leaderboard. Their all-time peak rank is {peak}. Check back after the next leaderboard update."},"lastLive":{"q":"When was {handle} last live on TikTok?","aSeen":"{name} was last seen live on {date}. TikTool monitors leaderboard activity in real time - subscribe to Pro or Ultra for live status alerts.","aUnknown":"We don't have a confirmed last-live date for {name} yet. TikTool tracks leaderboard appearances, so {name} will appear here once they rank in a future stream."}},"footerCta":{"title":"Track TikTok LIVE Rankings in Real Time","body":"TikTool gives agencies and brands instant access to TikTok LIVE data - leaderboards, gift tracking, earnings intelligence, and WebSocket events.","leaderboard":"{region} Leaderboard"},"sidebar":{"title":"Leaderboard","global":"Global","updating":"{region} live board updating...","empty":"No live leaderboard for this region yet."},"seo":{"title":"{who} TikTok LIVE earnings and stats {'|'} TikTools","descRankedIn":"{who} is ranked #{rank} in {country} on TikTok LIVE today with {diamonds} diamonds earned (≈{earnings}). Track live status & earnings on TikTool.","descRanked":"{who} is ranked #{rank} on TikTok LIVE today with {diamonds} diamonds earned (≈{earnings}). Track live status & earnings on TikTool.","descTrackedPeak":"{who} is a TikTok LIVE creator tracked on TikTool. Peak rank: #{rank}. See ranking history, diamond earnings, and live status.","descTracked":"{who} is a TikTok LIVE creator tracked on TikTool. See ranking history, diamond earnings, and live status.","profilePageName":"{name} TikTok LIVE Profile","crumbHome":"Home","crumbRankings":"TikTok LIVE Rankings","crumbCountry":"{country} Leaderboard","ogSubtitle":"TikTok LIVE creator stats","ogBadgeCreator":"CREATOR"}},"gifter":{"notFound":{"title":"Gifter not found","body":"{'@'}{handle} hasn't appeared on our gift tracking yet.","back":"Gifters Leaderboard"},"breadcrumb":"TikTok Gifters Leaderboard","passPrivate":"PASS PRIVATE","badge":{"pass":"PASS Gifter","verified":"Verified Gifter"},"shareTitle":"{name} TikTok Gifter Profile","activeNow":"Active now","watching":"watching {handle}","alsoCreator":"Also a Creator","chatParticipant":"Chat participant","status":{"gifting":"CURRENTLY GIFTING","offline":"OFFLINE"},"stats":{"level":"Gifter Level","levelValue":"Lv. {level}","levelSpend":"spent {amount} on TikTok","region":"Region","totalDiamonds":"Total Diamonds","estSpent":"Est. Spent","creatorsSupported":"Creators Supported","totalGifts":"Total Gifts"},"privateNotice":"This gifter has set their gifting data to private.","coverage":{"trackedSince":"Tracked since {date}. We only capture gifts going to creators on our watch list (top leaderboards, leagues, /watch additions).","noGifts":"No tracked gifts yet - this gifter hasn't been seen sending to a watched creator. Add their favorite creator via our {link} to begin capturing."},"unmask":{"text":"See {usernames}, real handles, real CRM & VIP intel. Monthly subscription unlocks everything.","realUsernames":"real usernames","cta":"View pricing"},"behavior":{"title":"Gifter Profile","giftSize":"Gift Size","dropTiming":"Drop Timing in Session","early":"Early","mid":"Mid","late":"Late","sessions":"Sessions","avgGifts":"Avg Gifts/Session","rhythm":"Rhythm Score","topShare":"Top Creator Share","basedOn":"Based on last {count} tracked gifts"},"sizes":{"tiny":"Tiny (<500◇)","small":"Small (500-5K◇)","medium":"Medium (5K-30K◇)","big":"Big (30K+◇)"},"regional":{"title":"Regional Leaderboard","copyAll":"Copy all","seeAll":"See all"},"creators":{"title":"Creators They Support","shareOfSpend":"{pct}% of spend"},"seeAllCreators":"SEE ALL CREATORS {name} SUPPORTS","someone":"Someone","scope":{"totalSince":"Total since we started tracking (first seen {date}). Only gifts to creators we track are counted.","total":"Total since we started tracking. Only gifts to creators we track are counted.","dropsSince":"Gifts since we started tracking (first seen {date}). Only gifts to creators we track are listed.","drops":"Gifts since we started tracking. Only gifts to creators we track are listed."},"seo":{"title":"{name} - Gifter Profile {'|'} TikTool","ogSubtitle":"TikTok LIVE gifter profile","ogBadge":"GIFTER"}},"intelModal":{"close":"Close","eyebrow":"AGENCY INTELLIGENCE","title":"Unlock Full Creator & Gifter Intel","sub":"One tier. Pick how long you need it.","sandbox":{"label":"Sandbox Tier:","note":"browse everything with masked usernames - no card required.","signUp":"Sign in"},"freePlan":{"note":"You're on the {plan} right now - usernames are masked. Unmask with Weekly or Monthly.","plan":"Sandbox evaluation"},"weekly":{"name":"Weekly Global","desc":"Full intel. Lighter commitment.","cta":"Start Weekly - ${price}"},"monthly":{"name":"Monthly Global","desc":"Same intel. Best price for rosters.","cta":"Start Monthly - ${price}"},"perWeek":"/wk","perMonth":"/mo","bestPrice":"BEST PRICE","perks":{"leagueAccess":"Full league access, every active region","topGifterIntel":"Top-gifter intel · real names","rankHistory":"90-day rank history charts","creatorFinder":"New creator finder","radarBot":"Telegram radar bot","dmAlerts":"DM alerts","ultraApi":"Ultra API","wsAccess":"WebSocket access","bulkCopy":"Bulk copy","wholeBoard":"whole board in one tap","everythingWeekly":"Everything in Weekly, plus:","regionalChannels":"regional channels + DM alerts","wsIncluded":"WebSocket access included","massCopy":"mass-copy usernames","gifterGraph":"Cross-creator gifter graph","prioritySupport":"Priority support · agency dashboard","bestPriceRosters":"Best price for ongoing rosters · cancel anytime"},"footnote":"Prices in USD · Secured by Stripe · Cancel anytime","back":"Back","badgeWeekly":"WEEKLY","badgeMonthly":"MONTHLY","preparing":"Preparing secure checkout...","processing":"Processing...","pay":"Pay ${amount}","payFootnote":"Secured by Stripe · Cancel anytime in /agency/billing","confirming":"Confirming payment...","success":{"title":"Access Unlocked","weekly":"Weekly Global activated.","monthly":"Monthly Global activated.","cta":"View Your Analytics"},"errors":{"init":"Could not initialize payment. Please try again.","startFailed":"Failed to start checkout","payFailed":"Payment failed."}},"agencyNotes":{"title":"Manager Notes","clickToAdd":"click to add note","status":{"saving":"Saving...","saved":"Saved","unsaved":"Unsaved","synced":"Synced"},"loading":"Loading...","crmStatus":"CRM Status","crm":{"newTarget":"New Target","outreachSent":"Outreach Sent","inTalks":"In Talks","signed":"Signed","cold":"Cold"},"eligibilityVerified":"Eligibility Verified","verified":"Verified","unverified":"Unverified","score":"score {score}","actions":{"adding":"Adding...","watching":"Watching","addToWatchlist":"Add to Watchlist","onRoster":"On Roster","addToRoster":"Add to Roster"},"placeholder":"Notes only your team sees. Outreach attempts, owner intel, payout terms, response patterns...","dashboard":"Dashboard","saveNow":"Save Now","errors":{"watchlist":"Watchlist failed","roster":"Roster add failed","save":"Save failed"}},"widgets":{"diamondHistory":{"title":"Diamond History","subtitle":"Monthly diamonds earned - Agency intel","loading":"Loading history...","lockedAgency":{"title":"Diamond history is an Agency feature","body":"See a creator's monthly earning trend before you spend a recruiting slot.","cta":"Unlock with Agency"},"lockedDailyCap":{"title":"Daily history limit reached","body":"You have viewed the maximum creator histories for today. Resets in 24 hours."},"avgPerMonth":"Avg / month","monthsTracked":"{count} mo tracked","liveDays":"{days}d","footnote":"Figures are banded ranges, not exact totals."},"wdrGauge":{"title":"Whale Dependency","subtitle":"Top 3 gifters · share of all-time diamonds","tips":{"captive":"Top 3 gifters drive most revenue - walk away and the creator collapses.","dependent":"Highly concentrated - a handful of whales swing income hard.","diversified":"Spread across many backers - losing one whale won't hurt much.","independent":"Broad community support - minimal dependency on any single gifter."},"verdicts":{"CAPTIVE":"CAPTIVE","DEPENDENT":"DEPENDENT","DIVERSIFIED":"DIVERSIFIED","INDEPENDENT":"INDEPENDENT"}},"churnGraph":{"title":"Whale Retention · 90d","subtitle":"{pct}% avg · {verdict}","tip":"% of each week's top 20 whales still active in the latest week. High = sticky community.","verdicts":{"LOYAL_COMMUNITY":"LOYAL COMMUNITY","STEADY":"STEADY","BLEEDING":"BLEEDING","CHURNING":"CHURNING","UNKNOWN":"UNKNOWN"},"tooltip":{"week":"Week of {week}","retained":"{pct}% retained","stillActive":"{retained} of {total} still active"}},"sniperGap":{"target":"TARGET · {region} · Rank #{rank}","overtake":"to overtake from #{rank}"},"recentDrops":{"title":"Recent Drops","subtitle":"Cheat sheet - what they spent & on whom","today":"TODAY","loading":"Loading...","empty":"No drops tracked yet.","sends":"{count} sends","scrollMore":"Scroll for more","ago":{"seconds":"{n}s","minutes":"{n}m","hours":"{n}h","days":"{n}d"}},"walletFatigue":{"title":"Wallet Fatigue","subtitleMasked":"30-day burn pattern · upgrade to Agency for numbers","subtitleUsd":"30-day burn · ${usd}/day avg · peak ◇{peak}","subtitleDiamonds":"30-day burn · ◇{avg}/day avg · peak ◇{peak}","movingAvgLabel":"7-DAY AVG"},"loyaltyDonut":{"title":"Asset Diversification","subtitleOne":"{count} creator supported · {verdict}","subtitleMany":"{count} creators supported · {verdict}","others":"Others","verdicts":{"loyal":"LOYAL","focused":"FOCUSED","split":"SPLIT","scattered":"SCATTERED"},"tooltipShare":"{pct}% of spend"},"lockedValue":{"title":"Agency feature","ariaLabel":"Locked, Agency feature","label":"Locked"}},"fin":{"eyebrow":"Financials","title":"Financial analytics","subtitleCreator":"Estimated earnings for {handle}","subtitleGifter":"Estimated spend by {handle}","estimated":"Estimated","basisCreator":"Estimated creator payout at {rate} per diamond. Actual payouts vary with region, agency split and withdrawal fees.","basisGifter":"Estimated spend at {rate} per coin, the lowest standard coin price. Coin packs bought in app stores cost more.","periodLabel":"Period","range":{"today":"Today","yesterday":"Yesterday","7d":"7 days","30d":"30 days","mtd":"This month","lm":"Last month","90d":"90 days","12m":"12 months","custom":"Custom"},"granLabel":"Group by","gran":{"day":"Day","week":"Week","month":"Month"},"from":"From","to":"To","apply":"Apply","vsPrevRange":"compared with {from} - {to}","noCompare":"No comparison available for this period","noCompareShort":"No comparison","partial":"Gift history is kept for 90 days, so figures start on {date}.","kpiLabel":"Key figures","kpi":{"usdCreator":"Earnings","usdGifter":"Spend","diamonds":"Diamonds","gifts":"Gifts","counterpartsCreator":"Unique gifters","counterpartsGifter":"Creators supported","streamsCreator":"Streams","streamsGifter":"Streams joined","liveHoursCreator":"Live hours","liveHoursGifter":"Hours active","usdPerStream":"Per stream","usdPerHour":"Per live hour"},"up":"Up","down":"Down","liveHoursNote":"Hours are measured from the first to the last gift of each stream.","liveHoursNoteSessions":"Live hours come from our recorded session times for each stream.","liveHoursNoteMixed":"Live hours come from our recorded session times; streams without one count from the first to the last gift.","chartTitleCreator":"Earnings over time","chartTitleGifter":"Spend over time","chartCurrent":"This period","chartPrevious":"Previous period","chartOther":"Other gifts","chartAria":"Chart of {total} across {n} periods, split by gift, with the previous period as a dashed line.","heatmapTitle":"When the money comes in","heatmapSub":"By day of week and hour, UTC","topGifters":"Top gifters","topCreators":"Top creators supported","topGifts":"Top gifts","recentStreams":"Recent streams","colName":"Name","colUsd":"USD","colShare":"Share","colChange":"Change","colGift":"Gift","colQty":"Quantity","colStarted":"Started","colCreator":"Creator","colDuration":"Duration","colGifts":"Gifts","colGifters":"Gifters","colGiftersIn":"Gifters in stream","colPeak":"Peak minute","anonymous":"Anonymous gifter","hiddenName":"Private","new":"New","showAll":"Show all {n}","empty":"No gifts in this period","export":"Export CSV","loading":"Updating","error":"Analytics are unavailable right now. Try again in a moment.","retry":"Retry","private":"This gifter keeps their analytics private.","minutes":"{n} min","hoursMinutes":"{h} h {m} min","lockTitle":"Unlock financial analytics","lockBodyCreator":"See estimated dollar earnings, top gifters, gift mix and stream by stream revenue for any creator, by day, week or month.","lockBodyGifter":"See estimated dollar spend, the creators they support, gift mix and stream by stream activity for any gifter, by day, week or month.","priceFrom":"Agency plans from {price} a month","lockCta":"See Agency plans","sampleNote":"Preview with sample shapes, not real figures.","sourceBoard":"Earnings for this period come from the daily leaderboard score. Gift-level detail was not captured, so gift counts, gifters and the hourly view are not available.","sourceMixed":"Earnings combine captured gifts with the daily leaderboard score. Captured gifts cover {pct} of the total; the gifter and gift tables show captured gifts only.","notCaptured":"Not captured","emptyNoGifts":"Gift-level detail was not captured for this period","untimed":"Streams without a recorded duration are not counted in live hours: {n}.","boardStream":"Gifts not captured","giftsOnly":"(captured gifts only)"}},"shared":{"polygonalSignTotem":{"carouselAria":"TikTok Live demo carousel","previousSlide":"Previous slide","nextSlide":"Next slide","loading":"Loading 3D demo carousel...","eligible":{"title":"Find New {region} Creators","badge":"NEW AGENCY FEATURE","cta":"Copy 30 usernames"},"gifters":{"title":"Gifter Intel","badge":"LIVE","topToday":"Top gifters today - {region}","line":"Top gifters, big-gift drops, and the creators they support.","sub":"Per region, refreshed around the clock.","cta":"Explore gifters"},"leagues":{"title":"Ranks: Leagues + Gaming","creatorLeagueRanks":"Creator & League Ranks","regions":"regions","brackets":"brackets","liveNow":"live now","regionLive":"{n} live","openCreator":"Open creator {'@'}{handle}","gamingRanks":"Gaming Ranks","new":"NEW","gamingCopy":"The live in-app gaming leaderboard, all regions. Agency-exclusive.","open":"Open","cta":"Open /ranking"},"regionNames":{"balkans":"Balkans","japan":"Japan","unitedStates":"United States","dach":"Germany & DACH","brazil":"Brazil"},"player":{"title":"Live Player","finding":"Finding a live channel...","meta":"FLV playback + auto-recover + 5s startup","cta":"Open the watch demo"},"events":{"title":"Live Events","connecting":"Connecting to live feed...","cta":"WebSocket reference"}},"liveVideoPlayer":{"live":"LIVE","connectingTo":"Connecting to {user} live","offline":"Stream offline","offlineSub":"Enter a live TikTok username above","liveDemo":"LIVE DEMO","demoEnded":"DEMO ENDED","tryItNow":"Try it now →","mute":"Mute","unmute":"Unmute","switchToLandscape":"Switch to 16:9","switchToPortrait":"Switch to 9:16","fullscreen":"Fullscreen","streamQuality":"Stream quality","closeEsc":"Close (Esc)","closeFullscreen":"Close fullscreen","exitFullscreen":"Exit fullscreen","qualityAuto":"Auto"},"liveDemo":{"monitorLabel":"Live Stream Monitor","usernamePlaceholder":"TikTok username...","usernameLabel":"TikTok username","connecting":"Connecting","stop":"Stop","connect":"Connect","eventsLog":"Live stream events","eventsCount":"{n} events","viewersCount":"{n} viewers","dismissError":"Dismiss error","connectionFailed":"Connection failed - rotating channel","status":{"connecting":"Connecting...","live":"Live","offline":"Offline"},"feed":{"userFallback":"user","giftFallback":"gift","sent":"sent {gift} x{count}","followed":"followed","joined":"joined","likedBurst":"liked +{n} (compound burst)","liked":"liked +{n}","viewersUser":"viewers","viewersNow":"now {n}","battleUser":"battle","battleStarted":"Battle / co-host started","battleEnded":"Battle ended","subscribed":"subscribed ({months}mo)","envelope":"red envelope ({n} diamonds)","systemUser":"system","pinned":"Pinned message"}},"homeGamingRanksBar":{"title":"Gaming Ranks","tag":"NEW · AGENCY EXCLUSIVE","regionGaming":"{region} Gaming","defaultRegion":"United States","regionAria":"Gaming ranks region","allRegions":"All regions","top5Now":"Top 5 now","fullBoard":"Full board","live":"LIVE","empty":"No gaming board is live in this region right now.","lockNote":"Locked names unlock on any agency plan.","seePlans":"See plans"},"homeHeroTabs":{"tablistAria":"Product surfaces","tabs":{"intel":"Agency Intel","api":"Live API"},"intelEyebrow":"Live data surface","intelSubs":{"creators":"Creators","gifters":"Gifters","rankings":"Rankings","gaming":"Gaming","shop":"Shop"},"liveCount":"{n} live","liveNow":"Live now","warmingUp":"Warming up the live board...","apiEyebrow":"Build on the stream","apiSubs":{"gifts":"Gifts","events":"Events","websocket":"WebSocket","webhooks":"Webhooks"},"yourApp":"Your app","openDocs":"Open docs"},"bookLiveDemo":{"brand":"Book Live Demo","closeAria":"Close demo request","stepOf":"Step {step} of {total}","back":"Back","persona":{"title":"I'm a...","developer":{"label":"Developer","sub":"Building on the API"},"liveAgency":{"label":"Live Agency","sub":"Manage LIVE creators"},"shopAgency":{"label":"Shop Agency","sub":"Drive Shop & sales"}},"interest":{"title":"Interested in","enterprise":"Enterprise","customRequest":"Custom request"},"trial":{"tag":"3-day Pro Pass","title":"Skip the call - just try Pro","lede":"We run live demos for Ultra and above, but you do not need a call to see {plan} in action. Grab the 3-day Pro Pass and explore everything yourself. Cancel anytime.","cta":"Get the 3-day Pro Pass"},"details":{"title":"A few details","firstName":"First name","agencyName":"Agency name","email":"Email","region":"Region","optional":"optional","regionPlaceholder":"US, EU, SEA...","callDetails":"A few details about the call","callDetailsPlaceholder":"What would you like to cover?","bestTime":"Best time to schedule","bestTimePlaceholder":"Weekday mornings, after 3pm...","timezone":"Time zone","usingAccountEmail":"Using your account email","invalidEmail":"Enter a valid email."},"done":{"title":"Request received","lede":"We've received your request - someone from our team will reach back as soon as possible. Thank you.","close":"Close"},"sending":"Sending...","submit":"Submit request","submitError":"Something went wrong sending your request. Please try again."}},"tools":{"giftDetail":{"notFound":"Gift not found.","backToCatalog":"Back to catalog","allGifts":"← All gifts","fallbackName":"TikTok LIVE gift","hero":{"titleSub":"TikTok LIVE gift","titleSubPriced":"TikTok LIVE gift, {coins}","subPriced":"Sending one {gift} costs {coins}, about {buyerUsd} at the reference rate of {rate} coins per $1. The creator is credited {diamonds}, about {creatorUsd} in payout.","subUnpriced":"A virtual gift sent on TikTok LIVE. We do not have a confirmed coin price for this gift yet."},"stats":{"coin":"Coin","coins":"Coins"},"buyerCost":"Buyer cost (approx.)","creatorPayout":"Creator payout (approx.)","cta":{"download":"Download PNG","overlays":"Build TikTok LIVE Overlays"},"breakdown":{"title":"What {gift} {costs} and what the creator gets","titleAccent":"costs","giftsSent":"Gifts sent","diamondsToCreator":"Diamonds to creator","qtyRow":"{qty} x {gift}","note":"Buyer cost uses a reference rate of {rate} coins per $1. TikTok sells coins in packs, and the price per coin depends on the pack size, the store and your region; web checkout and in-app purchases (which include app store fees) usually cost more than this rate. Creator payout uses ${payout} per diamond, before any agency share. {link}.","calculatorLink":"Convert any amount with the diamonds calculator"},"pitch":{"api":{"title":"TikTok LIVE API","body":"Connect to any TikTok LIVE stream over WebSocket. Receive every gift event - including {gift} - in real time. 7-day evaluation key, no credit card.","link":"Read the docs →"},"gifters":{"title":"See top gifters","body":"Browse the global gifter leaderboard - real users sending {gift} and every other gift across {count} regions, updated continuously.","link":"Gifters leaderboard →"},"sdk":{"title":"Production-ready SDK","body":"One npm install -> live events in your terminal. Node.js + Python officially supported.","link":"Quick start →"}},"related":{"title":"Gifts at a similar {price}","titleAccent":"price"},"units":{"coin":"{count} coin","coins":"{count} coins","diamond":"{count} diamond","diamonds":"{count} diamonds"},"faq":{"title":"{gift} gift {faq}","titleAccent":"FAQ","price":{"q":"How much is the {gift} gift on TikTok?","a":"{gift} costs {coins}. At the reference rate of {rate} coins per $1 that is about {usd}. The real checkout price depends on the coin pack, store and region, and in-app purchases usually cost more because of app store fees."},"earn":{"q":"How much does a creator earn from one {gift}?","a":"The creator is credited {diamonds}. At the payout rate of ${payout} per diamond that is about {usd}, before any agency share."},"ten":{"q":"How many coins are 10 {gift} gifts?","a":"10 {gift} gifts cost {coins} (about {buyerUsd}) and credit the creator {diamonds} (about {creatorUsd})."},"similar":{"q":"Which TikTok gifts cost about the same as {gift}?","a":"Gifts at a similar price include {list}."},"listAnd":"{items} and {last}"},"final":{"title":"Want every gift event in {realTime}?","titleAccent":"real time","body":"Drop the free SDK in your app and stream gift, chat, like, follow, and battle events from any TikTok LIVE room.","getKey":"Get a 7-day evaluation key","gifters":"See Gifters Leaderboard"},"seo":{"titleMissing":"TikTok LIVE Gift","titleUnpriced":"TikTok {gift} Gift","titlePricedOne":"TikTok {gift} Gift: {count} Coin (about {usd})","titlePricedMany":"TikTok {gift} Gift: {count} Coins (about {usd})","descriptionMissing":"TikTok LIVE gift details: coin price, creator payout in diamonds and similar gifts.","descriptionUnpriced":"{gift} is a TikTok LIVE virtual gift. Free transparent PNG download and live gift events through the tik.tools API.","descriptionLong":"TikTok {gift} gift costs {coins} (about {buyerUsd}). The creator receives {diamonds}, about {creatorUsd}. Price table and similar gifts.","descriptionMedium":"TikTok {gift} gift costs {coins} (about {buyerUsd}). The creator receives {diamonds}, about {creatorUsd}.","descriptionShort":"{gift}: {coins} (about {buyerUsd}); creator gets {diamonds} (about {creatorUsd})."},"jsonLd":{"breadcrumbHome":"Home","breadcrumbGifts":"TikTok Gifts"},"og":{"subtitle":"{coins} / about {usd}","badge":"GIFT"}},"guidesHub":{"hero":{"badge":"Developer Guides","title":"TikTok LIVE API","titleHighlight":"Developer Guides","subtitle":"Step-by-step tutorials to help you build with TikTok LIVE data. From your first connection to production-ready applications."},"more":{"title":"More Resources","docs":{"title":"API Documentation","desc":"Complete SDK reference, WebSocket events, REST endpoints, and code examples."},"useCases":{"title":"Use Cases","desc":"See what developers build - assistants, overlays, analytics, AI integrations, and more."}},"seo":{"title":"TikTok LIVE API Developer Guides - Tutorials & Quick Start","description":"Step-by-step TikTok LIVE API tutorials: getting started guide, build a chat assistant, create OBS stream overlays, connect from Python, WebSocket API reference. 7-day evaluation key, no credit card.","ogTitle":"TikTok LIVE API Developer Guides - Tutorials & Quick Start","ogDescription":"Quick start guide, chat assistant tutorial, stream overlay tutorial, events reference - learn to build with TikTok LIVE data step by step."},"og":{"title":"TikTok LIVE API Guides","subtitle":"Tutorials and quickstarts for building on TikTok LIVE.","badge":"GUIDE"},"minRead":"{count} min read","levels":{"beginner":"Beginner","intermediate":"Intermediate","allLevels":"All Levels"},"badges":{"quickStart":"Quick Start","guide":"Guide","tutorial":"Tutorial","reference":"Reference","migration":"Migration","troubleshooting":"Troubleshooting","automation":"Automation"},"guides":{"gettingStarted":{"title":"Getting Started with TikTok LIVE API","desc":"Install the SDK, get a 7-day evaluation key, connect to any live stream, and receive real-time events in under 30 seconds."},"websocket":{"title":"TikTok LIVE WebSocket API","desc":"Connect to any TikTok LIVE stream via WebSocket. Receive real-time chat, gifts, viewer counts and battles."},"webhooks":{"title":"TikTok LIVE Webhooks","desc":"Get a signed HTTPS POST when a creator goes live or ends a stream. live.start and live.end with retries, replay and signature checks."},"chatAssistant":{"title":"Build a TikTok Live Chat Assistant in 5 Minutes","desc":"Create a fully functional chat assistant that responds to commands, tracks gifts, maintains a leaderboard, and welcomes viewers."},"overlay":{"title":"Build a TikTok LIVE Stream Overlay","desc":"Create an OBS-compatible browser source overlay with real-time chat feed, animated gift alerts, and viewer count display."},"python":{"title":"TikTok LIVE API Python Guide","desc":"Connect to any TikTok LIVE stream from Python using WebSocket. Real-time chat, gifts, viewer counts - a production-ready alternative to TikTokLive library."},"events":{"title":"TikTok LIVE API Events Reference","desc":"Complete reference for all real-time WebSocket events: chat, gift, like, follow, viewer count, battles, subscriptions, and more."},"tts":{"title":"Text to Speech TTS on TikTok Live","desc":"Learn how to use text-to-speech on TikTok Live streams. Build TTS assistants, read chat aloud, and create interactive voice experiences."},"migrate":{"title":"Migrate from TikTok-Live-Connector","desc":"Move from tiktok-live-connector to the managed API: change the import and the constructor, keep your event handlers."},"troubleshooting":{"title":"Fix common TikTok LIVE connector errors","desc":"SignatureRateLimitError, Failed to sign request, user_not_found, the September 2026 sign outage and the VPN-only problem: what each error means and how to fix it."},"migrateOpenSource":{"title":"Switch from TikTok-Live-Connector or TikTokLive","desc":"Side-by-side Node and Python code, theirs and ours, with an event name map. Every snippet was run against a live stream."},"recipes":{"title":"Automation recipes for n8n and Claude","desc":"Ready n8n workflows for go-live alerts, a daily recruit list and a weekly roster report, plus a prompt pack for the TikTok LIVE MCP server."}}},"agencyGuidesHub":{"hero":{"badge":"For Agencies","title":"TikTok Agency","titleHighlight":"Guides","subtitle":"Practical playbooks for finding, qualifying and signing TikTok LIVE creators - built on live earnings, region and growth data."},"guides":{"findCreators":{"title":"How to Find Creators for Your TikTok Agency","desc":"The full playbook: leaderboards, live-now, rising, eligibility and vetting."},"byCountry":{"title":"Find TikTok Creators by Country","desc":"Region-by-region discovery using the 28+ country leaderboards."},"eligibility":{"title":"Check TikTok Creator Eligibility","desc":"Qualify a shortlist to creators who can actually join an agency."}},"cta":{"title":"Recruiting across many regions?","body":"Agency PASS unlocks the full boards, league tiers and history.","button":"See Agency PASS"},"seo":{"title":"TikTok Agency Guides - Find and Sign Creators {'|'} TikTool","description":"Guides for TikTok LIVE agencies: how to find creators by country and niche, qualify eligibility, and vet earnings before signing. Built on live tik.tools data.","ogTitle":"TikTok Agency Guides","ogDescription":"Playbooks for finding, qualifying and signing TikTok LIVE creators on live data."},"jsonLd":{"breadcrumbHome":"Home","breadcrumbPage":"Agency Guides"},"og":{"title":"TikTok Agency Guides","subtitle":"Find, qualify and sign creators.","badge":"FOR AGENCIES"}},"wsDecoder":{"hero":{"eyebrow":"Developer Tool","title":"TikTok LIVE {accent}","titleAccent":"WebSocket Decoder","subtitle":"Paste a base64 or hex frame captured from TikTok's WebCast WebSocket. We decode the protobuf wire format, auto-gunzip the inner payload, and render the field tree. Runs against TikTool's signing infra - no schema upload required."},"input":{"label":"Input","placeholder":"Paste a base64-encoded WebCast frame here...","decode":"Decode","decoding":"Decoding...","loadSample":"Load sample frame","clear":"Clear"},"output":{"label":"Decoded","bytes":"{count} bytes","gzipped":"gzipped payload","copyJson":"Copy JSON","empty":"Decoded protobuf field tree renders here.","outerFrame":"Outer frame","innerPayload":"Inner payload (auto-gunzipped)"},"howto":{"title":"How to capture a WebCast frame","steps":{"open":"Open a TikTok LIVE stream in Chrome.","devtools":"DevTools > Network > WS. Click the {code} WebSocket.","pick":"Pick any message frame. Right-click > \"Copy message\".","paste":"Paste it here. We accept both base64 and hex representations."},"tail":"Capturing from your own clients? The official Node.js + Python SDKs expose each raw frame via the {code} event - log it once, paste here for inspection. {link}","docsLink":"Full WebSocket docs"},"errors":{"decodeFailed":"Decode failed"},"seo":{"title":"TikTok LIVE WebSocket Decoder","description":"Decode base64 WebSocket frames from TikTok's WebCast push API. Paste a captured message, auto-gunzip the payload, inspect the protobuf field tree.","ogTitle":"TikTok LIVE WebSocket Decoder","ogDescription":"Decode base64 WebSocket frames from TikTok's WebCast push API. Paste, gunzip, inspect the protobuf field tree."},"protoTree":{"fieldOne":"{count} field","fieldMany":"{count} fields"}},"agencyNames":{"seo":{"title":"TikTok Live Agency Names","description":"New creators, new gifters, leaderboards, leagues, gaming ranks, live shops.","ogTitle":"TikTok Live Agency Names"},"jsonLd":{"name":"TikTok Live Agency Names","about":"TikTok LIVE agencies"},"og":{"title":"TikTok Live Agency Names"},"hero":{"eyebrow":"TikTok LIVE · Agencies","title":"TikTok Live data {accent}","titleAccent":"for Agency"},"pillarsTitle":"Everything an agency tracks, in one place","pillars":{"newCreators":{"title":"New creators","copy":"Fresh creators surfacing on LIVE leaderboards, ready to check and recruit."},"newGifters":{"title":"New gifters","copy":"Rising whales and top gifters across every region."},"leaderboards":{"title":"Leaderboards","copy":"Regional and global TikTok LIVE creator rankings, updated live."},"leagues":{"title":"Leagues","copy":"A1 to D5 Diamond Rush league ladders per region."},"gamingRanks":{"title":"Gaming ranks","copy":"Live gaming leaderboards by game and region."},"liveShops":{"title":"Live shops","copy":"Live shopping activity, products and auctions in real time."}},"links":{"title":"Explore the platform","agencyDirectory":"Agency directory","agencyDashboard":"Agency dashboard","agencyPulse":"Agency pulse","newCreators":"New creators","risingCreators":"Rising creators","regionalLeaderboards":"Regional leaderboards","leagues":"Leagues","topGifters":"Top gifters","gamingRanks":"Gaming ranks","giftCatalog":"Gift catalog","bestTime":"Best time to stream","diamondsCalculator":"Diamonds calculator","gifterLevels":"Gifter levels","api":"TikTok LIVE API","docs":"Developer docs","pricing":"Pricing"},"cta":{"title":"List your TikTok LIVE agency for free","body":"Claim your agency name, feature your top creators, and get found first.","button":"List your agency →"}},"gamingRanks":{"nav":{"creators":"Creators","gifters":"Gifters","gaming":"Gaming"},"hero":{"badge":"Agency Feature","badgeIncluded":"Included in {plan}","badgeGlobal":"Agency Global Feature","badgeNew":"NEW","title":"TikTok LIVE {accent}","titleAccent":"Gaming Ranks","subtitle":"The live gaming leaderboard TikTok shows inside the app - every region, refreshed continuously. See which creators are topping the Gaming Ranking right now, ranked by diamonds, with estimated earnings. Agency-exclusive.","login":"Log in","unlock":"Unlock with Agency"},"regionGlobal":"Global","tabs":{"overall":"{region} Gaming","shopping":"Shopping"},"titles":{"shopping":"Shopping Ranking","gaming":"Gaming Ranking","gameWeekly":"{game} · Weekly","gameFallback":"Game"},"meta":{"ranked":"ranked","updated":"updated {time}","justNow":"just now","minutesAgo":"{n}m ago","hoursAgo":"{n}h ago"},"reset":{"nextUpdate":"Next update","resetsIn":"Resets in","dailyResetIn":"Daily reset in","weeklyResetIn":"Weekly reset in"},"resetTitle":{"weekly":"{region} weekly resets","hourly":"{region} hourly resets","daily":"{region} daily resets"},"countdown":{"now":"now","daysHours":"{d}d {h}h","hoursMinutes":"{h}h {m}m"},"copyUsernames":"Copy usernames","shareTitle":"{region} TikTok LIVE Gaming Ranks","share":"Share","loading":{"shopping":"Loading shopping ranks...","gaming":"Loading gaming ranks..."},"table":{"creator":"Creator","gmv":"GMV","diamonds":"Diamonds","estEarnings":"Est. earnings","peakRank":"Peak #","peakDiamonds":"Peak diamonds","toReenter":"To re-enter","then":"Then","now":"Now","bestRank":"Best #","diamondsGained":"Diamonds gained"},"empty":{"shopping":"No shopping ranks for this region yet.","gaming":"No gaming ranks for this region yet.","sub":"Boards fill automatically as creators go live - check another region or come back shortly."},"upsell":{"board":{"titleShopping":"Unlock the full shopping rank, all regions","titleGaming":"Unlock every gaming rank, all regions","bodyShopping":"You are seeing a 3-name preview - GMV scores are real, names are hidden. {plan} unlocks the full shopping board unmasked across all regions, plus the recruiting feed, gifter intel and the private Telegram bot.","bodyGaming":"You are seeing a 3-name preview - scores are real, names are hidden. {starterPlan} and {plan} both unlock the full board unmasked, plus the recruiting feed and the private Telegram bot."},"movers":{"titleShopping":"Unlock the full shopping movers feed","titleGaming":"Unlock the full movers feed","bodyShopping":"Names are hidden - peak ranks and GMV scores are real. {plan} unmasks every seller who churned through the shopping ranks this week, across all regions, for live recruiting.","bodyGaming":"Names are hidden - peak ranks and scores are real. Any agency plan unmasks every creator who churned through the ranks today, plus diamonds-to-reenter for live recruiting."},"rewind":{"title":"Unlock the full rewind","body":"Names are hidden - the ranks, peaks and diamond gains are real. Any agency plan unmasks every creator who entered, dropped out or climbed, in every window up to 3 days back."},"shoppingFeature":"The shopping board","upgradeTo":"Upgrade to {plan}","seePlans":"See Agency plans"},"movers":{"titleShopping":"Seen this week","tagShopping":"below top 99 now","titleGaming":"Entered Top 99 today","tagGaming":"below cutoff now","count":"{count} movers","noteShopping":"Seen in the {region} Shopping Ranking this week, below the current top 99 right now. The reset-cycle churn TikTok never shows.","noteGaming":"Creators who held a Top 99 spot at some point during today's cycle but sit below the current #99 cutoff ({cutoff} diamonds) right now. The reset-time churn TikTok never shows."},"rewind":{"title":"Rewind","note":"The board as it moved over the last window, not just how it looks now. {best} is the highest rank a creator actually touched at any point inside it, so a spike that rose and fell back before you looked still shows up.","replaying":"Replaying the board...","noHistory":"No usable history for this board in this window yet.","nobody":"Nobody in this list for the last {window}.","since":"since {time}","windows":{"h2":"2 hours","h6":"6 hours","h12":"12 hours","h24":"24 hours","d3":"3 days"},"views":{"movers":"Climbed","entered":"Entered","left":"Dropped out"}},"links":{"creators":"Creators Leaderboard","gifters":"Gifters Leaderboard","newCreators":"New Creators","pulseBot":"Telegram Pulse Bot"},"seo":{"title":"TikTok LIVE Gaming Ranks · {region}","description":"TikTok LIVE Gaming Ranks for {region} - the live in-app gaming leaderboard, {count} creators ranked by diamonds with estimated earnings. Agency-exclusive, refreshed continuously across all regions.","ogTitle":"TikTok LIVE Gaming Ranks"},"og":{"title":"TikTok LIVE Gaming Ranks","subtitle":"Top gaming creators across regions, refreshed live.","badge":"GAMING"}}},"agencyGuides":{"common":{"badge":"Agency Guide","ogBadge":"AGENCY GUIDE","faqHeading":"Frequently asked questions","relatedHeading":"Related agency guides","onThisPage":"On This Page","sidebarDemo":"Live board demo","sidebarFaq":"FAQ","loadingLeaderboard":"Loading live leaderboard...","agencyPass":"Agency PASS","breadcrumbHome":"Home","breadcrumbGuides":"Agency Guides"},"regions":{"unitedStates":"United States","uk":"UK","brazil":"Brazil","balkans":"Balkans","indonesia":"Indonesia","latam":"LATAM"},"leaderboardDemo":{"regionLabel":"Region","liveNow":"{count} live now","loading":"Loading live board...","liveBadge":"LIVE","diamondsToday":"diamonds today","empty":"No board data right now. Try another region.","upsell":"Entries past the top two are masked on the free view. {link} unmask the full top 100, every region, in real time.","upsellLink":"Agency plans","openBoard":"Open the live {region} board"},"findCreators":{"hero":{"title":"How to Find Creators for","titleHighlight":"Your TikTok Agency","subtitle":"The practical playbook agencies use to discover, qualify and sign TikTok LIVE creators - by country, by niche, by growth, and by real earnings. Every method below runs on live tik.tools data."},"lead":"If you run a TikTok LIVE agency, the hard part is not managing creators - it is {strong}. The most reliable signal of a creator worth signing is public and measurable: who is actually earning diamonds, in which country, growing how fast, and live right now. tik.tools turns that signal into ranked, filterable lists you can work from every day. Here is exactly how to use it.","leadStrong":"finding the right ones before a competitor does","tldr":{"text":"{label} Start from the {ranking} for your target country, filter to {live}, watch {rising} for early growth, confirm {eligibility} yourself, then vet earnings history on each creator's profile before you reach out. Agencies scale this with {pass}.","label":"Short answer:","ranking":"regional leaderboards","live":"creators live right now","rising":"rising creators","eligibility":"agency eligibility"},"demo":{"heading":"Try it: live creators earning right now","body":"This is a real board, updating live. Pick a region - these are the top TikTok LIVE earners today. On the free view the top two are shown; an agency plan unmasks the full top 100 across every region."},"methodsHeading":"Six ways agencies find creators on tik.tools","methods":{"regional":{"title":"Regional leaderboards - who earns the most in your country","body":"The {link} rank the top 100 TikTok LIVE creators by diamonds earned today, for {count} regions. This is the single best starting point: high earners are proven monetisers who convert gifts into revenue. Open your target country, sort by today or by all-time, and shortlist creators who are consistently near the top.","link":"country leaderboards","tip":"Best for: proven earners, established creators, market mapping by country."},"liveNow":{"title":"Live now - reach creators while they are streaming","body":"{link} shows every creator who is broadcasting at this moment, ranked by current room activity. Contacting a creator on the day they are live - when they can see their own numbers - lands far better than a cold message a week later. Filter to your region and category and work the list in real time.","link":"Popular Live","tip":"Best for: timely outreach, catching creators mid-momentum."},"rising":{"title":"Rising creators - sign them before they blow up","body":"The {link} surfaces creators whose earnings are accelerating fastest, not just whoever is already big. This is where agencies win: a creator climbing quickly is cheaper to sign and more receptive than an established name. Check it daily and move on the steep climbers.","link":"Rising board","tip":"Best for: early signings, lower acquisition cost, long-term upside."},"category":{"title":"Category and gaming boards - find creators in your niche","body":"If your agency specialises, use the category boards. The {link} rank live gaming creators per region and per game, updated in near real time. Niche-specific discovery beats a generic top-100 when you need creators who fit a particular vertical.","link":"gaming leaderboards","tip":"Best for: specialised agencies, niche rosters, category fit."},"eligibility":{"title":"Eligibility check - confirm they can actually join an agency","body":"Before you spend time on outreach, confirm a creator is eligible for agency partnership. Copy the handles from the {link} board and check them yourself with the Chrome eligibility checker or a bulk paste in your backstage, so you are not chasing creators who cannot sign. This alone saves hours of dead-end conversations.","link":"new creators","tip":"Best for: qualifying a shortlist, avoiding wasted outreach."},"vet":{"title":"Vet earnings history before you reach out","body":"Every creator has a profile page with their diamond history, home region, live cadence and recent ranking positions. A creator who spiked once is different from one who earns steadily every week. Read the history, confirm the trend is real, and only then send a tailored offer. Use the {link} view to track a whole shortlist over time.","link":"Agency Pulse","tip":"Best for: due diligence, personalised outreach, avoiding one-hit wonders."}},"scale":{"heading":"Doing it at scale","body":"Working a few countries by hand is fine to start. Once you are recruiting across many regions or want the full unmasked boards, league (class) data and history, agencies move to {pass} - it unlocks the complete top-100 for every region, competitive league tiers, growth history and multi-region tracking in one place. Teams that recruit programmatically pull the same data through the {api}.","apiLink":"leaderboard API"},"cta":{"title":"Ready to build your shortlist?","text":"Open the live boards and start with your target country.","button":"Open live leaderboards"},"faq":{"best":{"q":"What is the best way to find TikTok creators for an agency?","a":"Start from the regional leaderboards for your target country - they rank the top 100 TikTok LIVE creators by diamonds earned, so you are looking at proven monetisers. Cross-reference with the rising board to catch fast-growing creators early, filter to who is live right now for timely outreach, confirm agency eligibility, and vet each creator's earnings history before reaching out."},"country":{"q":"How do I find TikTok creators in a specific country?","a":"Open the {link} and select your region - tik.tools covers {count} regions including the United States, United Kingdom, Balkans, Southeast Asia, Latin America and Brazil. Each region has its own independent top-100 board of the creators earning the most there today.","link":"country leaderboards"},"early":{"q":"How can I find TikTok creators before they get big?","a":"Use the {link}. Instead of ranking by total earnings, it surfaces creators whose earnings are accelerating fastest. Signing a fast climber early costs less and has more upside than chasing an already-established name.","link":"rising creators board"},"eligible":{"q":"How do I know if a TikTok creator is eligible to join an agency?","a":"Copy the handles from the {link} board and check them yourself with the Chrome eligibility checker or a bulk paste in your TikTok backstage. Qualifying a shortlist first means you only spend outreach time on creators who can actually sign.","link":"new creators"},"vet":{"q":"How do I vet a TikTok creator before signing them?","a":"Check the creator's profile for diamond history, home region, live cadence and recent ranking positions. A creator who earns steadily every week is a safer signing than one who spiked once. Consistent, repeatable earnings are the signal to look for."},"paid":{"q":"Do I need a paid plan to find creators?","a":"No - the leaderboards, rising board and live-now views are open to browse, with the top entries visible for free. {link} unlocks the full unmasked top 100 for every region, competitive league tiers, growth history and multi-region tracking for agencies recruiting at scale."},"fresh":{"q":"How fresh is the creator data?","a":"The regional and live boards update continuously through the day, and category boards such as gaming refresh in near real time, so the creators you see are the ones earning and streaming right now - not a stale weekly snapshot."}},"next":{"byCountry":{"title":"Find creators by country","text":"Region-by-region discovery playbook"},"eligibility":{"title":"Check creator eligibility","text":"Qualify a shortlist before outreach"},"leaderboards":{"title":"Live leaderboards","text":"Top 100 earners in {count} regions"},"pass":{"text":"Full boards, leagues, history, scale"}},"sidebar":{"regional":"1. Regional leaderboards","liveNow":"2. Live now","rising":"3. Rising creators","category":"4. Category boards","eligibility":"5. Eligibility check","vet":"6. Vet earnings history"},"seo":{"title":"How to Find Creators for Your TikTok Agency (2026 Guide) {'|'} TikTool","description":"The practical playbook TikTok agencies use to find creators: regional leaderboards, live-now discovery, rising creators, category boards, eligibility checks and earnings vetting - all on live tik.tools data.","ogTitle":"How to Find Creators for Your TikTok Agency","ogDescription":"Discover, qualify and sign TikTok LIVE creators by country, niche, growth and real earnings. Six methods on live data."},"og":{"title":"Find Creators for Your TikTok Agency","subtitle":"Discover, qualify and sign on live data."},"jsonLd":{"name":"How to Find Creators for Your TikTok Agency","description":"A step-by-step method agencies use to discover, qualify and sign TikTok LIVE creators using live earnings, region and growth data.","steps":{"regional":{"name":"Start from regional leaderboards","text":"Open the country leaderboard for your target region and shortlist the top TikTok LIVE creators by diamonds earned today."},"liveNow":{"name":"Filter to creators live now","text":"Use the live-now view to reach creators while they are actively streaming for far better outreach response."},"rising":{"name":"Watch the rising board","text":"Check the rising creators board daily to sign fast-growing creators early, before competitors."},"category":{"name":"Use category boards for niche fit","text":"Use gaming and category boards to find creators in your specific vertical."},"eligibility":{"name":"Confirm agency eligibility","text":"Check your shortlist for agency eligibility in your backstage before spending time on outreach."},"vet":{"name":"Vet earnings history","text":"Review each creator's diamond history and live cadence to confirm steady, repeatable earnings before reaching out."}}}},"byCountry":{"hero":{"title":"Find TikTok Creators","titleHighlight":"by Country","subtitle":"TikTok LIVE earnings are ranked per region. Here is how agencies use the 28+ country leaderboards to map a market and build a local roster."},"lead":"TikTok LIVE gifting is intensely regional - the top earners in Brazil, the Balkans and Southeast Asia are entirely different rosters. If your agency operates in specific markets, the fastest way to find creators is to open that market's leaderboard and work top-down. Every board below is live.","demo":{"heading":"Pick your market and shortlist the top earners","body":"Each region has its own independent top-100 board ranked by diamonds earned today. Switch regions here, then open the full board for the one you recruit in."},"methodsHeading":"How to work a country board","methods":{"region":{"title":"Open your region","body":"Go to {link} and select your country or region. The board shows the top 100 creators by today's diamonds, with live status and current room.","link":"the leaderboards"},"steady":{"title":"Separate steady earners from one-off spikes","body":"Open a creator's profile to see their earnings history. Consistent weekly earners are the roster you want; a single spike is a weaker signal. Recruit the creators who repeat."},"live":{"title":"Catch them live for outreach","body":"Filter to {link} in your region and reach out on a day they are streaming - response rates are far higher than cold messages.","link":"creators live right now"},"eligibility":{"title":"Confirm eligibility before you invest time","body":"Copy your shortlist from the {link} board and check it yourself with the Chrome eligibility checker or a bulk paste in your backstage, so you only pursue creators who can actually join an agency.","link":"new creators"}},"cta":{"title":"Recruiting in more than one region?","text":"Agency PASS unlocks the full top 100 for every country.","button":"See Agency PASS"},"faq":{"regions":{"q":"Which countries have TikTok creator leaderboards?","a":"tik.tools covers {count} regions, including the United States, United Kingdom, Brazil, the Balkans, Southeast Asia, Latin America, and more. Each has its own independent top-100 board of the creators earning the most there today."},"topInCountry":{"q":"How do I find the top TikTok creators in one country?","a":"Open the {link}, select the country, and read the top-100 ranked by diamonds earned today. That is your starting shortlist of proven earners in that market.","link":"leaderboards"},"realCountry":{"q":"Are creators grouped by their real country?","a":"Yes. Boards are built from where a creator actually earns, so a country board reflects that market's real roster rather than a global mix."}},"next":{"playbook":{"title":"Find creators: full playbook","text":"All six discovery methods"},"eligibility":{"title":"Check eligibility","text":"Qualify before outreach"}},"sidebar":{"region":"1. Open your region","steady":"2. Steady vs spikes","live":"3. Catch them live","eligibility":"4. Confirm eligibility"},"seo":{"title":"Find TikTok Creators by Country - Agency Guide {'|'} TikTool","description":"How TikTok agencies find creators in a specific country using the {count} regional leaderboards. Shortlist top earners, catch them live, and confirm eligibility - on live data.","ogTitle":"Find TikTok Creators by Country","ogDescription":"Map any market with per-country TikTok LIVE leaderboards. {count} regions, live earnings."},"og":{"title":"Find TikTok Creators by Country","subtitle":"{count} regional leaderboards, live."},"jsonLd":{"breadcrumbPage":"Find Creators by Country"}},"eligibility":{"hero":{"title":"Check TikTok Creator","titleHighlight":"Eligibility","subtitle":"Before you spend time on outreach, confirm a creator can actually join an agency. Here is how agencies qualify a shortlist first."},"lead":"The most common way agencies waste recruiting time is chasing creators who cannot sign. Qualifying a shortlist up front - before any message goes out - means every conversation you start can actually lead to a partnership. tik.tools gives you the new creators to check, the Chrome eligibility checker and a bulk copy for your backstage, so you work from a clean list you verified yourself.","cta":{"title":"Open the new creators board","text":"Copy the handles, then check them in your backstage.","button":"New creators"},"methodsHeading":"How to qualify a creator before outreach","methods":{"shortlist":{"title":"Build a shortlist from the boards","body":"Start from the {ranking} or {rising} and pull together the creators you would want to sign in your market.","rankingLink":"regional leaderboards","risingLink":"rising creators"},"check":{"title":"Check eligibility yourself","body":"Copy the shortlist from the {link} board and run it through the Chrome eligibility checker or a bulk paste in your backstage. That removes accounts that do not meet TikTok's LIVE agency requirements, so you are not chasing dead ends.","link":"new creators"},"earnings":{"title":"Confirm earnings are real and repeatable","body":"Open each creator's profile and read the diamond history. Eligibility plus a steady weekly earnings trend is the combination worth pursuing - a creator who qualifies but only spiked once is a weaker bet."},"live":{"title":"Reach out while they are live","body":"Message qualified creators on a day they are {link}. Timing your outreach to an active session consistently gets a better response.","link":"streaming"}},"faq":{"canJoin":{"q":"How do I know if a TikTok creator can join an agency?","a":"Copy the handles from the {link} board and check them with the Chrome eligibility checker or a bulk paste in your TikTok backstage. A creator that passes your check is in a position to sign with an agency.","link":"new creators"},"why":{"q":"Why qualify creators before reaching out?","a":"Outreach takes time. Qualifying a shortlist first means every conversation you start can actually lead to a partnership, instead of discovering mid-conversation that a creator cannot join."},"enough":{"q":"Is eligibility enough on its own?","a":"No - pair it with earnings history. A creator who is eligible and earns steadily every week is the strongest signing. Eligibility plus a one-off spike is a weaker signal."}},"next":{"playbook":{"title":"Find creators: full playbook","text":"All six discovery methods"},"byCountry":{"title":"Find creators by country","text":"Region-by-region discovery"}},"sidebar":{"shortlist":"1. Build a shortlist","check":"2. Check eligibility","earnings":"3. Confirm earnings","live":"4. Reach out live"},"seo":{"title":"Check TikTok Creator Eligibility - Agency Guide {'|'} TikTool","description":"How TikTok agencies qualify creators before outreach: check a shortlist for agency eligibility in your backstage, then confirm earnings are steady. On live data.","ogTitle":"Check TikTok Creator Eligibility","ogDescription":"Qualify a shortlist to creators who can actually join an agency before you spend time on outreach."},"og":{"title":"Check TikTok Creator Eligibility","subtitle":"Qualify before you reach out."},"jsonLd":{"breadcrumbPage":"Check Creator Eligibility"}}},"agencyProfile":{"page":{"seo":{"title":"{name} - TikTok LIVE Agency {'|'} TikTool","fallbackTitle":"Agency - TikTool","fallbackDescription":"TikTok LIVE agency profile on TikTool."},"missing":{"title":"Agency not found","body":"This listing does not exist or is not public yet.","back":"Back to directory"},"uploading":"Uploading...","submitting":"Submitting...","sending":"Sending...","close":"Close","cancel":"Cancel","messageAgency":"Message agency","reportFakeData":"Report fake data","status":{"draft":{"tag":"DRAFT","title":"Finish your listing: upload backstage proof + submit for review.","sub":"Upload a screenshot of your agency backstage (LIVE agency dashboard) so we can verify ownership.","proofUploaded":"Proof uploaded - replace","uploadProof":"Upload backstage proof","submit":"Submit for review"},"pending":{"tag":"PENDING REVIEW","title":"We review every listing manually. Average turnaround: a few hours.","chat":"CHAT WITH US"},"needsInfo":{"tag":"MORE INFO NEEDED","title":"Our review team left a note.","proofUploaded":"New proof uploaded - replace","uploadProof":"Upload new proof","resubmitting":"Resubmitting...","resubmit":"Resubmit"},"rejected":{"tag":"REJECTED","title":"This listing was not approved.","chat":"Chat with us"}},"analytics":{"title":"Page analytics","onlyYou":"Only you can see this","pageViews":"Page views","last7":"Last 7 days","last30":"Last 30 days","sparkLabel":"Daily page views, last {count} days","barTitle":"{date}: {views} views","loading":"Loading analytics...","unavailable":"Analytics unavailable right now."},"featured":{"active":"FEATURED AGENCY - active","upsellTitle":"Show as Featured Agency","upsellSub":"Featured agencies appear at the top of the directory. Included with any active Agency plan (weekly or monthly).","cta":"Get featured"},"roster":{"featuredTitle":"Featured","featuredHint":"Star up to 3 creators to feature them here","live":"LIVE","unfeature":"Unfeature","unfeatureCreator":"Unfeature creator","feature":"Feature","confirmRemove":"Confirm remove","removeFromRoster":"Remove from roster","removeAsk":"Remove?","noFeatured":"No featured creators yet.","liveNow":"Live now","watch":"Watch","title":"Roster","allFeaturedOrLive":"Everyone is featured or live right now.","noCreators":"No claimed creators yet."},"add":{"title":"Add creators","placeholder":"Search creators by {'@'}username or display name","ariaLabel":"Search creators","claimed":"Claimed","claim":"Claim","noResults":"No creators found."},"edit":{"title":"Edit details","languages":"Languages","languagesPlaceholder":"Add a language, press Enter","tags":"Tags","tagsPlaceholder":"Add a tag, press Enter","contactEmail":"Contact email","contactPhone":"Contact phone","private":"Private - never shown publicly"},"reports":{"title":"Reports","none":"No open reports against this roster.","responsePlaceholder":"Optional response to the reviewer","evidenceSent":"Evidence sent - replace","uploadEvidence":"Upload evidence","deadlinePassed":"deadline passed","timeLeft":"{hours}h {minutes}m left"},"inbox":{"title":"Inbox","empty":"No messages yet. Visitors can message you from this page; replies go out by email through TikTool.","replyPlaceholder":"Reply...","reply":"Reply"},"messageModal":{"title":"Message {name}","sub":"Your message is delivered privately. The agency replies by email through TikTool - contact details are never shown.","placeholder":"Introduce yourself and what you are looking for...","send":"Send message"},"reportModal":{"title":"Report fake data for {'@'}{username}","sub":"If this creator does not actually belong to this agency, tell us why. Both parties are notified and the agency gets 48 hours to provide evidence before the claim is removed.","placeholder":"What is wrong with this claim? (min 10 characters)","submit":"Submit report","doneTitle":"Report submitted","doneSub":"Both parties have been notified. The agency has 48 hours to provide evidence."},"creatorMenu":{"aria":"Creator actions"},"time":{"justNow":"just now","minutesAgo":"{n}m ago","hoursAgo":"{n}h ago","daysAgo":"{n}d ago"},"toast":{"sent":"Sent - the agency will reply by email through TikTool"},"errors":{"uploadFailed":"Upload failed - try a smaller image","evidenceFailed":"Evidence upload failed - try again.","submitFailed":"Submit failed - try again.","featureLimit":"Up to 3 featured creators - unstar one first.","featureFailed":"Could not update featured creators.","claimFailed":"Claim failed - try again.","removeFailed":"Remove failed - try again","reportEvidenceFailed":"Evidence upload failed.","replyFailed":"Reply failed.","messageFailed":"Message failed - try again.","reportFailed":"Report failed - try again."}},"view":{"bannerAlt":"{name} banner","logoAlt":"{name} logo","bannerCta":"Click to upload your banner","uploading":"Uploading...","changeBanner":"Change banner","uploadBanner":"Upload banner","addLogo":"Add logo","change":"Change","regionsAria":"Regions","done":"Done","editRegions":"Edit regions","addRegions":"Add regions","nameAria":"Agency name","verified":"Verified agency","featuredTitle":"Featured agency","featuredBadge":"FEATURED AGENCY","newPill":"NEW","taglineAria":"Tagline","website":"Website","about":"About","tooLong":"- too long, trim {count} characters","saving":"Saving...","saved":"Saved","saveFailed":"Save failed"},"chipInput":{"placeholder":"Add, press Enter","remove":"Remove {item}"},"sdk":{"seo":{"title":"TikTok LIVE Agency SDK for JavaScript and Python","description":"Unofficial TikTok LIVE agency SDK by tik.tools for npm and PyPI: find creators to recruit, track roster live status and diamonds, receive go-live webhooks and build custom agency dashboards."},"jsonLd":{"breadcrumbHome":"Home"},"ogImage":{"subtitle":"Recruiting, roster live status, diamonds and webhooks."},"hero":{"subtitle":"Find creators to recruit, see who on your roster is live, track diamonds, get go-live webhooks and build your own agency dashboard. One API key, for JavaScript, TypeScript and Python.","npm":"npm package","pypi":"PyPI package"},"what":{"title":"What it does for agencies","intro":"{pkg} wraps the tik.tools API in a typed client built for TikTok LIVE agencies (Creator Networks, TCN, MCN). The same package name is on npm and PyPI, and both clients share one method list.","facts":{"recruit":{"title":"Find creators to recruit.","body":"Ranked creators per region who are candidates to join an agency, new arrivals in the recruit pool, and creators dropping out of the leagues."},"roster":{"title":"Roster live status and diamonds.","body":"Check which of your creators are live right now, and read diamonds per creator and per roster from gifts captured during their streams."},"webhooks":{"title":"Webhooks.","body":"Signed go-live and stream-end alerts to your server, with a verifier for Node, Edge, Workers and Python."},"dashboards":{"title":"Custom dashboards.","body":"Plain JSON with the API's own field names, so the data drops straight into a Next.js page, a notebook or a spreadsheet export."}}},"install":{"title":"Install","js":"JavaScript and TypeScript","key":"Set your key in the {envVar} environment variable on the server. Never ship it to a browser: the TypeScript client refuses to start in a browser page. Keys are on the {link}.","pricingLink":"pricing page"},"examples":{"title":"Examples","live":"Which of my creators are live (TypeScript)","webhook":"Verify a go-live webhook in a Next.js Route Handler (TypeScript)","python":"Creators to recruit and roster diamonds (Python)","planError":"A call your plan does not include throws {error} with the required plan and an upgrade link, so a dashboard can show an upgrade card instead of crashing. Webhook payloads and signatures are documented in the {link}.","apiReferenceLink":"API reference"},"methods":{"title":"Method groups","group":"Group","methods":"Methods","python":"Python uses the same names in snake_case, for example {first} and {second}. Every method with its plan is listed in each package README."},"groups":{"recruit":"Find creators to recruit","rankings":"Rankings and market","vet":"Vet a creator","stats":"Creator stats","rosters":"Rosters","live":"Live status","bigGifts":"Big gifts stream","eligibility":"Eligibility verdicts","webhooks":"Webhooks","account":"Account"},"ai":{"title":"For AI assistants","body":"A machine-readable summary of every method lives at {link}. Point Cursor, Claude, ChatGPT or any AI builder at it, and name the package {pkg}, so generated code uses real data from the API."},"source":{"title":"Source and packages","line":"{label} {repo} and {registry}","license":"License:"},"disclaimer":"Unofficial, not affiliated with TikTok or ByteDance. tiktok-live-agency is an independent SDK for the tik.tools API. TikTok is a trademark of its respective owner, used here only to describe compatibility.","next":{"docsTitle":"API Reference","docsBody":"Every endpoint behind the SDK","plansTitle":"Plans","plansBody":"Get an API key"}},"live":{"seo":{"titleLive":"LIVE - {'@'}{username} is streaming - tik.tools","titleOffline":"{'@'}{username} - tik.tools Live","descriptionLive":"Watch {'@'}{username} live on TikTok - {title} - {viewers} viewers","defaultStreamTitle":"Live Stream","descriptionOffline":"{'@'}{username} is currently offline on TikTok."},"watching":"{count} watching","watchOnTikTok":"Watch on TikTok","offline":{"title":"{'@'}{username} is offline","body":"This streamer is not currently live on TikTok.","visitProfile":"Visit TikTok Profile"}},"obsOverlay":{"seo":{"title":"TikTok LIVE Gifts for OBS - tik.tools","description":"Drop one URL into OBS, get cinematic 3D gift animations on every TikTok LIVE gift. Real-time, transparent, 9:16. Free with watermark, watermark-free on Agency.","ogTitle":"TikTok LIVE Gifts for OBS","ogDescription":"Drop one URL into OBS, get cinematic 3D gift animations on every TikTok LIVE gift. Real-time, transparent, 9:16."},"hero":{"badge":"Free for every creator. No install. No API key.","title":"TikTok LIVE Gifts for OBS"},"search":{"placeholder":"Enter your TikTok username","clear":"Clear"},"status":{"generating":"Generating overlay link..."},"link":{"label":"Your overlay URL","copied":"Copied","copy":"Copy","watermarkFree":"{plan} - watermark-free","watermarkVisible":"tik.tools watermark visible (removed on Agency plans)","open":"Open overlay in a new tab"},"setup":{"label":"Setup","title":"Add it to OBS in under a minute"},"steps":{"one":{"title":"Open the Sources panel","body":"Click the {plus} button below the Sources list and choose {browser}."},"two":{"title":"Name the source","body":"Pick {createNew}, type a name like {name}, leave {visible} checked, click {ok}."},"three":{"title":"Paste the URL, set dimensions","body":"Paste the overlay URL into {url}. Set {width} to {widthValue} and {height} to {heightValue} (TikTok LIVE aspect ratio). Click {ok}."},"four":{"title":"Move the source to the top","body":"In your Sources list, drag the {name} source above your video capture so gifts render on top of everything else. That's it - start your stream."}},"mock":{"appAudio":"Application Audio Capture (BETA)","audioInput":"Audio Input Capture","audioOutput":"Audio Output Capture","browser":"Browser","colorSource":"Color Source","displayCapture":"Display Capture","gameCapture":"Game Capture","createSelect":"Create / Select Source","createNew":"Create new","addExisting":"Add Existing","makeVisible":"Make source visible","ok":"OK","properties":"Properties for 'TikTools'","urlPlaceholder":"paste your overlay URL","width":"Width","height":"Height","confirm":"Confirm"},"preview":{"label":"Live preview - exactly what your audience sees","foot":"9:16 - 1080 x 1920 - transparent background"},"features":{"detection":{"title":"Zero-setup gift detection","body":"The server tracks every TikTok LIVE creator's gift feed already. The moment you go live, the overlay fires - no API key, no per-stream config, nothing to install on your machine."},"gpu":{"title":"Three.js, GPU accelerated","body":"Transparent 9:16 WebGL canvas, particle bursts on the compositor, sprite caching, instanced materials. Stays light on CPU and integrates cleanly with vMix, Streamlabs, OBS Studio."},"watermark":{"title":"Watermark removed on Agency","body":"The free overlay shows a subtle {wordmark} wordmark at 30% from the bottom. {link} to ship pristine overlays with zero branding.","link":"Upgrade to any Agency tier"},"impact":{"title":"Built for impact","body":"The overlay fires on gifts of 1,000 diamonds and above. Small thank-you roses don't trigger so your scene stays clean and reserves the spotlight for moments worth celebrating."}},"errors":{"invalidChars":"Use 2-40 chars: letters, numbers, dots, underscores","warmingUp":"Service warming up - retrying ({attempt}/{max})...","invalidUsername":"That username is not valid","unavailable":"Service is briefly unavailable - try again in a moment."}},"giftsCanvas":{"livePreview":"Live Preview","anonymous":"Anonymous"}},"company":{"about":{"hero":{"badge":"About Us","title":"The TikTok LIVE{br}Data API for {accent}","titleAccent":"Developers","desc":"TikTools was built by developers, for developers. We believe real-time stream data should be accessible, affordable, and easy to use."},"mission":{"title":"Our Mission","p1":"TikTok is the fastest-growing live streaming platform in the world, but developers have no official API to access live stream data. TikTools fills that gap with a production-grade API that delivers real-time chat, gifts, viewer counts, battles, and engagement data through a single WebSocket connection.","p2":"We handle the complexity of live stream connectivity, connection management, and data normalization - so you can focus on building amazing applications."},"provide":{"title":"What We Provide","websocket":{"title":"Real-Time WebSocket API","text":"{title} - Real-time event delivery for chat, gifts, likes, follows, shares, battles, and viewer counts"},"rest":{"title":"REST API Endpoints","text":"{title} - Room info, user profiles, live stream feeds, gift rankings"},"sdk":{"title":"Open Source Node.js SDK","text":"{title} - MIT-licensed, TypeScript-first, available on npm as {package}"},"gameEngine":{"title":"Game engine ready","text":"{title} - WebSocket delivery works with any engine (C++, C#, Godot, web) for interactive game experiences"},"sandbox":{"title":"Sandbox tier","text":"{title} - {requests} requests/day, {sessions} WebSocket sessions per 24h and up to {streams} concurrent streams, no credit card required. Upgrade to a paid tier (from {price}/week) for {paidRequests} requests/day and production access."}},"users":{"title":"Who Uses TikTools?","intro":"Developers and companies use TikTools to power:","items":{"chatAssistants":"Live stream chat assistants and command bots","overlays":"OBS overlays and donor alerts","analytics":"Analytics dashboards and engagement tracking","moderation":"AI-powered content moderation and sentiment analysis","games":"Interactive game integrations (any WebSocket engine)","multiStream":"Multi-stream monitoring platforms"}},"compare":{"title":"Why Not EchoTik or Other Tools?","p1":"TikTools focuses exclusively on {focus} for developers. Unlike e-commerce analytics tools like EchoTik (which focuses on TikTok Shop data - product rankings, GMV trends, seller analytics), TikTools is built for live streaming applications.","p1Focus":"real-time LIVE stream data","p2":"We offer what no alternative provides in one package: real-time WebSocket streaming, an open-source SDK, agency intel, and a 7-day evaluation with no credit card. If you're building anything that interacts with TikTok LIVE streams, TikTools is purpose-built for your use case."},"commitment":{"title":"Our Commitment","reliability":{"title":"Reliability","text":"{title} - automatic failover and continuous health monitoring"},"transparency":{"title":"Transparency","text":"{title} - Clear pricing, no hidden fees, no bait-and-switch"},"devExperience":{"title":"Developer Experience","text":"{title} - From {command} to live data in under 30 seconds"},"openSource":{"title":"Open Source","text":"{title} - Our SDK is MIT licensed. No vendor lock-in, ever"},"support":{"title":"Responsive Support","text":"{title} - Real-time chat support with human engineers, not chat assistants"}},"sidebar":{"quickLinks":"Quick Links","docs":"API Documentation","pricing":"Pricing & Plans","useCases":"Use Cases","npmPackage":"npm Package","getStarted":"Get Started","freeTier":"7-day evaluation key - no credit card required.","getApiKey":"Get API Key"},"seo":{"title":"About TikTool - TikTok LIVE API for Developers","description":"TikTools is the developer-first TikTok LIVE API. Real-time WebSocket streaming, open-source Node.js & Python SDK, creator leaderboards. 7-day evaluation, no credit card required. Built by developers, for developers.","ogDescription":"The developer-first TikTok LIVE data API. Real-time WebSocket, open-source SDK, creator leaderboards. 7-day evaluation, no credit card.","ogImageTitle":"About TikTool","ogImageSubtitle":"The managed TikTok LIVE data platform built for developers.","ogImageBadge":"ABOUT"}},"methodology":{"hero":{"badge":"Methodology","title":"How tik.tools collects{br}TikTok LIVE {accent}","titleAccent":"data","desc":"What each board is, how often it refreshes, how regions map to countries, what is masked on each plan and why, how much history we keep, and where our coverage has gaps."},"sources":{"title":"Where the data comes from","p1":"tik.tools reads the TikTok LIVE ranking boards and LIVE rooms that TikTok shows in its app: the daily, league, gaming, shopping, Popular LIVE and team boards, and the public LIVE rooms of the creators on them. Every number on a board is the value TikTok showed at the moment we captured it; tik.tools does not adjust, smooth or project those numbers, except where a figure is labelled as an estimate.","p2":"tik.tools is independent and is not affiliated with TikTok or ByteDance."},"boards":{"title":"Boards and refresh cadence","intro":"Each board is refreshed on its own schedule. Every board page shows the time its data was captured, so quote that time with the number.","colBoard":"Board","colWhat":"What it ranks","colRefreshed":"Refreshed","rows":{"daily":{"name":"Daily creator ranking","what":"Creators by diamonds received today, per region","cadence":"Continuously"},"countryBoards":{"name":"Standalone country boards","what":"Single-country daily boards TikTok publishes inside a pool","cadence":"Frequently"},"league":{"name":"League divisions","what":"Creators in each weekly league division (A1 to D5), per region","cadence":"Frequently"},"gaming":{"name":"Gaming boards","what":"Gaming creators overall and per tracked game title, per region","cadence":"Frequently, with live status updated continuously"},"shopping":{"name":"Live shopping boards","what":"Live shopping creators, per region, weekly window","cadence":"Frequently, and right after the weekly reset"},"popular":{"name":"Popular LIVE","what":"Rooms TikTok is featuring on Popular LIVE right now","cadence":"Continuously"},"teams":{"name":"Teams","what":"Team rankings, per region","cadence":"Frequently"},"rising":{"name":"Rising creators","what":"Creators climbing fastest","cadence":"Regularly through the day"},"gifters":{"name":"Gifter boards","what":"Top gifters by diamonds sent, daily, weekly and monthly","cadence":"Daily board frequently; weekly and monthly boards regularly"},"liveCounts":{"name":"Live counts","what":"How many ranked creators are live in a region","cadence":"Continuously"}},"resets":"Daily boards reset once a day at each region's own reset hour (listed per region below), so a daily score is a running total for the current rank-day. League divisions reset weekly on Monday at the region's reset hour. {regions} have no daily board on TikTok; for those regions we show the hourly board, and their league divisions reset daily."},"joinAnd":"{first} and {last}","regions":{"title":"Regions and countries","p1":"tik.tools ranks {count} TikTok LIVE regions. A region is one TikTok ranking pool: a single daily board that TikTok publishes for one country or for a group of countries. A creator's region is the pool they rank in, not their nationality. TikTok does not publish a country for individual creators, so tik.tools does not assign one.","p2":"Besides these regions, TikTok publishes standalone boards for some single countries inside a pool. Those boards appear on the {link} while TikTok publishes them and drop off when it stops.","p2Link":"rankings page","colRegion":"Region","colCountries":"Countries on the board","colReset":"Daily reset","hourly":"Hourly","resetAt":"{time} UTC","note":"Reset hours are the hour TikTok's board most often rolls over in that region, measured from our own capture history. Region pages show the live countdown TikTok publishes when we have it."},"masking":{"title":"What is masked on each plan, and why","intro":"Scores, ranks and counts are never masked: every row keeps its real rank and diamonds, so totals and positions are correct on every plan. What changes by plan is whether a row shows the creator's or gifter's name. A masked name appears as dots followed by its last characters.","colSurface":"Surface","colPreview":"Without the unlocking plan","colFull":"Fully named from","rows":{"daily":{"surface":"Daily regional boards","preview":"Top 10 offline creators named; creators who are live right now are never named"},"global":{"surface":"Global overview","preview":"Names masked"},"league":{"surface":"League divisions","preview":"1 creator named per division"},"gaming":{"surface":"Gaming boards","preview":"1 creator named per board"},"shopping":{"surface":"Live shopping boards","preview":"1 creator named"},"popular":{"surface":"Popular LIVE","preview":"Top 10 offline creators named"},"movers":{"surface":"Top movers","preview":"3 creators named"},"gifterBoards":{"surface":"Gifter boards","preview":"Diamonds and counts shown; below Agency the top 3 gifters are named, and Agency Starter names every gifter on its own region's board"},"creatorPages":{"surface":"Creator pages","preview":"Numbers shown, identifiers masked"},"gifterPages":{"surface":"Gifter pages","preview":"Numbers shown, identifiers masked"}},"why":"Why we mask: the numbers are public and stay public, but a full list of names, and above all a list of who is live right now, is exactly what someone would pull from free views at scale to poach creators or resell the data. Masking keeps the boards useful to read while tying bulk identity data to a paid, accountable plan. Plans and prices: {link}.","whyLink":"pricing"},"history":{"title":"How much history we keep","rows":{"creatorPages":{"product":"Creator pages","depth":"ranking history for the last 90 days."},"creatorDiamonds":{"product":"Creator diamond history (Agency)","depth":"the last 12 months."},"gifterPages":{"product":"Gifter pages","depth":"a rolling 90-day window; individual gift events are kept for about 3 months."},"gifterBoards":{"product":"Gifter boards","depth":"daily, weekly and monthly windows."},"gamingMovers":{"product":"Gaming movers","depth":"windows from the last 2 hours up to the last 3 days."},"dailyBoards":{"product":"Daily boards","depth":"the current rank-day live, plus recent daily winners on each region page."},"league":{"product":"League divisions","depth":"the current weekly window."}}},"gaps":{"title":"Known gaps","unavailable":{"title":"Boards marked unavailable.","text":"{title} When the API returns {code} for a board, we have no usable capture for that region and window. It is a coverage gap, not a statement that the region has no ranked creators. Gaming boards, for example, are not available for every region."},"hourlyOnly":{"title":"Hourly-only regions.","text":"{title} {regions} have no daily board on TikTok, so their \"daily\" view is the current hourly board."},"archived":{"title":"Archived daily pages.","text":"{title} Per-date archive pages for past daily boards are not published for every region and date. A past date that shows no rows means we have no published snapshot for it, not that nobody ranked."},"emptyDivisions":{"title":"Empty divisions.","text":"{title} League divisions with no ranked creators are not listed, and a division TikTok re-seeds can change between captures."},"outages":{"title":"Brief outages.","text":"{title} If TikTok stops answering for a while, a board keeps its last good capture and its capture time stops moving. Check the capture time before relying on a number."}},"quoting":{"title":"Before you quote our numbers","diamonds":{"title":"Diamonds","text":"{title} on a board are the score TikTok displayed at the capture time, for the current rank-day (daily boards), rank-week (league divisions) or rank-hour (hourly boards)."},"earnings":{"title":"Earnings and revenue","text":"{title} figures are estimates derived from diamonds. They are not payouts; what a creator receives depends on TikTok and agency terms."},"masked":{"title":"Masked rows","text":"{title} are real rows with the name hidden. Count them in totals and ranks; do not treat them as missing."},"regions":{"title":"Regions","text":"{title} are TikTok ranking pools, not countries of residence. Say \"ranked in the {region} region\", not \"from\" a country."},"captureTime":{"title":"Capture time","text":"{title}: cite the time shown on the page or in the API response, in UTC where possible."},"eventTypes":"The WebSocket API documents {count} LIVE event types; see the {link}.","eventTypesLink":"API docs"},"report":{"title":"Report a data issue","text":"If a number looks wrong, email {email} with the page URL or API request, the region, the time you saw it (with time zone) and what you expected to see. A screenshot of the same board in the TikTok app at the same time is the fastest way for us to confirm and fix it. For privacy requests, see the {privacyLink}.","privacyLink":"privacy policy"},"sidebar":{"onThisPage":"On this page","related":"Related","rankings":"TikTok LIVE rankings","rankingsOverview":"Rankings overview","docs":"API documentation","pricing":"Plans and pricing"},"toc":{"sources":"Where the data comes from","boards":"Boards and refresh cadence","regions":"Regions and countries","masking":"Masking by plan","history":"History depth","gaps":"Known gaps","quoting":"Before you quote our numbers","report":"Report a data issue"},"seo":{"title":"Data methodology - how tik.tools collects TikTok LIVE data","description":"How tik.tools captures and refreshes TikTok LIVE rankings across {count} regions: board refresh cadence, region and country mapping, masking by plan, history depth and known gaps.","ogImageTitle":"Data methodology","ogImageSubtitle":"How TikTok LIVE boards are captured across {count} regions.","ogImageBadge":"METHODOLOGY"},"jsonLd":{"measurementTechnique":"Periodic capture of public TikTok LIVE ranking boards","variables":{"rank":"Rank","diamonds":"Diamonds","liveStatus":"Live status"},"datasets":{"dailyRankings":{"name":"TikTok LIVE daily creator rankings by region","description":"Daily TikTok LIVE creator rankings by diamonds for {count} regions, updated continuously and reset at each region's daily reset hour."},"leagueDivisions":{"name":"TikTok LIVE league divisions by region","description":"Weekly TikTok LIVE league division rosters and scores per region, refreshed frequently."},"gamingBoards":{"name":"TikTok LIVE gaming creator rankings by region","description":"TikTok LIVE gaming creator rankings overall and per tracked game title, per region, refreshed frequently."},"gifterBoards":{"name":"TikTok LIVE top gifter rankings","description":"Top TikTok LIVE gifters by diamonds sent over daily, weekly and monthly windows."}}}},"status":{"hero":{"titleHighlight":"Status","subtitle":"Live health of customer-facing services. Updated every 5 seconds."},"activeIncidents":"Active incidents","started":"Started {time}","recently":"recently","components":"Components","errorRateWindow":"{pct}% error rate in last {minutes} min","upstream":"Upstream dependencies","percent":"{value}%","me":{"title":"Your account","loading":"Loading your activity...","requests24h":"Requests (24h)","successRate":"Success rate","serverErrors":"Server errors","clientErrors":"Client errors","perEndpoint":"Per endpoint","colEndpoint":"Endpoint","colRequests":"Requests","colErrorRate":"Error rate","recentFailures":"Recent failures","hint":"Most of your errors are 4xx. Those usually mean the request shape needs adjustment - check the response message field for the specific reason. {link}.","hintLink":"Docs"},"signInCta":"{link} to see your personalised request history and per-endpoint health.","signIn":"Sign in","history":"History","uptime90d":"90-day uptime: {value}","noIncidents":"No incidents in the last 30 days.","measuredSince":"Measured since {date}. Every minute we check from outside that the API and the website answer. Days without a measurement are not shown.","uptimeMeasured":"Uptime over {days} measured days: {value}","noIncidentsMeasured":"No incidents since measuring started.","ongoing":"ongoing","overall":{"operational":"All systems operational","minor":"Minor issues","degraded":"Degraded performance","outage":"Active outage","unknown":"Status unknown"},"component":{"operational":"Operational","minor":"Minor issues","degraded":"Degraded","outage":"Outage","unknown":"Unknown"},"rel":{"justNow":"just now","minutes":"{n}m ago","hours":"{n}h ago","days":"{n}d ago"},"sparkline":{"aria":"{hours}-hour status history","noData":"no data","errors":"{pct}% errors","requests":"{count} req","hours":"{count}h","now":"now","titleNoData":"{time} - no data","title":"{time} - {pct}% errors ({count} req)"},"seo":{"title":"TikTool Status","description":"Live health of the TikTool API, realtime events, signing, and dashboard. Updated every 5 seconds.","ogDescription":"Live operational status for the TikTool API + realtime events."},"severity":{"outage":"Outage","degraded":"Degraded","minor":"Minor"},"incident":{"one":"{a} unreachable","two":"{a} and {b} unreachable","component":{"api":"API","website":"Website"}}},"help":{"hero":{"badge":"Support","title":"How can we {accent}?","titleAccent":"help","desc":"Chat with our team in real time. We typically respond within minutes."},"resources":{"title":"Resources","docs":{"label":"API Documentation","desc":"SDK reference, endpoints & examples"},"pricing":{"label":"Pricing & Plans","desc":"Compare tiers and upgrade your account"}},"faq":{"title":"Common Questions","items":{"apiKey":{"q":"How do I get an API key?","a":"Sign up at tik.tools/pricing. The Sandbox tier is a 7-day evaluation, counted from the day your account is created: {requests} requests/day and {connections} concurrent WebSocket connections, no credit card needed. After 7 days every request returns \"Evaluation period ended\" until you pick a paid tier (from {price}/week) for {paidRequests} requests/day and production access."},"connect":{"q":"Why can't I connect to a stream?","a":"Make sure the streamer is currently LIVE and the username is correct (without {'@'}). Also verify your API key is valid and hasn't exceeded its quota."},"languages":{"q":"What programming languages and engines do you support?","a":"Any language or engine that supports WebSocket connections. Official SDKs for Node.js/TypeScript and Python, plus raw WebSocket access ({url}) for Go, Rust, Java, C#, C++, and any game engine."},"upgrade":{"q":"How do I upgrade my plan?","a":"Go to tik.tools/pricing, select a plan, and follow the checkout flow. Upgrades are instant and pro-rated."}}},"seo":{"title":"Help & Support - TikTool","description":"Get instant support for TikTool. Chat with our team, browse documentation, and find answers to common questions.","ogTitle":"TikTool - Help & Support","ogDescription":"Chat with our support team in real time. Browse docs, troubleshoot, and get your questions answered."}},"supportChat":{"header":{"title":"Dev Human Live Chat. Not AI.","online":"Online","offline":"Leave a message - we'll get back to you"},"auth":{"title":"Sign in to chat with us","desc":"We typically respond within minutes during business hours.","google":"Continue with Google","or":"or","emailPlaceholder":"Email address","passwordPlaceholder":"Password","signIn":"Sign In"},"welcome":{"title":"Hi there","desc":"Send us a message and we'll get back to you as soon as possible."},"pass":{"body":"{title} Full Agency Global access is live on your account. {link}","activated2h":"2-Hour Agency Pass activated.","activatedDay":"Agency Day Pass activated.","dashboardLink":"Open the Agency dashboard"},"notSent":"not sent","typing":"TikTools is typing","input":{"placeholder":"Type a message...","send":"Send message"},"errors":{"required":"Email and password required","loginFailed":"Login failed. Try again."}},"login":{"eyebrow":"Secure Access","title":"Welcome back","sub":"Sign in or create your account instantly.","google":"Continue with Google","divider":"or continue with email","emailLabel":"Email address","googleNotice":"This email uses Google Sign-In. Please use the button above.","passwordLabel":"Password","passwordPlaceholder":"Enter your password","passwordHint":"New account? Use min 8 chars, 1 uppercase, 1 number.","forgot":"Forgot your password?","codeLabel":"Verification code","codePlaceholder":"6-digit code","codeSent":"We emailed a 6-digit code to {email}. {resend}","sending":"Sending...","resend":"Resend","verifyAndCreate":"Verify and create account","continue":"Continue","emailMeCode":"Email me a sign-in code","usePassword":"Use password instead","signInWithCode":"Sign in","errors":{"createFailed":"Account creation failed. Please try again or use Google sign-in.","invalidToken":"Authentication session expired. Please try again.","authFailed":"Authentication failed. Please try again.","blockedDomain":"This email domain is not allowed. Please use a business email or Gmail.","passwordAccount":"An account with this email signs in with a password. Sign in with your password, or reset it with 'Forgot your password?'.","codeSendFailed":"Could not send the code. Please try again.","codeFormat":"Enter the 6-digit code from your email.","codeInvalid":"That code is incorrect or has expired. Request a new one.","invalidEmail":"Invalid email","passwordRequired":"Password is required","generic":"Something went wrong. Please try again.","captcha":"Verification failed. Please complete the check and try again.","contactSupport":"If you believe this is wrong, contact {email}","linkExpired":"That sign-in link has expired or was already used. Request a new code below."},"seo":{"title":"Sign In - TikTool","description":"Sign in to TikTool to access the TikTok LIVE leaderboard, creator profiles, and API dashboard."}},"trust":{"seo":{"title":"Trust and billing facts - company, invoices, refunds and data sources","description":"Who operates TikTools, how payments, invoices and refunds work, where the data comes from, and where to see live service status."},"title":"Trust and billing facts","intro":"The facts a finance, legal or engineering reviewer usually asks for before approving a vendor, in one place. Each point links to the binding text in our Terms or Privacy Policy.","linkLine":"Company details, invoices, refunds and data sources: {link}","linkText":"Trust and billing facts","entity":{"h":"Who operates TikTools","p1":"TikTools is operated by {name}, {address}. References to TikTools in our Terms mean {name}.","p2":"Contact: {email}. Full contact details are in {link}.","termsLink":"Terms section 15.6"},"payments":{"h":"Payment methods","p1":"Card payments are processed by Stripe. PayPal is also offered at checkout for API and agency plans; checkout shows the billing periods it is available for. We never see or store your full card number.","p2":"Plans renew automatically. You can cancel at any time, and your plan stays active until the end of the period you paid for ({link}, section 5.2).","termsLink":"Terms"},"invoices":{"h":"Invoices","p1":"Card payments come with an invoice issued through Stripe. On the {link} page you can view each invoice online or download it as a PDF.","billingLink":"Billing","p2":"Under Invoice Details on the same page you can add a company or full name, a billing address with country, and one VAT or tax ID for supported countries. These are shown as \"Bill to\" on invoices created after you save them. Invoices that were already issued keep the details they were issued with.","p3":"PayPal payments are confirmed by PayPal's own receipt. They do not appear in the invoice list, and Invoice Details apply to card payments only. If you need a company invoice, pay by card."},"refunds":{"h":"Refunds","p2":"The binding text is in {link}.","termsLink":"Terms sections 5 and 16"},"data":{"h":"Where the data comes from","p1":"tik.tools reads publicly visible TikTok LIVE activity: who is live, rankings and leaderboards, gifts, chat and viewer activity on public streams. We run our own collection of this public data and keep it, together with creator and gifter statistics derived from it, to power the boards, history and analytics.","p2":"When your app connects to a stream through the API, we relay the events to it in real time and do not keep a separate copy for your account. We record usage metrics such as request counts and error rates to run the service and enforce plan limits (see section 5 of the {link}).","privacyLink":"Privacy Policy","p3":"TikTools is independent and is not affiliated with or endorsed by TikTok. TikTok can change or restrict access to its platform at any time; section 5.5 of the Terms explains what that means for your plan."},"extension":{"h":"How the agency Chrome extension uses your TikTok Backstage","p1":"The eligibility extension comes with Agency plans and can only be downloaded from a signed-in agency account. It runs in your own Chrome browser and works with the Backstage account you are already signed in to there. It connects to tik.tools through your tik.tools sign-in, not an API key, and every request it makes to us needs an active Agency plan.","p2":"In Backstage it makes one kind of request: the invite-eligibility check Backstage itself uses, for up to 30 creator handles at a time with a pause between batches. It does not send invitations, message creators or change any agency settings. To run a check it may open or reload a Backstage tab. If you turn on automatic or queued checks, it runs the same check on a schedule or when you open Backstage.","p3":"When you click Connect, the extension sends tik.tools the Backstage session of that browser (its Backstage cookies, which include the sign-in session, and the request tokens Backstage uses) together with your Backstage agency ID. We keep this for up to 24 hours, linked to your tik.tools account, so that results are filed under the Backstage agency they came from and never under another agency. Our servers do not use it to make requests to TikTok: the checks run in your browser.","p4":"tik.tools never receives your TikTok password. You sign in to Backstage on TikTok's own page. An optional account-switching setting can save a Backstage password in the extension: it stays in that browser's extension storage and is only typed into TikTok's own sign-in form. When you switch accounts, the extension signs that browser out of Backstage by deleting its Backstage sign-in cookies.","p5":"The extension recommends connecting a separate Backstage account that has invite access rather than the agency owner's own account, because high-volume checks can get an account flagged by TikTok.","p6":"What it sends to tik.tools: the region and list you chose, and for each creator checked the handle, TikTok user ID, nickname, profile picture and the result Backstage returned (eligible, premium invite only, already invited or with your agency, or not eligible, with the reason Backstage gives). With account switching on, it also sends the sign-in email of the Backstage account in use. We use this to show each creator's status on your roster, boards and rankings, to remove checked names from your team's queue, and to apply your plan's check limits and the hourly pacing per Backstage account.","p7":"Our {link} sets out what the extension sends us, why, how long we keep it and who can see it.","p7Link":"privacy policy"},"status":{"h":"Service status","p1":"The {link} shows the current state of the API and the website. Since measuring started, it also shows uptime per day from a check we run every minute, and each incident with its start and end time. Days without a measurement are left out, never filled in.","statusLink":"status page"}}},"devLanding":{"websocket":{"seo":{"title":"TikTok LIVE WebSocket API - Real-Time Chat & Gifts in 3 Lines of Code","description":"Stream TikTok LIVE chat, gifts, likes, follows, PK battles, native captions, polls, karaoke, pictionary, live shopping and 90+ event types via one WebSocket in real time. Anonymous mode - no key required to start. Works with Node.js, Python, Go, Rust, Java, C#.","ogTitle":"TikTok LIVE WebSocket API - Real-Time Chat & Gifts in 3 Lines","ogDescription":"90+ real-time event types. 7-day evaluation. Works with any language - Node.js, Python, Go, Rust, Java, C#.","twitterTitle":"TikTok LIVE WebSocket API - Chat & Gifts in 3 Lines of Code","twitterDescription":"One WebSocket URL for all TikTok LIVE events. Chat, gifts, viewers, battles in real time. 7-day evaluation - start building now."},"og":{"title":"TikTok LIVE WebSocket API","subtitle":"Real-time chat and gifts in three lines of code. Managed signing included.","badge":"WEBSOCKET"},"hero":{"badge":"WebSocket API","titleLead":"TikTok LIVE","titleAccent":"WebSocket API","sub":"Stream real-time TikTok LIVE events - chat, gifts, likes, follows, viewer counts, battles - through a single managed WebSocket connection.","ctaKey":"Get a 7-day evaluation key","ctaDocs":"View Documentation"},"stats":{"eventTypes":"Event Types","anyValue":"Any","language":"Language","realtimeValue":"Real-time","delivery":"Event delivery"},"how":{"title":"Connect in 3 lines of code","sub":"No binary parsing, no infrastructure overhead. Just a WebSocket URL delivering clean JSON.","copy":"Copy","copied":"Copied","copyCode":"Copy code"},"events":{"title":"Explore every event","sub":"Pick an event to see the exact JSON your WebSocket delivers, with each field explained."},"compare":{"title":"How TikTools compares","sub":"Side-by-side comparisons with other TikTok LIVE data providers, each dated and checked against their public pages.","cta":"See comparisons"},"pricing":{"title":"Transparent Pricing","sub":"Evaluate free for 7 days, then pick the plan you need.","testKey":"Test key","fromWeekly":"From {price}/wk","ctaTestKey":"Get a test key","ctaPlans":"View Plans","sandbox":{"evaluation":"7-day evaluation","everyEvent":"Every event type","noCard":"No card needed"},"pro":{"limits":"Production request and WebSocket limits","webhooks":"Signed webhooks","sdks":"Node.js and Python SDKs"},"ultra":{"limits":"Highest limits below Agency","leagues":"League boards unmasked","everyEvent":"Every event type"}},"sdks":{"title":"Works with every language","sub":"Official SDKs for Node.js and Python. WebSocket works with everything else."},"cta":{"title":"Start streaming TikTok LIVE data today","sub":"Sandbox tier - 5,000 requests/day, 3 concurrent WebSocket connections. No credit card required.","github":"Star on GitHub"}},"mcp":{"seo":{"title":"TikTok LIVE MCP + API integrations - tik.tools","description":"Add live TikTok LIVE data to Claude, Cursor, VSCode and any MCP client. Plus RapidAPI, Apify, Custom GPT, SDKs and a real-time WebSocket. 7-day evaluation key, no credit card.","ogTitle":"TikTok LIVE, wired into your AI","ogDescription":"One MCP server drops live TikTok data into Claude, Cursor and VSCode. 7-day evaluation key, no credit card."},"hero":{"eyebrow":"For AI agents and developers","title":"TikTok LIVE, wired into your AI","lead":"One MCP server drops live TikTok data into Claude, Cursor, VSCode and any MCP client. Detect who is live, pull creator and room data, gifts, and leaderboards - straight from a prompt. 7-day evaluation key, no credit card.","ctaKey":"Get a 7-day evaluation key","ctaIntegrations":"All integrations"},"install":{"title":"Add the MCP server","sub":"One click wires it straight into your client. Swap {code} for your evaluation key once it is added.","hideConfig":"Hide the config","showConfig":"Prefer to paste it yourself?","toolsNote":"11 tools. Full list with the tier each one needs is below."},"oneClick":{"cursor":{"add":"Add to Cursor","done":"Opening Cursor"},"vscode":{"add":"Add to VS Code","done":"Opening VS Code"},"claude":{"add":"Copy config, open Claude","done":"Copied - opening Claude"}},"copy":"Copy","copied":"Copied","key":{"title":"Set your API key","sub":"Every tool call is authenticated. With no key set, each call comes back with {error}, so do this before the first prompt.","step1":"Get a 7-day evaluation key at {link}. No credit card.","step2":"Put it in the server's {env} block as {name}.","step3":"Restart your client so it reloads the server.","vscodeNote":"VS Code uses {servers} instead of {mcpServers} - see the config tabs above. {altKey1} and {altKey2} also work if your setup already uses one of those names."},"tools":{"title":"The 11 tools","sub":"Ask in plain language and the client picks the tool. The tier column is the lowest key that returns data for that tool.","colTool":"Tool","colTier":"Minimum tier","anyKey":"Any key","notes":{"giftCatalog":"No arguments needed. Optional username, search, limit.","leaderboard":"Daily board. type=league needs Ultra, type=weekly, gaming and shopping need Agency.","popularLive":"Masked below Agency."}},"connect":{"title":"Every way to connect","sub":"Same data, whichever surface your stack lives on.","items":{"mcp":{"tag":"AI agents","title":"MCP server","desc":"npx tiktok-live-mcp in Claude, Cursor, VSCode and Windsurf.","cta":"View on npm"},"gpt":{"tag":"Custom GPT","desc":"Point a Custom GPT at the OpenAPI spec and query live data in chat.","cta":"Get the schema"},"rapidapi":{"tag":"Marketplace","desc":"The full REST API on the RapidAPI marketplace.","cta":"Open listing"},"apify":{"tag":"Automation","desc":"Run live detection and leaderboards as an Apify Actor.","cta":"Open Actor"},"sdks":{"tag":"SDKs","title":"Node and Python","desc":"{'@'}tiktool/live and tiktok-live-api - stream chat and gifts in 20 lines.","cta":"View docs"},"websocket":{"tag":"Realtime","desc":"wss://api.tik.tools - chat, gifts, likes and battles as they happen.","cta":"Read the docs"}}},"foot":{"title":"Premium data, direct","sub":"The 7-day evaluation covers live detection, room data, gifts and rankings. Full unmasked leaderboards, league and gaming boards, creator and gifter earnings, the new-creator recruiting feed, and the real-time event WebSocket unlock on a paid plan at tik.tools.","cta":"See pricing"}},"useCases":{"seo":{"title":"TikTok LIVE API Use Cases - Chat Assistants, Overlays & AI","description":"Build chat assistants, stream overlays, gift leaderboards, analytics dashboards, AI integrations, and interactive games with the TikTok LIVE API. Code examples included. 7-day evaluation key, no credit card needed.","ogTitle":"TikTok LIVE API Use Cases - What Can You Build?","ogDescription":"Chat assistants, stream overlays, gift tracking, analytics, AI integrations, game integrations - real-world TikTok LIVE API use cases with code."},"og":{"title":"What you can build","subtitle":"Chat assistants, stream overlays, gift alerts, analytics and AI integrations.","badge":"USE CASES"},"hero":{"badge":"Use Cases","titleLead":"What Can You Build with","titleAccent":"TikTok LIVE API?","desc":"From chat assistants to analytics dashboards - TikTools powers real-time TikTok applications. Here's what developers build with our API."},"items":{"chatAssistants":{"title":"TikTok Live Chat Assistants","desc":"Build automated chat assistants that respond to messages, run interactive games, welcome new viewers, and moderate chat in real-time. React to specific keywords, commands, or user actions instantly."},"overlays":{"title":"Real-Time Stream Overlays","desc":"Create OBS-compatible browser source overlays that display live chat, gift alerts, viewer counts, and engagement metrics directly on your stream. Fully customizable with HTML/CSS."},"giftTracking":{"title":"Gift Tracking & Donation Alerts","desc":"Track virtual gifts in real-time with diamond values, streak combos, and repeat counts. Build donation leaderboards, goal trackers, and animated gift alerts for your stream."},"analytics":{"title":"Analytics Dashboards","desc":"Build real-time and historical analytics dashboards tracking engagement rates, chat velocity, gift revenue, viewer retention, peak concurrent viewers, and growth trends."},"ai":{"title":"AI-Powered Integrations","desc":"Feed live stream data into AI models for sentiment analysis, real-time content moderation, automated highlight detection, audience mood tracking, and intelligent chat responses using GPT, Claude, or custom models."},"moderation":{"title":"Chat Moderation Tools","desc":"Automated moderation that filters spam, blocks toxic messages, rate-limits repeat offenders, and provides real-time moderation dashboards. Protect your community with custom rules and AI filters."},"multiStream":{"title":"Multi-Stream Monitoring","desc":"Monitor multiple TikTok LIVE streams simultaneously. Track competitor streams, manage agency talent, or build discovery feeds. Pro tier supports 50 concurrent connections, Ultra 250 and Agency 500."},"games":{"title":"Game Integrations","desc":"Let TikTok viewers interact with your game in real-time. Viewers can trigger in-game events via chat commands, gifts spawn items, and battles control game mechanics. Works with any WebSocket-capable engine (C++, C#, Godot, web)."},"scouting":{"title":"Creator Scouting","desc":"Spot rising creators and their top gifters with regional leaderboards, league rankings, and live gift events. Built for agencies managing creator rosters."}},"cta":{"title":"Ready to build?","desc":"Get a 7-day evaluation key and start streaming TikTok LIVE data in under 30 seconds.","key":"Get a 7-day evaluation key","docs":"Read the Docs"}},"discord":{"seo":{"title":"Free TikTok LIVE Discord Assistant - Live Alerts, Battles, Rankings, AI Support","description":"The free Discord assistant for TikTok LIVE creators and agencies. Real-time live alerts, cross-server battle matchmaking, follow-for-follow network, AI API support, live rankings lookup. No limits, no sign-up required.","ogTitle":"Free TikTok LIVE Discord Assistant - Alerts, Battles, Rankings","ogDescription":"Track creators, schedule battles, build a follow network, and look up live rankings - all from Discord. 100% free, no account needed.","keywords":"TikTok LIVE assistant, Discord assistant, TikTok live notifications, TikTok battle assistant, follow for follow, F4F, TikTok API, free discord assistant, TikTok stream alerts, TikTok agency assistant"},"og":{"title":"Free TikTok LIVE Discord Assistant","subtitle":"Live alerts, battles, rankings and AI support for your server.","badge":"DISCORD"},"hero":{"badge":"Free for every server. No API key. No limits.","titleLead":"The Discord Bot for","titleAccent":"TikTok LIVE Creators & Agencies","subtitle":"Live stream alerts, cross-server battle matchmaking, gifter rankings, AI support, and agency roster tools - all in one assistant, completely free.","stats":{"servers":"Discord servers","members":"Members reached","free":"Free, always","detectionValue":"Always on","detection":"Live detection"}},"install":"Add to Discord - It's Free","watch":{"label":"Most used command","desc":"Drop this in any channel to track a creator. The assistant pings the channel the second they go live, every time.","cta":"See all commands"},"webdash":{"label":"Manage your bot from the web:","text":"{label} run {command} in your server to change alert channels, your LIVE message and watched creators from one page."},"setup":{"label":"Setup","title":"Up and running in under a minute","step1":{"title":"Click \"Add to Discord\"","body":"Use the button above or any of the install buttons on this page. You'll be taken to Discord's standard authorization page."},"step2":{"title":"Select your server","body":"Choose the server you want to add the assistant to. You need to be an admin (or server owner) to authorize the assistant."},"step3":{"title":"Done - assistant sets up automatically","body":"The assistant creates a private {channel} channel, posts setup instructions, and creates all required channels. No commands needed."}},"features":{"label":"Features","title":"Everything your server needs","items":{"alerts":{"title":"Live Stream Alerts","desc":"Track any TikTok account. The moment they go live, the assistant posts a rich notification in your chosen channel - profile picture, stream title, viewer count, and rank if they're on the leaderboard.","tag":"Auto-detects offline too. Posts update when stream ends."},"battles":{"title":"Cross-Server Battle Network","desc":"Schedule TikTok LIVE battles with a specific opponent or broadcast an open challenge to every server in the network. The assistant matches you, handles DM reminders, and tracks results.","tag":"DM reminders 24h, 30min, 10min before battle"},"f4f":{"title":"Follow-for-Follow Network","desc":"Type \"follow me {'@'}username\" or \"f4f\" in any monitored channel. The assistant posts your profile in your server's F4F channel and broadcasts it to every connected server in the network simultaneously.","tag":"No commands needed - natural language works"},"ai":{"title":"AI-Powered Q&A","desc":"Ask anything about TikTok LIVE in plain English. The assistant is powered by GPT-4o with full knowledge of the TikTool API docs, events reference, SDKs, pricing, and common issues.","tag":"{command} How do I receive gift events in Python?"},"rankings":{"title":"Live Rankings Lookup","desc":"Check any creator's current position on the tik.tools live leaderboard - region, class, diamond score - directly from Discord. Updated continuously from real stream data.","tag":"{command} - instant leaderboard position"},"roster":{"title":"Agency Roster Management","desc":"Manage your entire creator roster inside Discord. Add creators, track their battles, schedule live sessions on their behalf, and get live alerts for every creator you represent.","tag":"{add} · {list} · {upgrade} for agency intel"},"naturalLanguage":{"title":"Smart Natural Language","desc":"The assistant understands plain conversation - no slash commands required. Say \"I need a battle tonight at 9\" and it creates the request. Say \"follow me\" and the F4F post goes out.","tag":"Works in any monitored channel, any phrasing"},"liveNow":{"title":"Who's Live Right Now","desc":"Run {command} at any time to see which of your tracked creators are currently streaming, with direct links to watch on tik.tools or TikTok.","tag":"{command} - instant snapshot of all watched creators"}}},"audience":{"label":"Who it's for","title":"One bot, three types of creator","items":{"streamers":{"title":"Streamers","desc":"Track your favorite creators. Get notified the second they go live. Schedule battles, find opponents across other servers, and build a follow network that spans the whole platform.","bullets":{"liveAlerts":"Live alerts for unlimited accounts","battleScheduling":"Battle scheduling with auto-reminders","followNetwork":"Cross-server follow-for-follow","rankDisplay":"Live rank display in notifications"}},"agencies":{"title":"Agencies","desc":"Manage your creator roster from a single Discord server. Get live alerts for every creator you represent, schedule battles on their behalf, and track the whole operation in one place.","bullets":{"roster":"Full roster management (/roster)","liveAlerts":"Live alerts for all creators","battleCoordination":"Battle coordination for roster","strikes":"Strike tracking and no-show enforcement","upgrade":"Agency upgrade to league intel (/upgrade)"}},"developers":{"title":"Developers","desc":"Get instant answers about the TikTool LIVE API, SDKs, events, authentication, and common errors - without leaving Discord. Link your API key and check usage from any server you're in.","bullets":{"aiSupport":"AI support with full API docs knowledge","quickLinks":"Quick links to docs, events, SDKs","apiKey":"API key linking and usage check","eventsReference":"Live stream events reference (/docs)"}}}},"commandsRef":{"label":"Commands","title":"Complete command reference","sub":"Every slash command available in the assistant. Most features also work with natural language - no slash needed."},"commandGroups":{"notifications":"Live Notifications","battles":"Battle Matchmaking","rankings":"Rankings & Data","roster":"Agency Roster","ai":"AI & Docs","setup":"Server Setup (admin only)"},"commands":{"watchAdd":"Start tracking a TikTok account for live alerts","watchAddChannel":"Track and post alerts to a specific channel","watchRemove":"Stop tracking an account","watchList":"See all accounts your server is currently tracking","livenow":"See which of your tracked creators are live right now","battleSchedule":"Schedule a battle at a specific date and time","battleRequest":"Broadcast an open challenge to all servers in the network","battleList":"View all upcoming battles","rank":"Look up a creator's current position on the live leaderboard","usage":"Check your tik.tools API key usage and current tier limits","upgrade":"View Agency PASS plans - unlock league rankings and gifter intel (admin only)","rosterAdd":"Add a creator to your agency roster","rosterRemove":"Remove a creator from your roster","rosterList":"View your full agency roster","ask":"Ask anything about the TikTok LIVE API, SDKs, events, or pricing","docs":"Get a direct link to docs, SDK guides, rankings, agencies, PASS plans, and more","dashboard":"Open the web dashboard to manage the bot for this server","setupApiKey":"Link your tik.tools API key to this server","setupTiktok":"Link a TikTok username to this server","setupEventsChannel":"Set where live notifications get posted","setupBattleChannel":"Set where battle requests get posted","setupF4fChannel":"Set the follow-for-follow channel","setupBattleNetwork":"Join or leave the cross-server battle network","setupBattleWizard":"Turn the chat battle wizard on or off for this server"},"responds":{"label":"Good to know","title":"Where the bot responds","ai":{"title":"AI answers","body":"The bot answers questions on its own in the TikTool home server help channels. In your own server, {'@'}mention it and it answers anywhere."},"wizard":{"title":"Battle wizard","body":"Typed battle requests (\"I need a battle tonight at 9\") only trigger the wizard in channels with \"battle\" in the name, like {channel1} or {channel2}."},"toggle":{"title":"Admin toggle","body":"Server admins can turn the battle wizard off (or back on) at any time with {command}. Slash commands keep working either way."}},"agency":{"kicker":"Agency Exclusive - Super Feature","title":"Post live TikTok rank feeds straight into Discord","sub":"Creator ranks, gaming ranks, and 99+ movers across all {count} regions - pulled on demand into a private channel, button-driven.","requirement":"Requires an active Agency Global subscription","step1":{"title":"Add the bot and set up","body":"Invite the bot to your server, then run {command} (admin only) to start."},"step2":{"title":"Connect your API key","body":"The bot DMs you a private prompt - paste your agency API key there. It is never shown in the channel."},"step3":{"title":"Choose what to track","body":"Select regions and boards: Creator ranks, Gaming ranks, and 99+ movers (entered today / below cutoff)."},"step4":{"title":"Pick channel and role","body":"Set the channel to post in and the Manager role allowed to pull the feeds."},"step5":{"title":"Pull on demand","body":"Use the buttons:"}},"cta":{"badge":"Free to install. No credit card. No account needed.","title":"Add it to your server now","sub":"Click below, select your server, and the assistant sets everything up automatically. Takes under a minute.","pricing":"API Pricing"}}},"guidesApi":{"gettingStarted":{"seo":{"title":"Getting Started with TikTok LIVE API - Developer Quick Start Guide","description":"Step-by-step guide to get started with TikTok LIVE API. Install the SDK, get a 7-day evaluation key, connect to any TikTok LIVE stream, and receive real-time chat, gift, and viewer data in under 30 seconds.","ogTitle":"Getting Started with TikTok LIVE API - Quick Start Guide","ogDescription":"Connect to any TikTok LIVE stream in under 30 seconds. Free SDK, 7-day evaluation key, real-time data. Step-by-step developer guide."},"og":{"title":"Getting Started with TikTok LIVE","subtitle":"Your first connection in minutes.","badge":"GUIDE"},"jsonLd":{"name":"How to Connect to TikTok Live Stream API","description":"Step-by-step guide to connect to any TikTok LIVE stream and receive real-time chat, gift, and viewer data using TikTools API.","toolNode":"Node.js (version 18 or later)","steps":{"apiKey":{"name":"Get a 7-day evaluation key","text":"Sign up at tik.tools/login to get a 7-day evaluation key. No credit card required."},"install":{"name":"Install the SDK","text":"Run npm install {'@'}tiktool/live to install the TikTools SDK."},"connect":{"name":"Connect to a live stream","text":"Create a TikTokLive client with the streamer username and your API key, then call client.connect()."},"receive":{"name":"Receive real-time events","text":"Listen for events like chat, gift, like, follow, and viewer_count. All events are delivered as structured JSON objects."}}},"hero":{"badge":"Quick Start Guide","title":"Getting Started with","titleHighlight":"TikTok LIVE API","subtitle":"Connect to any TikTok LIVE stream and receive real-time data in under 30 seconds. Sandbox tier - no credit card required."},"step1":{"title":"Get Your Evaluation Key","signUp":"Sign up at {link} with your Google account. Your 7-day evaluation key is generated instantly - no credit card, no approval process.","limits":"The Sandbox tier includes {sandboxRequests} and {sandboxConnections} (50 sessions per day, 2h per connection). Upgrade to a paid tier (from {price}/week) for {paidRequests} and {paidConnections} for production use.","sandboxRequests":"5,000 requests/day","sandboxConnections":"3 concurrent WebSocket connections","paidRequests":"10,000 requests/day","paidConnections":"20 concurrent WebSocket connections"},"step2":{"title":"Install the SDK","body":"Install the TikTools SDK from npm. Works with Node.js, Bun, and Deno."},"step3":{"title":"Connect to a Live Stream","body":"Use the SDK to connect to any TikTok user who is currently live streaming:"},"step4":{"title":"Run It","saveAs":"Save as {file} and run:","output":"You'll see live events flowing in your terminal within seconds:"},"step5":{"title":"Alternative: Raw WebSocket","body":"Don't want to use the SDK? Connect directly via WebSocket from any language:","languages":"Works with Python, Go, Rust, Java, C#, Ruby - any language with WebSocket support."},"next":{"title":"What's Next?","useCases":{"title":"Use Cases","sub":"See what developers build with the API"},"reference":{"title":"Full API Reference","sub":"All events, endpoints & SDK methods"},"bot":{"title":"Build a Chat Assistant","sub":"Step-by-step assistant tutorial"},"overlay":{"title":"Build a Stream Overlay","sub":"OBS browser source tutorial"}},"sidebar":{"title":"On This Page","apiKey":"1. Get Your Evaluation Key","install":"2. Install the SDK","connect":"3. Connect to a Stream","run":"4. Run It","raw":"5. Raw WebSocket"}},"websocket":{"seo":{"title":"TikTok LIVE WebSocket API - Real-time Stream Data","description":"Connect to TikTok Live streams via WebSocket API. Real-time chat messages, gifts, viewer counts, battles - works with JavaScript, Python, Go, Rust, and any language. Sandbox tier available.","ogTitle":"TikTok LIVE WebSocket API - Real-time Stream Data","ogDescription":"Connect to any TikTok Live stream via WebSocket. Real-time events for chat, gifts, viewers, battles. Works with any programming language. 7-day evaluation key, no credit card."},"og":{"title":"TikTok LIVE WebSocket Guide","subtitle":"Connect and handle real-time stream events.","badge":"GUIDE"},"jsonLd":{"headline":"TikTok LIVE WebSocket API - Connect to Any Live Stream","description":"Complete guide to connecting to TikTok LIVE streams via WebSocket. Real-time chat, gifts, viewers, battles. Works with JavaScript, Python, Go, Rust, and any language.","faq":{"connect":"Connect to {url} using any WebSocket library. You will receive real-time JSON events for chat, gifts, viewers, and more.","languages":"Any language with WebSocket support: JavaScript/Node.js, Python, Go, Rust, Java, C#, Ruby, PHP, and more. TikTool also provides an official Node.js SDK ({'@'}tiktool/live).","free":"For a 7-day evaluation. The Sandbox key gives 3 concurrent WebSocket connections and 5,000 REST requests/day for 7 days, no credit card. After that a paid plan is required, from {price}/week (Basic) for 20 concurrent connections and 10,000 requests/day."}},"hero":{"badge":"Guide","title":"TikTok LIVE","titleHighlight":"WebSocket API","subtitle":"Connect to any TikTok LIVE stream via WebSocket. Receive real-time chat messages, gifts, viewer counts, battles, and engagement data. Works with any programming language."},"how":{"title":"How the TikTok LIVE WebSocket Works","endpoint":"TikTool provides a managed WebSocket endpoint at {endpoint} that streams real-time events from any TikTok LIVE stream. You connect with your API key and a TikTok username - the server handles all protocol negotiation, authentication, and reconnection logic.","relay":"Unlike direct protocol connections to TikTok's broadcast infrastructure (which break frequently), TikTool's WebSocket API is a {relay}.","relayStrong":"stable, production-grade relay"},"quickStart":{"title":"Quick Start - Connect in 3 Lines","native":"Or connect directly with native WebSocket (no SDK needed):","anyLanguage":"Any Language","anyLanguageBody":"Any language with WebSocket support works - Go, Rust, Java, C#, Ruby, PHP. Just connect to:"},"params":{"title":"WebSocket Connection Parameters","parameter":"Parameter","required":"Required","description":"Description","uniqueId":"TikTok username (without {'@'}) of the streamer","apiKey":"Your TikTool API key","jwtKey":"JWT-based auth (alternative to apiKey for tokenized browser clients)"},"eventTypes":{"title":"Event Types","intro":"Every WebSocket message is a JSON object with {event} and {data} fields. Here are the events you'll receive:"},"events":{"chat":"New chat message from a viewer. Includes user info, message text, and badges.","gift":"Virtual gift sent by a viewer. Includes gift name, diamond value, and repeat count.","like":"A viewer liked the stream. Includes total like count.","member":"A viewer joined the stream. Fires when users enter the live room.","social":"Follow / share / favourite. The data.action field tells you which (follow, share, favourite).","roomUserSeq":"Viewer count update. Includes current viewerCount and topViewers.","subscribe":"A viewer subscribed to the streamer.","battle":"LinkMic battle event. Includes battle status, scores, duration, and participants.","battleArmies":"Battle armies update. Team scores and participant rankings.","linkMic":"LinkMic guest layout update. Includes slot/guest user IDs for multi-host streams.","roomPin":"A chat message was pinned by the streamer.","liveIntro":"Stream introduction update. Includes stream title and description.","emoteChat":"Custom emote sent in chat. Includes emote ID and image URL.","envelope":"Treasure chest / red-envelope event in the stream.","question":"Viewer-submitted Q&A question.","rankUpdate":"Per-region rank refresh for the streamer.","barrage":"Top-of-screen barrage/announcement message.","superFan":"A viewer became a Super Fan or levelled up. Includes the new level.","superFanJoin":"A Super Fan joined the room.","superFanBox":"Super Fan box / reward event.","control":"Stream lifecycle control (pause, end, etc.)."},"limits":{"title":"Connection Limits by Tier","tier":"Tier","connections":"Connections","price":"Price","sandboxFree":"Sandbox (7-day evaluation)","sandboxTier":"Sandbox Tier","proPrice":"from {price}/week","ultraPrice":"from {price}/week","agencyConnections":"500 + Firehose","agencyPrice":"from {price}/week"},"errors":{"title":"Error Handling & Reconnection","body":"The WebSocket will close with standard close codes. Your client should handle reconnection:"},"faq":{"title":"Frequently Asked Questions","connect":{"q":"How do I connect to a TikTok live stream via WebSocket?","a":"Connect to {url} using any WebSocket library. You will receive real-time JSON events for chat, gifts, viewers, and more. The SDK ({'@'}tiktool/live) handles this automatically."},"languages":{"q":"What programming languages work with TikTok LIVE WebSocket?","a":"Any language with WebSocket support: JavaScript/Node.js, Python, Go, Rust, Java, C#, Ruby, PHP, and more. TikTool also provides an official Node.js SDK ({'@'}tiktool/live on npm) and a Python package (tiktok-live-api on PyPI)."},"free":{"q":"Is the TikTok LIVE WebSocket API free?","a":"For a 7-day evaluation. The Sandbox key gives 3 concurrent WebSocket connections and 5,000 REST requests/day for 7 days, no credit card required. After that a paid plan is required: plans from {price}/week (Basic) offer 20 concurrent connections and 10,000 requests/day for production use."},"openSource":{"q":"How is this different from open-source live stream libraries?","a":"Open-source libraries require you to maintain your own connection infrastructure and frequently break when the platform updates. TikTool is a managed API service that handles all maintenance for you."},"latency":{"q":"What is the latency of the WebSocket connection?","a":"TikTool streams each event to your WebSocket as soon as it arrives from TikTok. The WebSocket connection is optimized for low-latency real-time data delivery."}},"next":{"python":{"title":"Python Guide","sub":"Connect with Python"},"events":{"title":"Events Reference","sub":"All event types & data"}}},"webhooks":{"seo":{"title":"TikTok LIVE Webhooks - Go-Live and Stream-End Alerts","description":"Receive a signed HTTPS POST when a TikTok creator goes live or ends a stream. live.start and live.end webhooks with retries, replay and HMAC signatures, included on every paid plan."},"og":{"title":"TikTok LIVE Webhooks","subtitle":"Go-live and stream-end alerts at your endpoint.","badge":"GUIDE"},"jsonLd":{"breadcrumbHome":"Home","breadcrumbGuides":"Guides","breadcrumbPage":"TikTok LIVE Webhooks"},"hero":{"badge":"Guide","title":"TikTok LIVE","titleHighlight":"Webhooks","subtitle":"Get a signed HTTPS POST the moment a TikTok creator goes live or ends a stream. No socket to keep open and nothing to poll: pick the creators, give us a URL, and live.start and live.end arrive at your endpoint.","seePlans":"See plans","apiReference":"API reference"},"what":{"title":"What a TikTok LIVE webhook does","body":"A webhook is a go-live alert delivered to your server. We watch the creators you list and send an HTTPS POST to your URL when one of them starts a LIVE ({start}) and again when the stream ends ({end}). Your service does not need to hold a connection open or run a scheduler - it only has to answer a POST.","uses":"Typical uses: post to Discord or Slack when a creator goes live, start recording or analytics the moment a stream begins, open a {link} for chat and gifts only while the creator is actually live, or keep an agency roster's live status current.","usesLink":"WebSocket connection"},"how":{"title":"How it works","register":"{strong} with your endpoint URL, the events you want and the TikTok usernames to watch.","registerStrong":"Register a webhook","secret":"{strong} returned once on creation. Every delivery is signed with it.","secretStrong":"Store the signing secret","receive":"{strong} as JSON POSTs. Verify the signature, answer 200, then do your work.","receiveStrong":"Receive live.start and live.end"},"events":{"title":"Events","ariaLabel":"Webhook events","event":"Event","plans":"Plans","when":"When it fires","plansAllPaid":"All paid plans","plansUltraGlobal":"Ultra and Agency Global","plansGlobal":"Agency Global","liveStart":"A watched creator started a LIVE. Includes the room id, start time and live URL.","liveEnd":"A watched creator ended the stream. Same envelope, with the end time.","peakViewers":"A stream reached a new viewer peak.","highValueGift":"A high-value gift was sent during a watched stream.","followerMilestone":"A watched creator crossed a follower milestone."},"register":{"title":"Register a webhook","body":"Create webhooks from the dashboard, or server-to-server with your API key. The response includes the signing secret, shown only once.","creators":"Keep {creators} scoped to the accounts you care about (up to 1,000 per webhook). To change the list later, {patch} the webhook with the full new array - it replaces the previous list. Full parameters are in the {link}.","creatorsLink":"API reference"},"payloads":{"title":"Payloads","headers":"Every delivery also carries {timestamp}, {event}, {eventId}, {deliveryId}, {attempt} and {webhookId} headers."},"verify":{"title":"Verify the signature","body":"Each POST includes {header}, where {v1} is the HMAC-SHA256 of {signed} keyed with your webhook secret. Compute it over the raw body before parsing JSON, compare in constant time, and reject timestamps older than five minutes."},"delivery":{"title":"Delivery and retries","atLeastOnce":"{strong} The same event can arrive more than once, so dedupe on {eventId}.","atLeastOnceStrong":"At-least-once.","retries":"{strong} A failed delivery is retried on a schedule of 0s, 30s, 2m, 10m, 1h and 6h. After the last attempt it is kept as a dead letter you can replay from the dashboard or the API once your endpoint is healthy.","retriesStrong":"Retries.","fast":"{strong} Return a 2xx as soon as the POST arrives and process afterwards. Connect timeout is 10 seconds and read timeout 15 seconds; a refused connection or a timeout counts as a failed attempt.","fastStrong":"Answer fast.","test":"{strong} Send a signed test delivery to your endpoint from the dashboard or the test endpoint to check parsing and signature handling before a creator goes live.","testStrong":"Test anytime."},"plans":{"title":"Plans","body":"Webhooks with {start} and {end} are included on every paid plan, with more endpoints and a larger daily delivery allowance on higher plans. A Sandbox account can set up one test webhook from the dashboard and send signed test deliveries to it, so the integration can be built before you subscribe. Live deliveries, and registering webhooks with an API key, need a paid plan. See {link} for plan details.","pricingLink":"pricing"},"faq":{"title":"Frequently Asked Questions","offer":{"q":"Does TikTok offer webhooks for LIVE streams?","a":"TikTok does not provide public webhooks for when a creator goes live. Tik Tools watches the creators you choose and sends live.start and live.end webhooks to your HTTPS endpoint."},"speed":{"q":"How fast does live.start arrive?","a":"Usually within seconds of the creator going live. Detection is continuous but not instantaneous, so a stream that starts and ends within a few seconds may not be seen. Streams of normal length are caught reliably."},"twice":{"q":"Can the same event be delivered twice?","a":"Yes. Delivery is at-least-once, so a retry can repeat an event your server already processed. Every payload carries a stable event_id - store it and skip any id you have seen."},"down":{"q":"What happens if my server is down?","a":"Failed deliveries are retried at 0s, 30s, 2m, 10m, 1h and 6h. After the last attempt the event is kept as a dead letter that you can replay once your endpoint is back."},"websocket":{"q":"Do I need a WebSocket connection as well?","a":"Not for go-live alerts. Webhooks cover live.start and live.end on their own. Use the WebSocket API when you also need the chat, gifts and viewer events from inside the stream."},"plans":{"q":"Which plans include webhooks?","a":"live.start and live.end webhooks are included on every paid plan. Higher plans add more endpoints, a larger daily delivery allowance and extra events. A Sandbox account can set up one test webhook from the dashboard and send signed test deliveries; live deliveries and registering webhooks with an API key need a paid plan."}},"next":{"websocket":{"title":"WebSocket Guide","sub":"Stream chat and gifts once a creator is live"},"bot":{"title":"Build a Live Bot","sub":"Discord and chat automation"}}},"events":{"seo":{"title":"TikTok LIVE Events Reference - tik.tools","description":"Every TikTok LIVE WebSocket event documented with live firehose data: chat, gift, like, follow, join, battle, subscription. Drop-in code in Node, Python, curl, Go.","ogTitle":"TikTok LIVE API Events Reference","ogDescription":"All TikTok LIVE WebSocket events documented with live firehose samples. Drop-in code in Node, Python, curl, Go."},"og":{"title":"TikTok LIVE Events Reference","subtitle":"Every event you can subscribe to.","badge":"GUIDE"},"hero":{"eyebrow":"EVENTS REFERENCE · LIVE FIREHOSE · STREAMING NOW","title":"The full event vocabulary of {brand}","sub":"Chat. Gifts. Likes. Joins. Follows. Battles. Subscriptions. Every event on TikTok LIVE streams through one WebSocket with rich metadata. The feed below is the real public firehose right now - not a mockup.","ctaKey":"Get a 7-day evaluation key","ctaDocs":"Read the docs"},"feed":{"title":"Live event feed","flag":"{count} events buffered · real public stream","giftAlt":"gift","someone":"someone","giftFallback":"Gift","actions":{"sent":"sent"},"secondsAgo":"{n}s ago","minutesAgo":"{n}m ago","empty":"Waiting for the next live event...","caption":"The public firehose is masked, but every event is a real push from a real TikTok LIVE room. Connect with your own key to receive the full unmasked payload (real usernames, real avatars, real diamond counts) - the only thing that changes between tiers is the concurrent-connection cap."},"code":{"title":"Subscribe to the firehose in your stack","lead":"Pick your language. Copy. Run. Sandbox key from {link}.","tabsLabel":"Code language"},"docs":{"title":"Every event, what fires it, what's in the payload","intro":"All events share the envelope {envelope}. Below: every event type and the data it carries.","items":{"chat":{"description":"Fired when a viewer sends a chat message. Most common event.","frequency":"Very frequent","fields":{"comment":"The message text","userId":"Numeric TikTok user ID"}},"gift":{"description":"Fired when a viewer sends a virtual gift. Includes gift name, diamond value, streak data.","frequency":"Moderate","fields":{"user":"Sender","giftName":"e.g. \"Rose\", \"Galaxy\"","giftId":"Numeric gift ID","diamondCount":"Diamond value","repeatCount":"Streak count","repeatEnd":"True when streak ends"}},"like":{"description":"Fired when a viewer taps the like button. Includes total accumulated likes.","frequency":"Very frequent","fields":{"user":"Liker","likeCount":"This event count","totalLikeCount":"Stream total"}},"member":{"description":"Fired when a viewer joins the live stream room.","frequency":"Moderate","fields":{"user":"Joining user"}},"follow":{"description":"Fired when a viewer follows the streamer during the live.","frequency":"Low","fields":{"user":"Following user"}},"share":{"description":"Fired when a viewer shares the live stream.","frequency":"Low","fields":{"user":"Sharing user"}},"roomUserSeq":{"description":"Periodic viewer count update. Primary way to track real-time viewer numbers. The SDK also emits it as viewer_count (alias, same payload).","frequency":"Periodic","fields":{"viewerCount":"Live viewers right now","topViewers":"Ranked by engagement"}},"subscribe":{"description":"Fired when a viewer subscribes to the streamer.","frequency":"Rare","fields":{"user":"Subscriber"}},"linkMicBattle":{"description":"Fired when a TikTok LIVE battle starts, updates, or ends. Includes scores + participants.","frequency":"During battles","fields":{"battleUsers":"Participants with scores","type":"1=start, 2=update, 3=end"}},"roomPin":{"description":"Fired when the streamer pins a chat message.","frequency":"Rare","fields":{"pinnedMessage":"Message content + sender"}}}},"faq":{"title":"Frequently asked","paid":{"q":"Do I need a paid plan to receive events?","a":"Not to evaluate. The Sandbox key works for 7 days and ships the full real event payload (real usernames, real diamonds, etc) - your client signs the upstream WebSocket with its own TikTok cookie. During the evaluation the caps are 3 concurrent WebSocket connections and 5,000 REST requests/day. After 7 days a paid plan is required; Basic at {price}/wk gives 20 concurrent WS + 10,000 req/day."},"frequent":{"q":"Which event fires most often on a busy stream?","a":"`like` and `chat` dominate by frequency. `gift` is the highest-value signal per event."},"multiple":{"q":"Can I subscribe to multiple TikTok creators at once?","a":"Yes. Open one WebSocket per uniqueId. Pro tier allows 50 concurrent WS, Ultra 250."},"streak":{"q":"How do I detect when a gift streak ends?","a":"Only streakable gifts (`giftType` 1) run a streak: watch for `repeatEnd === true`, or close it yourself when no new frame arrives for a few seconds, and take the highest `repeatCount`. Other gifts never send an end frame: a quantity send such as 8x is one frame with `repeatCount` 8, so count it as it arrives. Either way the total diamonds = `diamondCount * repeatCount`."},"latency":{"q":"What is the latency vs the actual stream?","a":"Events arrive ~150-400ms after they fire on TikTok. Faster than the video stream itself on most CDNs."},"battles":{"q":"Do battles fire for both creators?","a":"Yes. Connect to either creator in the battle - both receive the same `linkMicBattle` event with both `battleUsers` populated."}}}},"guidesBuild":{"shared":{"ogBadge":"GUIDE"},"bot":{"seo":{"title":"How to Build a TikTok Live Chat Bot (Node.js + Python) - tik.tools","description":"Build a TikTok LIVE chat bot in Node.js or Python that reads chat, gifts, and joins, and reacts to commands. Working code, tested examples, rate-limit info. 7-day evaluation key.","ogTitle":"How to Build a TikTok Live Chat Bot in 5 Minutes","ogDescription":"Working Node.js and Python TikTok LIVE chat bot examples. Read events, react to commands, run 24/7. 7-day evaluation key."},"og":{"title":"Build a TikTok Live Chat Bot","subtitle":"Node.js and Python walkthrough."},"jsonLd":{"name":"Build a TikTok LIVE chat bot","description":"Step-by-step Node.js and Python tutorial for a TikTok LIVE chat bot that reads chat/gift events and reacts to viewer commands in your own app.","steps":{"install":{"name":"Install the SDK","text":"Install the TikTool SDK via npm or pip."},"credentials":{"name":"Set credentials","text":"Export your TikTool API key."},"write":{"name":"Write the bot","text":"Listen for chat/gift events and react to commands in your own code."},"run":{"name":"Run it","text":"Run with node or python; bot reconnects automatically."}}},"hero":{"badge":"Tutorial · Free · 5 minutes","title":"Build a TikTok LIVE chat bot","sub":"Read every chat, gift, and join event from any TikTok LIVE stream and react to commands in your own app. Run in Node.js or Python with under 60 lines of code.","ctaKey":"Get a 7-day evaluation key","ctaGithub":"View on GitHub"},"mock":{"terminal":"terminal","liveOutput":"bot live output","productionKey":"Production key","active":"active","limit":"Limit","limitValue":"10,000 events/min"},"step1":{"title":"Install the SDK","body":"One package. No build step. Works in any Node 18+ or Python 3.9+ environment."},"step2":{"title":"Set your credentials","intro":"You need one thing:","apiKeyItem":"{label} - from {link}. The 7-day evaluation key is fine for one stream.","apiKeyLabel":"API key","dashboardLink":"your dashboard"},"step3":{"title":"Write the bot","body":"Listens for chat, gifts, joins, likes. Reacts to {hello} and {ping} commands with your own action: an overlay, a sound, a webhook."},"step4":{"title":"Run it","body":"The bot stays connected until you stop it. Reconnect logic is built into the SDK.","tryIt":"Type {hello} or {ping} from any TikTok account into the streamer's chat and watch your bot react."},"limits":{"label":"Important","title":"Limitations to plan around","sub":"Everything below is what TikTok enforces on your account/IP - not something tik.tools can lift. Build your bot logic with these in mind.","volume":{"title":"events per stream per minute","body":"Big creators (1M+ viewers) push tens of thousands of events per minute. Your bot needs to process them lazily - don't block the event loop on every chat. Drop or queue heavy work."},"streamEnd":{"chip":"stream end","title":"session ends with the LIVE","body":"When the streamer ends their LIVE, the WebSocket closes. The SDK fires {event}. Reconnect after the streamer goes live again - poll {endpoint} or use webhooks."},"unofficial":{"chip":"not affiliated","title":"not endorsed by TikTok","body":"This is an {unofficial} integration. Don't impersonate creators, and keep whatever your bot triggers within TikTok's community guidelines.","strong":"unofficial"}},"next":{"title":"Where to next","overlay":{"title":"OBS overlay","desc":"Stream gift animations on top of your video"},"game":{"title":"Build a chat game","desc":"Viewers vote with comments, gifts trigger actions"},"tts":{"title":"Text-to-speech","desc":"Have the bot speak chat messages out loud"}}},"overlay":{"seo":{"title":"Build a TikTok LIVE Stream Overlay - OBS Browser Source Tutorial","description":"Build a TikTok LIVE Stream Overlay for OBS with real-time chat, gift alerts, and viewer counts. Complete tutorial with HTML, CSS, and Node.js code. Uses TikTok LIVE API - 7-day evaluation key, no credit card.","ogTitle":"Build a TikTok LIVE Stream Overlay for OBS","ogDescription":"Create a real-time TikTok LIVE overlay with chat feed, gift alerts, and viewer counts. Complete code tutorial for OBS browser sources."},"og":{"title":"Build a TikTok LIVE Stream Overlay","subtitle":"Chat, gifts and alerts for OBS."},"jsonLd":{"howTo":{"name":"How to Build a TikTok LIVE Stream Overlay for OBS","description":"Create a real-time OBS overlay showing TikTok LIVE chat, gift alerts, and viewer counts using TikTools API.","steps":{"setup":{"name":"Set up the project","text":"Create a Node.js project with {pkg} and express."},"server":{"name":"Create the server","text":"Build an Express server that connects to TikTok and broadcasts events via SSE."},"html":{"name":"Create the overlay HTML","text":"Design the browser-based overlay with chat feed, gift alerts, and viewer count."},"obs":{"name":"Add to OBS","text":"Add the overlay URL as a Browser Source in OBS with 1920x1080 resolution."}}},"article":{"headline":"Build a TikTok LIVE Stream Overlay with Real-Time Data","description":"Complete tutorial: create an OBS-compatible overlay for TikTok LIVE streams with real-time chat, gift alerts, and viewer counts."}},"hero":{"badge":"Tutorial","title":"Build a TikTok LIVE","highlight":"Stream Overlay","subtitle":"Create a real-time OBS-compatible browser source overlay that shows live chat, gift alerts, and viewer counts from any TikTok LIVE stream."},"build":{"title":"What You'll Build","intro":"A browser-based stream overlay that works with OBS, Streamlabs, or any software that supports browser sources. It displays:","items":{"chat":"Live chat messages in real-time","gifts":"Animated gift alerts with diamond values","viewers":"Current viewer count","feed":"A scrolling chat feed with user avatars"}},"prereq":{"title":"Prerequisites","node":"Node.js 18+ installed","apiKey":"A TikTools API key (7-day evaluation, no credit card) - {link}","apiKeyLink":"get one here","obs":"OBS Studio (or any streaming software with Browser Source)"},"step1":{"title":"Step 1: Set Up the Project"},"step2":{"title":"Step 2: Create the Server","body":"Create {file} - this connects to TikTok and broadcasts events via Server-Sent Events (SSE) to the browser overlay:"},"step3":{"title":"Step 3: Create the Overlay HTML","body":"Create {file} - this is what OBS will render as a browser source:"},"step4":{"title":"Step 4: Run & Add to OBS","thenObs":"Then in OBS:","addSource":"Add a new {source}","sourceLabel":"Browser Source","setUrl":"Set URL to {url}","setSize":"Set width to {width} and height to {height}","shutdown":"Check \"Shutdown source when not visible\""},"custom":{"title":"Customization Ideas","themes":{"label":"Custom themes","text":"{label} - change colors, fonts, and layout to match your stream brand"},"sounds":{"label":"Sound effects","text":"{label} - play sounds when gifts arrive using the Web Audio API"},"gifs":{"label":"GIF animations","text":"{label} - show animated GIFs for specific gifts"},"goals":{"label":"Goal bars","text":"{label} - add donation/gift goal progress bars"},"podium":{"label":"Top gifter podium","text":"{label} - show the top 3 gifters in real-time"}},"next":{"bot":{"title":"Build a Chat Assistant","desc":"Automated chat assistant tutorial"},"useCases":{"title":"More Use Cases","desc":"See all API applications"}}},"game":{"seo":{"title":"How to Build a TikTok LIVE Interactive Game - Unity, C++ & Web","description":"Step-by-step guide to building interactive viewer-controlled games for TikTok LIVE. Viewers send gifts & chat commands to control your game. Works with Unity, C++, and web. Free SDK.","ogTitle":"Build a TikTok LIVE Interactive Game - Unity, C++ & Web","ogDescription":"Let viewers control your game with TikTok LIVE events. Gift-triggered effects, chat commands, like floods. Complete code for UE5, Unity, and JavaScript."},"og":{"title":"Build a TikTok LIVE Game","subtitle":"Let viewers control your game with gifts and chat."},"jsonLd":{"howTo":{"name":"Build a TikTok LIVE Interactive Game","description":"Create viewer-controlled games for TikTok LIVE streams. Viewers send gifts, chat commands, and likes to control gameplay. Works with Unity, C++, and web.","steps":{"engine":{"name":"Choose your engine","text":"Pick your game engine: Unity (C# WebSocket), C++, or web (JavaScript SDK)."},"connect":{"name":"Connect to TikTool API","text":"Install the SDK or connect via raw WebSocket to receive real-time event data from TikTok LIVE streams."},"map":{"name":"Map events to game actions","text":"Bind gift, chat, like, and follow events to in-game effects like spawning items, controlling characters, or changing difficulty."},"stream":{"name":"Stream to TikTok","text":"Use TikTok Live Studio or OBS to stream your game while the audience interacts in real-time."}}},"faq":{"official":{"q":"Do I need TikTok's official API to make a LIVE game?","a":"No. TikTok does not offer a public API for LIVE stream events. TikTool provides a managed API with WebSocket delivery that works with any game engine including Unity, Godot, C++, and web browsers."},"engines":{"q":"What game engines work with TikTok LIVE interactive games?","a":"Any engine that supports WebSocket connections: Unity (C# WebSocket), C++, Godot, GameMaker, web browsers, and custom engines."}}},"hero":{"badge":"Game Dev Guide","title":"Build a TikTok LIVE","highlight":"Interactive Game","subtitle":"Let viewers control your game with chat commands, gifts, and likes. Works with Unity, C++, web browsers, and any WebSocket-capable engine."},"what":{"title":"What Are TikTok LIVE Games?","body":"TikTok LIVE interactive games are viewer-controlled experiences where the audience's actions directly affect gameplay. When viewers send chat messages, gifts, likes, or follow the streamer, those events trigger in-game responses - spawning enemies, changing the environment, or controlling characters.","examplesIntro":"Popular examples include:","battles":{"label":"Chat-controlled battles","text":"{label} - viewers type commands to join teams and fight"},"gifts":{"label":"Gift-triggered effects","text":"{label} - sending a Rose spawns an item, a Universe triggers a boss fight"},"likes":{"label":"Like floods","text":"{label} - likes affect gravity, speed, or difficulty"},"follows":{"label":"Follow alerts","text":"{label} - new followers spawn friendly NPCs"}},"how":{"title":"How It Works","body":"Your game connects to the TikTools API via WebSocket and receives real-time events from the TikTok LIVE stream. Each event includes the viewer's username, the action they took, and relevant data (gift value, chat message, etc.)."},"option1":{"title":"Option 1: Web Game (JavaScript)","body":"The simplest approach - connect directly from a browser or Node.js backend:"},"option2":{"title":"Option 2: Unity (C#)","body":"Use the raw WebSocket connection from Unity - no additional plugin required:"},"tips":{"title":"Game Design Tips","names":{"label":"Show viewer names","text":"{label} - display the gifter's or chatter's username in-game so viewers feel recognized"},"scale":{"label":"Scale with viewers","text":"{label} - use {event} events to dynamically adjust difficulty"},"tiers":{"label":"Gift tiers","text":"{label} - map TikTok gift values (1{diamond} = small, 10{diamond} = medium, 100{diamond}+ = epic) to in-game effects"},"cooldowns":{"label":"Cooldowns","text":"{label} - prevent spam by adding per-user cooldowns on chat commands"},"feedback":{"label":"Visual feedback","text":"{label} - always show what happened when a viewer interacts so the audience stays engaged"}},"faq":{"title":"FAQ","official":{"q":"Do I need TikTok's official API to make a LIVE game?","a":"No. TikTok does not offer a public API for LIVE stream events. TikTool provides a managed third-party API with WebSocket delivery that works with any game engine. A 7-day Sandbox evaluation is enough to prototype your game."},"events":{"q":"What events can I use in my game?","a":"All events: {chat}, {gift}, {like}, {follow}, {share}, {member} (join), {viewerCount}. See the {link} for full documentation.","link":"Events Reference"},"engines":{"q":"Can I use this with Godot, GameMaker, or other engines?","a":"Yes. Any engine that supports WebSocket connections can use the TikTool API. Connect to {url} and parse the JSON messages. No SDK required."}},"next":{"overlay":{"title":"Build an Overlay","desc":"OBS stream overlay tutorial"},"events":{"title":"Events Reference","desc":"All event types documented"}}},"tts":{"seo":{"title":"How to Add Text-to-Speech (TTS) on TikTok LIVE - Free TTS Assistant Guide","description":"How to add text-to-speech on TikTok LIVE. Build a free TTS assistant that reads chat messages aloud using AI voices - ElevenLabs, OpenAI, or free browser TTS. Step-by-step guide for Node.js & Python.","ogTitle":"How to Use Text to Speech on TikTok Live - TTS Assistant Guide","ogDescription":"Build a TikTok LIVE TTS assistant. Read chat messages aloud with AI voices. Works with any TTS engine. 7-day evaluation key for developers."},"og":{"title":"TikTok LIVE Text-to-Speech","subtitle":"Turn chat and gifts into live audio."},"jsonLd":{"name":"How to Use Text to Speech on TikTok Live","description":"Build a TTS assistant that reads TikTok Live chat messages aloud using the TikTool API and any TTS engine.","steps":{"connect":{"name":"Connect to the Live Stream","text":"Install the TikTool SDK and connect to a TikTok LIVE stream with your API key."},"listen":{"name":"Listen for Chat Messages","text":"Use {code} to receive every chat message in real-time."},"send":{"name":"Send to TTS Engine","text":"Pipe the chat message text to your preferred TTS engine (Web Speech API, ElevenLabs, Google TTS)."}},"toolEngine":"Any TTS Engine (Web Speech API, ElevenLabs, Google Cloud TTS)"},"hero":{"badge":"TTS Assistant Guide","title":"Text to Speech","highlight":"TTS","line2":"on TikTok LIVE","subtitle":"Build a TTS assistant that reads TikTok Live chat messages aloud using AI voices. Works with any TTS engine - ElevenLabs, Google Cloud, OpenAI, or the free browser Web Speech API."},"intro":{"heading":"How to Use{accent} on TikTok Live","headingAccent":"Text to Speech","sub":"TTS (Text to Speech) on TikTok Live reads chat messages aloud using AI voices. Learn how TTS works, how to enable it, and how to build TTS assistants with the TikTool API."},"what":{"title":"What is TikTok LIVE TTS?","body":"Text to Speech (TTS) on TikTok Live converts {strong} during a live broadcast. When viewers send messages, TTS reads them aloud so the streamer and audience can hear them. This is especially useful for:","strong":"chat messages into spoken audio","items":{"streamers":"Streamers who can't constantly read chat","accessibility":"Accessibility for visually impaired users","entertainment":"Interactive entertainment experiences","assistants":"AI-powered voice assistants on stream"}},"howGet":{"title":"How to Get Text to Speech on TikTok Live","body":"TikTok's built-in TTS is limited - it only works for specific donation/gift messages. For {strong}, developers use TikTool's API to capture chat in real-time and pipe it to a TTS engine:","strong":"full TTS on all chat messages"},"step1":{"title":"Step 1: Connect to the Live Stream"},"step2":{"title":"Step 2: Listen for Chat Messages"},"step3":{"title":"Step 3: Add a TTS Engine","body":"Choose any TTS engine - browser Web Speech API, Google Cloud TTS, Amazon Polly, ElevenLabs, or OpenAI TTS:"},"useCasesTitle":"TTS Use Cases for TikTok Live","useCases":{"chat":{"title":"Chat TTS Assistant","desc":"Read every chat message aloud. Viewers hear their messages spoken by AI - drives engagement and donations."},"gifts":{"title":"Gift Thanks Assistant","desc":"Automatically thank viewers who send gifts. Custom voice messages for roses, lions, and universe gifts."},"games":{"title":"Game Commands","desc":"Voice-controlled interactive games. Chat messages become voice commands that control gameplay on stream."},"multiLang":{"title":"Multi-Language TTS","desc":"Detect message language and use the appropriate voice. Stream to global audiences with auto-translated TTS."}},"compare":{"title":"TikTok LIVE TTS vs. Built-in TTS","feature":"Feature","ours":"TikTool + Custom TTS","builtIn":"TikTok Built-in TTS","yes":"Yes","no":"No","allChat":"All chat messages","giftsOnly":"Gifts only","customVoices":"Custom voices","anyEngine":"Any engine","fixedVoices":"Fixed voices","aiVoices":"AI voices (ElevenLabs, OpenAI)","multiLang":"Multi-language","languages":"50+ languages","limited":"Limited","filtering":"Filtering/moderation","customRules":"Custom rules","overlay":"Stream overlay","obs":"OBS compatible"},"python":{"title":"Python TTS Assistant for TikTok Live","body":"Build a TTS assistant in Python using {pkg} and {engine}:"},"faq":{"title":"Frequently Asked Questions","howTo":{"q":"How to do text to speech on TikTok live?","a":"Use TikTool's WebSocket API to capture chat messages in real-time, then pipe them to any TTS engine (Web Speech API, Google Cloud TTS, ElevenLabs, OpenAI TTS). The API provides every chat message as JSON - you just need to send the text to your TTS of choice."},"howGet":{"q":"How to get text to speech on TikTok live?","a":"Install the TikTool SDK with {command}, connect to a live stream with your API key, and listen for chat events. Each chat event includes the message text and user info. Send the text to any TTS engine to hear it spoken aloud."},"builtIn":{"q":"Does TikTok have built-in TTS for live streams?","a":"TikTok has limited built-in TTS that only reads certain gift/donation messages. For full TTS on all chat messages, you need an external solution like TikTool's API connected to a TTS engine."},"python":{"q":"Can I build a TTS assistant for TikTok Live in Python?","a":"Yes. Use the tiktok-live-api Python package or connect directly to wss://api.tik.tools via websockets. Combine with pyttsx3 (offline) or gTTS (Google) for speech output. See the Python example above."},"bestEngine":{"q":"What is the best TTS engine for TikTok Live?","a":"For free/basic use: browser Web Speech API or pyttsx3 (Python). For high-quality AI voices: ElevenLabs, OpenAI TTS, or Google Cloud TTS. Each has different pricing, voice quality, and latency trade-offs."},"free":{"q":"How to use TTS on TikTok live for free?","a":"TikTool offers a 7-day Sandbox evaluation (5,000 requests/day, 3 concurrent WebSocket connections). Combined with the browser's free Web Speech API or Python's pyttsx3, you can build and evaluate a TTS assistant for TikTok Live at no cost, then continue on a paid plan."}},"cta":{"title":"Build Your TikTok LIVE TTS Assistant","desc":"Sandbox tier - 5,000 requests/day, 3 concurrent WebSocket connections. Start building in minutes.","primary":"Get a 7-day evaluation key","secondary":"Quick Start Guide"}}},"guidesData":{"common":{"badge":"Developer Guide","ogBadge":"GUIDE","breadcrumbHome":"Home","breadcrumbGuides":"Guides"},"leaderboardApi":{"seo":{"title":"TikTok LIVE Leaderboard API Guide {'|'} TikTools","description":"Complete developer guide for the TikTools leaderboard and league ranking API. Get daily regional leaderboards, query all {count} league divisions ({range}), and monitor live creators across {regions} regions. Code examples in Node.js, Python, Go, PHP, and cURL.","ogTitle":"TikTok LIVE Leaderboard & League API Guide {'|'} TikTools","ogDescription":"Real-time TikTok LIVE leaderboard data for {regions} regions. Query league rankings in all {count} divisions ({range}), detect live creators, and build creator monitoring tools. All paid plans. Full code examples.","ogImageTitle":"TikTok LIVE Leaderboard API","ogImageSubtitle":"Top creators and gifters as live data.","breadcrumbName":"Leaderboard & League API"},"hero":{"title":"Leaderboard &","titleHighlight":"League API","subtitle":"Real-time TikTok LIVE leaderboard data. Get daily rankings across {count} regions, query live league class data, and monitor creator performance."},"badges":{"allPaidPlansCaps":"ALL PAID PLANS","ultraOnlyLeaguesCaps":"ULTRA ONLY - Leagues","allPaidPlans":"All Paid Plans","ultraOnly":"Ultra Only","ultraDeveloperOnly":"Ultra Developer Plan Only"},"headings":{"pathParameters":"Path Parameters","responseSchema":"Response Schema","exampleResponse":"Example Response","codeExamples":"Code Examples"},"table":{"parameter":"Parameter","type":"Type","description":"Description","field":"Field","slug":"Slug","regionCode":"Region Code","class":"Class"},"overview":{"heading":"Overview","intro":"TikTool exposes two categories of leaderboard data through its website API at {host}. Both endpoints return real-time competitive ranking data for TikTok LIVE creators sorted by diamond earnings.","regional":{"title":"Regional Leaderboards","body":"Daily rankings of the top 100 creators by total diamonds earned, broken down by geographic region. Updated continuously throughout the day. Available to Basic, Pro, and Ultra subscribers.","items":{"top100":"Top 100 creators per region","fields":"Rank, score (diamonds), live status, room ID","regions":"{count} regions worldwide","refresh":"Data refreshes continuously"}},"league":{"title":"League Rankings","body":"Class-based competitive ranking data ({range}) for creators competing in TikTok LIVE leagues. Reveals who is in each competitive tier in any region. Requires {plan}. Agency PASS ({vipPath}) is a website subscription - it gives frontend access to league data on the website, not programmatic API access.","plan":"Ultra developer plan","items":{"divisions":"{count} league divisions: {list}","entries":"Per-class ranked entries with live status","teaser":"Glass-wall teaser for lower tiers (5 entries)","refresh":"Data refreshes frequently"}}},"auth":{"label":"Authentication:","body":"{label} These endpoints are on {host} (not {apiHost}) and use session-based auth. Call them from your server with a valid session cookie obtained by logging into tik.tools with a paid developer account. All paid developer plans (Basic, Pro, Ultra) have access to regional leaderboard endpoints. {leagueRule} The Agency PASS subscription (at {vipPath}) is a separate website-only product - it grants access to league data through the tik.tools website interface, not via this developer API.","leagueRule":"League endpoints require the Ultra developer plan."},"regions":{"heading":"Region Reference","intro":"{count} regional leaderboards are available. Use the {slug} in the country leaderboard endpoint URL, and the {code} in league endpoints."},"country":{"heading":"Endpoint: Regional Leaderboard","intro":"Returns the current day's top-100 leaderboard for a region. Entries are sorted by {field} (total diamonds earned today) descending.","params":{"slug":"Region slug from the Region Reference table above (e.g., {first}, {second})"},"fields":{"rank":"Position on the leaderboard (1 = highest earner)","uniqueId":"TikTok username (without {'@'})","nickname":"Display name shown on TikTok","score":"Total diamonds earned today in this region","isLive":"Whether the creator is currently streaming live","roomId":"Live room ID if currently streaming, otherwise null"}},"leagues":{"heading":"League Endpoints","warning":{"label":"Ultra required.","plan":"Ultra developer plan","body":"{label} League endpoints require an {plan}. Requests from Basic and Pro plans receive a teaser of 5 entries - the {fullAccessField} field in the response will be {falseValue} and {maskedField} will indicate how many entries are hidden. Note: Agency PASS subscription ({vipPath}) gives website access to league data but is not a developer API subscription."},"list":{"heading":"4a. List Leagues for a Region","intro":"Lists the available league classes for a given region, including how many creators are in each class and when the data was last updated.","params":{"region":"Region code (e.g., {first}, {second}, {third}) from the Region Reference table"},"fields":{"classType":"Numeric class identifier (see {field} Reference below)","classLabel":"Human-readable class name (e.g., \"A1\", \"B5\")","count":"Number of creators currently in this class","updatedAt":"ISO 8601 timestamp of the last data refresh"}},"entries":{"heading":"4b. Get League Entries","intro":"Returns the ranked list of creators in a specific league class for a region. This is the primary endpoint for building league-aware tools and creator monitoring dashboards.","params":{"region":"Region code (e.g., {first}, {second})","classType":"Numeric class identifier (2000=A1, 1900=A2, 1100=B5, etc.)"},"fields":{"hasFullAccess":"True if your tier has full access; false = teaser mode (5 entries)","maskedCount":"Number of entries hidden due to tier restrictions (0 if {field})","totalCount":"Total number of creators in this class","rank":"Position within this class","userId":"TikTok numeric user ID (stable backend ID, never changes)","uniqueId":"TikTok username/handle without {'@'} (user-changeable)","nickname":"Display name (user-changeable)","score":"Diamonds earned in the current league period"}}},"classRef":{"heading":"{field} Reference","intro":"League classes map numeric {field} values to competitive tiers. A1 is the highest tier - the elite creators earning the most diamonds. {bottom} is the entry point into league competition.","note":"Not all {count} divisions may be present in every region. Call the {endpoint} endpoint first to discover which classes exist for your target region, then fetch the specific class you need.","noteEndpoint":"List Leagues","classes":{"A1":"Elite tier. Top earners in the region. Highest competition, highest diamond requirements for placement.","A2":"Senior tier. Established high-earning creators working toward A1 promotion.","A3":"Established A-class. Consistent high earners holding their spot in the elite range.","B1":"Top of the B range. Creators one promotion away from the A divisions.","B2":"Upper B-class. Strong earners competing for B1.","B3":"Mid B-class. Steady earners in the middle of the B range.","B4":"Lower B-class. Creators building toward the upper B divisions.","B5":"B-class entry. Creators with strong consistent earnings across the league period.","C1":"Top of the C range. Active earners building toward the B-class range.","C2":"Upper C-class. Moderate earners competing for C1 promotion.","C3":"Mid C-class. Regular earners in the middle of the C range.","C4":"Lower C-class. Creators climbing toward the upper C divisions.","C5":"C-class entry. Recently promoted from the D range.","D1":"Top of the D range. Creators beginning to earn meaningfully in the region.","D2":"Upper D-class. Newer or lower-volume earners.","D3":"Mid D-class. Creators settling into league competition.","D4":"Lower D-class. Early league earners.","D5":"Entry league. The starting point for league-eligible creators."}},"example":{"heading":"Working Example: Find All A1 Creators Streaming Now in Balkans","intro":"This complete multi-step example shows the recommended pattern: discover available classes, find the one you need, fetch its entries, then filter for live creators. This works for any region and class combination.","steps":{"fetchLeagues":"Fetch available leagues for region BK (Balkans)","findClass":"Find the A1 entry and confirm it exists","fetchEntries":"Fetch A1 league entries","filterLive":"Filter for {condition} creators"}},"tips":{"heading":"Rate Limits & Best Practices","cache":{"title":"Cache responses client-side","body":"Leaderboard positions shift gradually. Cache for 10-30 seconds before re-fetching to avoid hammering the API unnecessarily."},"leagueRefresh":{"title":"League data refreshes on a fixed schedule","body":"League boards change slowly, so there is no benefit to polling league endpoints more than every few minutes."},"parallel":{"title":"Poll regions independently","body":"All {count} regions can be polled in parallel. If you need multi-region data, fan out requests concurrently rather than sequentially."},"connect":{"title":"Use {live} + {room} to connect","body":"When {live} is true on a leaderboard entry, you can open a WebSocket to that creator immediately using their {uniqueId} and your API key."},"cookies":{"title":"Store session cookies securely","body":"Session cookies grant access to your account. Store them in environment variables, never in source code or public repositories."},"listFirst":{"title":"List leagues before fetching entries","body":"Not every class exists in every region. Always call the list endpoint first to confirm which {field} values are available for your target region."}},"faq":{"heading":"Frequently Asked Questions","plans":{"q":"What plans include leaderboard API access?","a":"All paid plans (Basic, Pro, and Ultra) include access to the regional leaderboard endpoint. The Sandbox key (a 7-day evaluation) does not include leaderboard access."},"league":{"q":"What is required to access league ranking data?","a":"League endpoints require the Ultra developer plan. The Agency PASS subscription ({vipPath}) is a website product - it gives access to league data through the tik.tools interface, not via this developer API. Basic and Pro developer subscribers receive a teaser of 5 entries per league class but cannot see the full list."},"refresh":{"q":"How often does the leaderboard data update?","a":"Regional leaderboard data refreshes continuously throughout the day as creators earn diamonds. League class data is refreshed frequently. Cache your responses for at least 10 seconds to avoid redundant fetches."},"regions":{"q":"How many regions are available?","a":"TikTool provides leaderboard data for {count} regions worldwide, including North America, United Kingdom, Balkans, Southeast Asia, Latin America, and more. Each region has its own independent leaderboard and league competition."},"live":{"q":"Can I tell if a creator is currently live from the leaderboard?","a":"Yes. Every leaderboard entry and league entry includes an {field} boolean field. When true, the creator is actively streaming. You can connect to their stream immediately using their {uniqueId} with the TikTool WebSocket API at {wsUrl}."},"missingClasses":{"q":"Not all {field} values appear for my region. Why?","a":"Not every league class exists in every region - it depends on how many creators are competing there. Call the list leagues endpoint first to see which {field} values are active for your target region before fetching entries."},"pollAll":{"q":"Can I poll all {count} regions at once?","a":"Yes. Regions are fully independent and can be polled in parallel. If you need a multi-region snapshot, fan out all {count} requests concurrently and aggregate the results. Be mindful of your plan rate limits when doing so."}},"jsonLd":{"refreshA":"Regional leaderboard data refreshes continuously throughout the day. League class data is refreshed frequently. Creators appear on the leaderboard the moment they start earning diamonds in a given region.","regionsA":"TikTool provides leaderboard data for {count} regions worldwide, including North America, United Kingdom, Balkans, Southeast Asia, Latin America, and more. Each region has its own independent leaderboard.","liveQ":"Can I tell if a creator is currently live from the leaderboard API?","liveA":"Yes. Every leaderboard entry and league entry includes an {field} boolean field. When true, you can connect to that creator's stream immediately using their {uniqueId} with the TikTool WebSocket API.","classTypeQ":"What is the {field} numbering system?","classTypeA":"{field} is a numeric identifier for each of the {count} league divisions: {list}. Higher numbers correspond to higher-tier, more competitive classes."},"next":{"prevTitle":"WebSocket API","prevDesc":"Connect to live streams in real time","nextTitle":"Events Reference","nextDesc":"All event types and data fields"}},"analytics":{"seo":{"title":"TikTok LIVE Analytics API - Track Viewers, Gifts & Engagement in Real-Time","description":"Track viewer counts, gift revenue, chat volume, and engagement in real-time for any TikTok LIVE stream. Build analytics dashboards with the TikTok LIVE API. Node.js, Python & any language.","ogTitle":"TikTok LIVE Analytics API - Track Viewers, Gifts & Engagement","ogDescription":"Real-time TikTok LIVE analytics: viewer counts, gift revenue, chat volume, engagement rates. Build dashboards with the TikTok LIVE API.","ogImageTitle":"TikTok LIVE Analytics API","ogImageSubtitle":"Track viewers, gifts and engagement in real time."},"hero":{"title":"TikTok LIVE","titleHighlight":"Analytics API","subtitle":"Track viewer counts, gift revenue, chat volume, and engagement metrics in real-time for any TikTok LIVE stream. Build dashboards, alert systems, and analytics tools."},"available":{"heading":"What Analytics Data Is Available?","intro":"TikTok does not provide a public analytics API for LIVE streams. The TikTools API fills this gap by delivering every stream event in real-time via WebSocket. You can compute any metric from these raw events:","items":{"viewers":{"label":"Viewer count","desc":"real-time viewer count updates every few seconds"},"revenue":{"label":"Gift revenue","desc":"every gift event includes diamond value (1 diamond ≈ $0.005)"},"chat":{"label":"Chat volume","desc":"messages per minute, unique chatters, keyword frequency"},"engagement":{"label":"Engagement rate","desc":"likes, shares, follows per time period"},"peak":{"label":"Peak viewership","desc":"track high-water marks across the session"},"leaderboard":{"label":"Gift leaderboard","desc":"top supporters ranked by total diamond spend"}}},"quickStart":{"heading":"Quick Start: Real-Time Dashboard Data","intro":"This example collects all analytics data in real-time. Plug it into any frontend framework or save to a database:"},"output":{"heading":"Expected Output"},"database":{"heading":"Save to a Database","intro":"Store events in PostgreSQL, MongoDB, or any database for historical analysis:"},"raw":{"heading":"Raw WebSocket (Any Language)","intro":"Build analytics in Python, Go, Rust, or any language with WebSocket support:"},"faq":{"heading":"FAQ","official":{"q":"Does TikTok have an official analytics API for LIVE streams?","a":"No. TikTok provides in-app analytics via LIVE Center for creators, but there is no public API to access this data programmatically. The TikTools API delivers raw events in real-time that you can use to build your own analytics."},"multiple":{"q":"Can I track multiple streams simultaneously?","a":"Yes. Create multiple {client} clients - one per stream. The Pro tier supports up to 50 simultaneous WebSocket connections."},"accuracy":{"q":"How accurate is the viewer count?","a":"The viewer count is provided directly by TikTok's internal data and updates every few seconds. It matches the count shown in the TikTok app."}},"jsonLd":{"howToName":"How to Build TikTok LIVE Analytics","howToDescription":"Track viewer counts, gift revenue, chat volume, and engagement in real-time for any TikTok LIVE stream using the TikTools API.","steps":{"install":{"name":"Install the SDK","text":"Run {command} to install the TikTools SDK."},"listen":{"name":"Set up event listeners","text":"Listen for viewer_count, chat, gift, like, follow, and share events to collect analytics data."},"compute":{"name":"Compute metrics","text":"Track peak viewers, messages per minute, gift revenue in diamonds, unique chatters, and engagement rates."},"store":{"name":"Store and display","text":"Save events to a database or display in a real-time dashboard."}},"officialA":"No. TikTok provides in-app analytics via LIVE Center for creators, but there is no public API to access this data programmatically. The TikTools API delivers raw events in real-time for building custom analytics.","multipleQ":"Can I track multiple TikTok LIVE streams at once?"},"next":{"prevTitle":"Events Reference","prevDesc":"All event types documented","nextTitle":"Node.js Guide","nextDesc":"Complete JavaScript/TypeScript guide"}}},"guidesSdk":{"livePreview":{"defaultTitle":"Live preview","running":"RUNNING","iframeTitle":"Live code preview","placeholder":"Preview loads once visible."},"migrateShared":{"getFreeKey":"Get a 7-day evaluation key","livePreviewBadge":"Live preview","copyThisCode":"Copy this code","colTier":"Tier","responseShapeBadge":"Response shape","responseShapeTitle":"Identical JSON, plus a migration hint"},"migrateEuler":{"seo":{"title":"Migrate from Euler Stream to Tik.Tools","description":"Moving from Euler Stream to Tik.Tools: switch to the Tik.Tools Node or Python SDK and keep your event handlers. Includes the REST endpoint list, the sign_url response shape and a 7-day evaluation key for the test.","ogTitle":"Migrate from Euler Stream to Tik.Tools","ogDescription":"Switch to the Tik.Tools Node or Python SDK and keep your event handlers. A 7-day evaluation key covers the migration test.","ogImageTitle":"Migrate from Euler Stream","ogImageSubtitle":"Switch SDKs, keep your event handlers.","ogImageBadge":"MIGRATE"},"hero":{"badge":"Migration guide","title":"Move from {legacy} to {brand}","sub":"TikTokLive (Python) and tiktok-live-connector (Node) cannot use api.tik.tools as their sign server: they call routes it does not serve. Switch to the Tik.Tools SDK instead: change the import and the constructor, keep your event handlers.","copyCta":"Copy migration code"},"live":{"title":"See it working right here","desc":"The iframe below runs the HTML version of the snippet against api.tik.tools: it mints a short-lived token, then opens the WebSocket. Copy and paste it and you get the same output.","note":"Pick any language (Node / Python / HTML / LLM prompt)"},"steps":{"badge":"Step by step","title":"Two steps","one":{"title":"Switch to the Tik.Tools SDK","body":"Pointing an existing SDK from {oldHost} to {newHost} does not work, because those SDKs call routes the Tik.Tools API does not serve. Install the Tik.Tools SDK for Node or Python, change the import and the constructor, and keep your event handlers. The side-by-side walkthrough with an event name map is in {guideLink}. All {tiersLink} work with these SDKs; use your 7-day evaluation key to run the examples.","tiersLink":"tik.tools API tiers","guideLink":"Switch from TikTok-Live-Connector or TikTokLive","copyCta":"Copy full Node + Python"},"two":{"title":"Grab a real API key (when ready)","body":"Replace {demoKey} with your own key (7-day evaluation or paid plan). {link}.","link":"Get a Tik.Tools evaluation key"}},"endpoints":{"badge":"REST endpoints","title":"Tik.Tools REST endpoints for the same jobs","desc":"If you call the REST API directly, these are the Tik.Tools paths. They are not a path-for-path copy of the Euler Stream API, so check each call against the docs.","colTikTools":"Tik.Tools endpoint","tierDemo":"Demo","bonusRow":"{label} public ticker, leaderboards","bonusLabel":"Also available:","note":"{lead} sign_url returns {shape}.","noteLead":"Response shape:"},"pricing":{"title":"A 7-day evaluation covers the migration test","body":"Sandbox is a 7-day evaluation, no credit card. Pick a paid plan with higher rate limits when you ship.","seePricing":"See pricing"},"responseShapeTitle":"sign_url request and response"},"migrateTikapi":{"seo":{"title":"Migrate from TikAPI to Tik.Tools - 30-second drop-in","description":"Drop-in migration from TikAPI to Tik.Tools. Same endpoints, same response shape, plus real-time WebSocket events for TikTok Live.","ogTitle":"Migrate from TikAPI to Tik.Tools","ogDescription":"Swap the base URL, keep your code. A 7-day evaluation key covers migration and testing.","ogImageTitle":"Migrate from TikAPI","ogImageSubtitle":"A 30-second drop-in replacement.","ogImageBadge":"MIGRATE"},"hero":{"badge":"One-line migration","title":"Move from {legacy} to {brand} in 30 seconds","sub":"Same endpoints. Same response shape. Real-time WebSocket events on top. Swap the base URL, keep your code.","copyCta":"Copy live events code"},"live":{"title":"Same TikAPI shape, served from api.tik.tools","desc":"The iframe below is the literal HTML example file - it pulls live channels from {endpoint} and streams events via WebSocket. Copy it, save as {ext}, double-click. Identical output.","note":"Node / Python / HTML / LLM prompt"},"steps":{"one":{"title":"Change one line","body":"Point your existing TikAPI base URL at {host}. The path stays the same."},"two":{"title":"Use your Tik.Tools API key","body":"Get a 7-day evaluation key at {link}. Pass it as {query} or {header} header - both work."},"three":{"title":"That's it","body":"Your existing handlers keep working. Every migration response carries a {hint} hint pointing at the native endpoint - switch when you're ready for faster + richer data."}},"endpoints":{"badge":"Endpoint map","title":"Every TikAPI live-data call works against Tik.Tools","desc":"VOD, profile metadata, and search are TikAPI-only - we are a TikTok LIVE specialist. Everything below is a drop-in.","colTikapi":"TikAPI endpoint","colCompat":"Tik.Tools (compat)","colNative":"Native equivalent","tierFree":"Sandbox","tierFreeConn":"Sandbox (3 conn)","returnsEmptyLiveStatus":"returns empty + live status","returnsUserLiveStatus":"returns user + live status","returnsEmptyNote":"returns empty + note","bonusWs":"{label} real-time WS events for chat / gifts / likes / joins / battles","bonusWsLabel":"Bonus (not in TikAPI):","bonusBoards":"{label} creator + gifter leaderboards ({count} regions)","bonusBoardsLabel":"Bonus:","note":"{lead} {endpoints} all return HTTP 200 with empty arrays + a {hint} note. The user-shaped endpoints also include {liveStatus} so your migration script keeps shipping. Keep TikAPI for actual VOD data; we cover everything LIVE.","noteLead":"VOD endpoints don't crash your code:"},"response":{"desc":"Every compat response carries a {hint} envelope so you know exactly which native endpoint to call when you're ready to switch."},"pricing":{"title":"A 7-day evaluation is enough to migrate and test","body":"5,000 REST requests/day. 3 concurrent WebSocket connections, 50 sessions a day. 7 days, no credit card. Pick a paid plan when you ship.","readDocs":"Read full docs"}},"python":{"seo":{"title":"TikTok LIVE API Python Guide - Connect to Any Live Stream","description":"Connect to TikTok LIVE streams from Python with TikTools API. Real-time chat, gifts, viewer counts via WebSocket. Production-ready alternative to TikTokLive library. 7-day evaluation key, fully managed.","ogTitle":"TikTok LIVE API Python Guide - Connect to Any Live Stream","ogDescription":"Complete Python guide for TikTok LIVE data. WebSocket + REST examples, production-ready. 7-day evaluation key - fully managed service.","ogImageTitle":"TikTok LIVE API for Python","ogImageSubtitle":"Connect to any live stream in Python.","ogImageBadge":"GUIDE"},"jsonLd":{"howTo":{"name":"How to Connect to TikTok Live with Python","description":"Connect to any TikTok LIVE stream from Python using TikTools WebSocket API. Receive chat, gifts, viewer counts in real-time.","step1":{"name":"Install websockets","text":"Install the Python websockets library with pip install websockets."},"step2":{"name":"Connect to WebSocket","text":"Connect to wss://api.tik.tools with your uniqueId and apiKey parameters."},"step3":{"name":"Handle events","text":"Parse JSON events for chat, gift, member, and roomUserSeq event types."}},"article":{"description":"Complete Python guide for connecting to TikTok LIVE streams. WebSocket and REST API examples. Production-ready alternative to TikTokLive library."}},"hero":{"badge":"Tutorial","titleHighlight":"Python Guide","subtitle":"Connect to any TikTok LIVE stream from Python using the TikTools WebSocket API. Receive real-time chat messages, gifts, viewer counts, and more - production-ready, fully managed."},"why":{"title":"Why Use TikTools for Python?","p1":"The MIT-licensed {lib} Python client connects directly to TikTok's broadcast protocol and delegates signing to a managed backend (the default is Euler Stream, which has its own free tier and paid plans). It is a self-host-the-client + managed-signing model maintained by the Euler Stream team.","p2":"TikTools is an independent {service}. It handles protocol changes server-side and works with any language via standard WebSocket. No protocol handling required - just connect and receive events. Choose whichever model fits your team.","p2Service":"managed API service"},"comparison":{"hosting":{"label":"Hosting model","tiktools":"Fully managed","other":"Self-hosted client + managed signing"},"setupLabel":"Setup","maintenance":{"label":"Maintenance surface","tiktools":"Zero - handled server-side","other":"Client + signing backend updates"}},"prereq":{"title":"Prerequisites","python":"Python 3.8+ installed","key":"A TikTools API key (7-day evaluation, no credit card) - {link}","keyLink":"get one here"},"option1":{"title":"Option 1: asyncio + websockets","intro":"The simplest approach - use the standard {lib} library to connect to the TikTools WebSocket API:"},"option2":{"title":"Option 2: REST API with requests","intro":"For one-off data fetching (room info, user profiles), use the REST API:"},"running":{"title":"Running the Scripts"},"output":{"title":"Expected Output"},"nextSteps":{"title":"Next Steps","database":{"title":"Store events in a database","text":"{title} - pipe events to PostgreSQL, MongoDB, or SQLite"},"dashboard":{"title":"Build a dashboard","text":"{title} - use Flask or FastAPI to create a real-time web dashboard"},"ai":{"title":"AI analysis","text":"{title} - feed chat messages to GPT/Claude for sentiment analysis"},"multiStream":{"title":"Multi-stream","text":"{title} - monitor multiple streams simultaneously (Pro tier: 50 connections)"}},"nextLinks":{"bot":{"title":"Node.js Chat Assistant","sub":"Build a chat assistant with the SDK"},"docs":{"title":"Full API Docs","sub":"Complete API reference"}}},"node":{"seo":{"title":"TikTok LIVE API for Node.js - Build Assistants & Apps in JavaScript","description":"Build TikTok LIVE assistants and apps in JavaScript/TypeScript. npm install {pkg}, connect in 3 lines, receive real-time chat, gifts, viewers. Free SDK, open-source, MIT license.","ogTitle":"TikTok LIVE API for Node.js - Build Assistants & Apps in JavaScript","ogDescription":"The complete Node.js guide for TikTok LIVE API. Install from npm, full TypeScript support, all events documented. 7-day evaluation key, no credit card.","ogImageTitle":"TikTok LIVE API for Node.js","ogImageSubtitle":"Build assistants and apps in JavaScript.","ogImageBadge":"GUIDE"},"jsonLd":{"howTo":{"name":"How to Use TikTok LIVE API with Node.js","description":"Install the {pkg} npm package and connect to any TikTok LIVE stream to receive real-time chat, gifts, and viewer data in JavaScript.","toolNode":"Node.js (version 18 or later)","step1":{"name":"Install the SDK","text":"Run npm install {pkg} to install the TikTools SDK from npm."},"step2":{"name":"Create a client","text":"Import TikTokLive and create a client with the streamer username and your API key."},"step3":{"name":"Listen for events","text":"Use client.on() to listen for chat, gift, follow, like, and viewer_count events."},"step4":{"name":"Connect","text":"Call await client.connect() to start receiving real-time events."}},"faq":{"official":{"q":"Does TikTok have an official Node.js API for live streams?","a":"No. TikTok does not offer a public API for LIVE stream data. TikTools is a managed third-party API with a free npm SDK ({pkg}) for real-time chat, gifts, viewers, and other LIVE events."},"free":{"q":"Is the TikTok LIVE Node.js SDK free?","a":"The SDK is free to install. API access starts with a 7-day Sandbox evaluation: 5,000 requests/day and 3 concurrent WebSocket connections, no credit card required. After 7 days a paid plan is required, from {price}/week (Basic) for 10,000 requests/day, 20 concurrent connections and production access."},"runtimes":{"q":"Does the SDK work with Bun and Deno?","a":"Yes. The {pkg} SDK is compatible with Node.js 18+, Bun, and Deno."}}},"hero":{"badge":"Developer Guide","titleHighlight":"for Node.js","subtitle":"Build TikTok LIVE assistants, overlays, and dashboards in JavaScript. npm install, connect in 3 lines, receive real-time events. Free SDK, open-source, MIT license."},"why":{"title":"Why Node.js?","intro":"Node.js is the most popular runtime for TikTok LIVE integrations. The official {pkg} SDK is written in TypeScript, published on npm, and includes full type definitions out of the box. You get:","typeSafety":{"title":"Type safety","text":"{title} - full TypeScript definitions for every event and method"},"autoReconnect":{"title":"Auto-reconnection","text":"{title} - the SDK handles dropped connections automatically"},"eventDriven":{"title":"Event-driven","text":"{title} - familiar {code} pattern"},"everywhere":{"title":"Works everywhere","text":"{title} - Node.js 18+, Bun, Deno"}},"install":{"title":"Install the SDK","other":"Or with other package managers:"},"quickStart":{"title":"Quick Start: 3 Lines to Live Data","create":"Create {file} and paste:","run":"Run it:","result":"You'll see chat messages flowing in your terminal within seconds."},"events":{"title":"All Available Events","intro":"The SDK emits structured events for every interaction on the stream:"},"output":{"title":"Expected Output"},"typescript":{"title":"TypeScript Support","intro":"The SDK is written in TypeScript. Types are included automatically - no {types} package needed:"},"raw":{"title":"Raw WebSocket (No SDK)","intro":"Prefer to use the raw WebSocket directly? It works with any language or framework:"},"faq":{"title":"FAQ","official":{"q":"Does TikTok have an official Node.js API?","a":"No. TikTok does not offer a public API for LIVE stream data. The TikTools API is a managed third-party service that provides reliable real-time access to chat, gifts, viewers, and other LIVE events. The {pkg} npm package is the official SDK for this API."},"free":{"q":"Is it free?","a":"The SDK is free to install. API access starts with a 7-day Sandbox evaluation: 5,000 requests/day and 3 concurrent WebSocket connections, evaluation only, no credit card required. After 7 days a paid plan is required. {link}.","link":"Sign up here"},"frameworks":{"q":"Can I use it with Express, Fastify, or Next.js?","a":"Yes. The SDK works in any Node.js environment. Use it in Express route handlers, Fastify plugins, Next.js API routes, or standalone scripts."},"runtimes":{"q":"Does it work with Bun and Deno?","a":"Yes. The SDK is compatible with Bun and Deno. Install via {cmd} or import from npm in Deno."}},"nextLinks":{"start":{"title":"Getting Started","sub":"Complete API quick start"},"bot":{"title":"Build a Chat Assistant","sub":"Step-by-step assistant tutorial"}}}},"leaderboards":{"brightMode":{"toLight":"Switch bright sections to light","toggleDark":"Toggle dark mode"},"shopping":{"crumbTail":"Live Shopping","seoBoard":"Shopping","h1":"TikTok LIVE {region} Live Shopping","h2":"{region} sellers ranked by weekly sales volume","intro":"The {region} live shopping board ranks the creators selling on TikTok LIVE in this region by the sales volume their streams generate over the weekly cycle. It is a different population from the gifting leaderboard: a seller can rank here on product revenue while sending almost no diamonds, which is why agencies scout the two boards separately. Rows marked LIVE were broadcasting when this page was rendered.","pageTitle":"{region} TikTok LIVE Shopping Ranking","ogSubtitle":"Live shopping sellers ranked by sales volume","ogBadge":"SHOPPING"},"gaming":{"board":"Gaming","h1Game":"TikTok LIVE {region} Gaming - {game}","h1":"TikTok LIVE {region} Gaming Ranking","h2Game":"{game} streamers ranked by diamonds","h2":"{count} tracked titles, ranked by diamonds","introGame":"The {game} ranking lists the TikTok LIVE creators streaming {game} to the {region} audience, ordered by the diamonds their viewers sent during the current cycle. Game rankings reset on their own cadence, so a strong session can move a creator several places within hours. Rows marked LIVE are broadcasting as this page was rendered.","intro":"The {region} gaming ranking pools every TikTok LIVE creator streaming a tracked title to the region, ordered by diamonds received in the running cycle. {count} individual game rankings sit underneath it, each with its own reset cycle and its own set of contenders, and a creator can hold a place in both at once.","pageTitle":"{region} TikTok LIVE {board} Ranking","ogSubtitle":"Gaming creators ranked by diamonds","ogBadge":"GAMING"},"league":{"board":"{label} League","h1":"TikTok LIVE {region} {label} League","h2":"{label} division standings, ranked by diamonds","intro":"{label} is one of {siblings} TikTok LIVE league divisions competing inside the {region} pool. This board tracks the {total} creators seeded into the division for the running cycle, their diamond totals and who is broadcasting right now. Divisions are re-seeded every cycle, so placement here follows gifting volume rather than follower count, which is why it moves far faster than a follower chart.","docTitle":"{region} TikTok LIVE League {label} ranking","pageTitle":"{region} TikTok LIVE {label} League Ranking","ogSubtitle":"League standings by diamonds, refreshed live","ogBadge":"LEAGUES"},"dated":{"loading":"Loading historical leaderboard...","notFound":{"title":"No data available","body":"No leaderboard snapshot found for this date.","back":"← Back to current leaderboard"},"crumbRankings":"Rankings","heading":"{board} TikTok LIVE Leaderboard","historicalBadge":"Historical Snapshot","stats":{"totalDiamonds":"Total Diamonds","totalRevenue":"Total Revenue","estEarnings":"Est. Earnings"},"goToday":"Go to Today's Leaderboard","todaysRankings":"Today's Rankings","empty":"No snapshot was stored for this date. {link}.","emptyLink":"See today's board","cols":{"streamer":"Streamer","diamonds":"Diamonds","revenue":"Revenue","earnings":"Earnings"},"seo":{"title":"{country} TikTok LIVE Leaderboard - {date}","titleFallback":"Historical TikTok LIVE Leaderboard","descriptionEmpty":"No {country} TikTok LIVE leaderboard snapshot is stored for {date}.","description":"{country} TikTok LIVE leaderboard snapshot for {date} - {count} creators, {earned} in estimated earnings."},"jsonLd":{"home":"Home","rankings":"TikTok LIVE Rankings","board":"{country} Leaderboard"}},"nav":{"creatorsRank":"Creators Rank","giftersRank":"Gifters Rank","rising":"Rising","creators":"Creators","gifters":"Gifters","gaming":"Gaming"},"rising":{"title":"{accent} Intel","titleAccent":"Rising","sub":"New whales emerging + creators on a hot streak. Refreshed regularly.","tabs":{"gifters":"Rising Gifters","creators":"Rising Creators"},"gate":{"title":"Agency Global tier only","body":"Rising Intel surfaces accounts most platforms haven't caught yet. Available exclusively to Agency Global subscribers.","cta":"Upgrade to Agency Global"},"featureName":"Rising Intel","loading":"Loading rising signal...","empty":"No movers in this window yet. Check back in a few.","stats":{"last24h":"last 24h","vsAvg":"vs avg","ageDays":"{n}d","age":"age","gifters":"gifters"},"updated":"Updated {when}.","seo":{"title":"Rising Intel - tik.tools","description":"New gifters and creators trending hard on TikTok LIVE. Agency-tier intel feed."}},"time":{"minAgo":"{n} min ago","hoursAgo":"{n}h ago","shortly":"shortly","inHours":"in {n}h","inMin":"in {n} min"},"live":"LIVE","teams":{"title":"{accent} & Clubs","titleAccent":"Teams","sub":"TikTok clubs ranked by their members' combined diamonds, per region. Every other board ranks creators; this one ranks the teams behind them.","loading":"Loading Teams board...","empty":"No Teams board cached for this region yet - building. Check back in a few minutes.","count":"{n} clubs","copyHosts":"Copy hosts","featureName":"The Teams / Clubs board","level":"Lv {n}","members":"{n} members","host":"host {'@'}{handle}","diamonds":"diamonds","upsell":{"body":"{more} are hidden. The full Teams board, every club and host unmasked across all {regions} regions, is an Agency Global feature.","more":"{n} more clubs","cta":"See Agency plans"},"updated":"Updated {when}","resets":", board resets {when}","seo":{"title":"TikTok LIVE Teams and Clubs Rankings - tik.tools","description":"TikTok's Teams and Clubs leaderboard per region: clubs ranked by their members' combined diamonds, with club level, member count and host. Agency-tier intel."}},"team":{"notFound":{"title":"Team not found","body":"This host is not leading a TikTok club we currently track.","back":"Browse the Teams board"},"crumb":"Teams & Clubs","level":"Level {n}","rankIn":"#{rank} in {region}","regionFallback":"region","stats":{"diamonds":"Diamonds","members":"Members","regionalRank":"Regional rank","estEarnings":"Est. earnings"},"hostedBy":"Hosted by","upsell":"Club name, host and roster are unmasked on the {plan} plan. The stats above are live for everyone.","loading":"Loading team...","seo":{"maskedName":"A TikTok LIVE club in {region}","itsRegion":"its region","fallbackName":"TikTok LIVE Team","title":"{name} - TikTok LIVE Team {'|'} tik.tools","description":"TikTok LIVE club ranked #{rank} in {region} - {members} members, {diamonds} combined diamonds. Level {level}.","descriptionFallback":"TikTok LIVE team and club stats.","ogTitle":"{name} - TikTok LIVE Team"}},"radar":{"badge":"Creator Intelligence","title":"Radar","sub":"Who's spending on your streams. Your whale intelligence dashboard.","gate":{"title":"Log in to access Radar","body":"Sign in as a creator to see who's gifting you, their spending patterns, and when your whales are online.","cta":"Sign In →"},"placeholder":"{'@'}creator handle","loadingBtn":"Loading...","analyze":"Analyze","scanning":"Scanning gifter data...","topWhales":"Your Top Whales (All Time)","gifts":"{n} gifts","allGifters":"All Gifters","cols":{"gifter":"Gifter","diamonds":"Diamonds","value":"Value","gifts":"Gifts"},"verified":"Verified","empty":"No gifter data for {'@'}{handle} yet. Gift tracking builds up as streams happen.","upgrade":{"title":"Want whale alerts and full analytics?","body":"Upgrade to get notified when your top whales are online on other streams.","cta":"Upgrade →"},"seo":{"title":"Creator Radar - Gifter Intelligence"}},"hub":{"hero":{"title":"TikTok LIVE Leaderboard","sub":"Real-time rankings across {regions} regions worldwide","apiNote":"Also available via API for developers.","apiLink":"See leaderboard API guide →","streamingNow":"Streaming Now","activeRegions":"Active Regions"},"card":{"live":"{n} live","earnings":"Earnings","resetsIn":"Resets in"},"countries":{"eyebrow":"BY COUNTRY","title":"Browse by Country","sub":"Every country links to its regional leaderboard - countries in the same TikTok pool share one leaderboard. {link}","link":"All rankings by country and how they work","tabLive":"Live","tabAll":"All Countries","loading":"Loading..."},"gaming":{"title":"TikTok LIVE Gaming Ranks","new":"NEW","sub":"The live in-app gaming leaderboard, every region, refreshed continuously.","tag":"Agency-exclusive","open":"Open","preview":"Preview"},"seo":{"titleLive":"{live} Live · Global TikTok LIVE Leaderboard","title":"Global TikTok LIVE Leaderboard","descriptionLive":"Real-time TikTok LIVE leaderboards across {regions} regions - {live} creators streaming now, {earned} earned today. See top creators, diamonds & estimated revenue - updated continuously.","description":"Real-time TikTok LIVE daily leaderboards for {regions} regions worldwide. See top creators, diamonds earned, estimated revenue, and live status - updated continuously."}},"gifters":{"eyebrow":"EXCLUSIVE GIFTER LEADERBOARD","title":"TikTok Gifters Leaderboard","share":"Share","periods":{"daily":"Today","weekly":"This Week","monthly":"This Month"},"statsHeading":{"global":{"daily":"Gifting totals today worldwide","weekly":"Gifting totals this week worldwide","monthly":"Gifting totals this month worldwide"},"region":{"daily":"Gifting totals today in {region}","weekly":"Gifting totals this week in {region}","monthly":"Gifting totals this month in {region}"}},"tableHeading":{"global":{"daily":"Top gifters today worldwide","weekly":"Top gifters this week worldwide","monthly":"Top gifters this month worldwide"},"region":{"daily":"Top gifters today in {region}","weekly":"Top gifters this week in {region}","monthly":"Top gifters this month in {region}"}},"stats":{"totalDiamonds":"Total Diamonds","estValue":"Est. Value","activeGifters":"Active Gifters"},"logIn":"Log in","unlock":{"upgradeGlobal":"Upgrade to Agency Global","withAgency":"Unlock with Agency"},"global":"Global","count":"{n} gifters","copyAll":"Copy all","cols":{"gifter":"Gifter","diamonds":"Diamonds","estValue":"Est. Value","creatorsGifted":"Creators Gifted","gifts":"Gifts"},"mask":{"all":{"board":"All {n} top gifters on this board are masked on your plan.","region":"All {n} top gifters in {region} are masked on your plan."},"some":{"board":"{n} of the top {total} gifters on this board are masked.","region":"{n} of the top {total} gifters in {region} are masked."},"detailShown":"The top {shown} are shown in full; the rest keep their rank, with names, diamonds and value hidden.","detailNone":"Ranks are real; names, diamonds and value are hidden.","unlockWhales":"Unlock the whales bankrolling your creators."},"row":{"passGifter":"PASS Gifter","verifiedGifter":"Verified Gifter","watching":"Currently watching a live stream","passPrivate":"PASS PRIVATE"},"empty":"No gifter data yet - check back soon.","seo":{"title":"TikTok Gifters Leaderboard - Top LIVE Gifters Worldwide","titleRegion":"TikTok Gifters Leaderboard - {region}","description":"Real-time TikTok LIVE gifters leaderboard. Top gifters ranked by diamonds worldwide.","descriptionRegion":"TikTok LIVE gifters leaderboard for {region}. Top gifters ranked by diamonds."},"og":{"title":"Top TikTok LIVE Gifters","subtitle":"The biggest gifters across TikTok LIVE, refreshed live.","badge":"GIFTERS"}},"ranks":{"hero":{"eyebrow":"LEADERBOARDS & RANKS","title":"TikTok LIVE {accent} & Ranks","titleAccent":"Leaderboards","sub":"Every region, every board, refreshed in real time. Creators by diamonds, the gifters behind them, per-game gaming ladders, the weekly TikTok Shop GMV race, and the A1-D5 league classes - one place.","ctaBrowse":"Browse the leaderboards","ctaGaming":"Gaming & Shopping ranks"},"seePricing":"See pricing","trust":{"regions":"regions","products":"rank products","live":"Live","refreshed":"refreshed"},"new":"NEW","viz":{"unmasked":"Unmasked","hoverToUnmask":"Hover to unmask","weeklyGmv":"WEEKLY GMV - {label}","global":"Global","cutoff":"TIKTOK CUTOFF","peak":"peak #{n}","leagueTags":{"elite":"Elite","rising":"Rising","mid":"Mid","entry":"Entry"}},"features":{"creators":{"tier":"Unmasked on Pro+","title":"Creator Leaderboards","text":"The top creators in every region, ranked by diamonds. Real handles you can copy and reach out to - no masked placeholders once you unlock.","cta":"Open the creator boards"},"gifters":{"title":"Gifter Intelligence","text":"The real top gifters behind every creator. Who funds whom, where a whale spreads their spend - find the money before the competition does.","cta":"Explore gifter intel"},"gaming":{"title":"Gaming Ranks","text":"Per-region, per-game leaderboards built from the live gaming boards. See who is climbing in every title, region by region.","cta":"See gaming ranks"},"shop":{"title":"Live Shopping Ranks","text":"The weekly TikTok Shop GMV leaderboard per region - who is actually selling on LIVE - plus the products moving fastest.","cta":"Open shopping ranks"},"leagues":{"tier":"Leagues unmask on Ultra+","title":"League Rankings","text":"The A1 to D5 class ladders per region - TikTok competitive earnings classes, snapshotted continuously. See exactly which class a creator competes in.","cta":"Browse league classes"},"movers":{"title":"Finder & the 99+ movers","text":"Find creators worth approaching region by region, and reveal everyone who entered a region Top 99 today - even after TikTok drops them below the cutoff.","cta":"Reveal the movers"}},"final":{"title":"Every board, unmasked, in one subscription.","sub":"Pro unlocks the creator boards. Ultra adds the league classes. Agency unlocks gifters, gaming, shopping and the recruiting tools.","browse":"Browse the boards"},"seo":{"title":"TikTok LIVE Leaderboards & Ranks - tik.tools","description":"Every TikTok LIVE leaderboard in one place: creators by diamonds, top gifters, gaming ranks, the weekly TikTok Shop GMV race, and A1-D5 league classes across {regions} regions, refreshed live.","ogDescription":"Creators, gifters, gaming, live shopping and league ranks across {regions} regions, refreshed in real time."},"og":{"title":"TikTok LIVE Leaderboards and Ranks","subtitle":"Creators, gifters, gaming, shopping and league ranks across {regions} regions.","badge":"LEADERBOARDS"}}},"legal":{"lastUpdated":"Last updated: {date}","ogImageBadge":"LEGAL","terms":{"seo":{"title":"Terms of Service - Sandbox Evaluation, Refunds, Fair Use","description":"TikTools terms for the TikTok LIVE API and agency plans: a 7-day Sandbox evaluation with no credit card, plans that are non-refundable except for errors on our side, one refund of unused reading hours per account, and fair-use limits.","ogDescription":"7-day Sandbox evaluation with no credit card. API and agency plans are non-refundable except for errors on our side; unused reading hours can be refunded once per account.","ogImageTitle":"Terms of Service","ogImageSubtitle":"Sandbox evaluation, refunds, fair use and billing terms."},"title":"Terms of Service","intro":"By using this website and the TikTools API (\"Service\"), you are agreeing to be bound by the following terms and conditions (\"Terms of Service\"). {strong} Violations of any of the terms below will result in the termination of your Account. You agree to use the Service at your own risk.","introStrong":"IF YOU DO NOT AGREE WITH THESE TERMS AND CONDITIONS, YOU MUST NOT ACCEPT THIS AGREEMENT AND MAY NOT USE THE SERVICE.","serviceDescription":{"h":"1. Service Description & Third-Party API Disclaimer","c1":"1.1 TikTools provides a {strong} that enables developers to access real-time TikTok LIVE broadcast telemetry, including chat messages, virtual gifts, viewer counts, and other engagement metrics.","c1Strong":"managed third-party API","c2":"1.2 {strong} \"TikTok\" is a trademark of ByteDance Ltd. All TikTok-related trademarks and content are the property of their respective owners.","c2Strong":"TikTools is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance Ltd.","c3":"1.3 {strong} Our Service processes publicly accessible broadcast data to deliver structured event telemetry. This data pipeline is independently operated and not officially supported by TikTok.","c3Strong":"TikTok does not offer a native, public API for TikTok LIVE stream data.","c4":"1.4 {strong} When this occurs, TikTools will attempt to update its systems to restore access, but there is absolutely no guarantee of success or timeline. You acknowledge and accept that the Service may become temporarily or permanently unavailable due to actions taken by TikTok.","c4Strong":"TikTok may suppress, modify, block, or remove access to its endpoints at any time without notice.","c5":"1.5 This Service relies on access to TikTok's platform. {strong} if TikTok restricts, blocks, or otherwise limits access to its platform or data. TikTools assumes no liability for any such interruptions.","c5Strong":"The Service may be interrupted, modified, or discontinued at any time without notice"},"accountTerms":{"h":"2. Account Terms","c1":"2.1 Your user account may only be used by one organization. A single account shared by multiple organizations is not permitted.","c2":"2.2 You are responsible for maintaining the security of your username, password, and API keys. TikTools cannot and will not be liable for any loss or damage from your failure to comply with this security obligation.","c3":"2.3 You must not use the Service to carry on any illegal or unauthorized activities, including but not limited to copyright or trademark infringement, harassment, spam, or abuse of TikTok or its creators.","c4":"2.4 You may not violate TikTok's intellectual property rights or those of TikTok creators. You will be banned from the Service if you are reported to have engaged in such violations.","c5":"2.5 {strong} The Service may not be accessed or used by, or on behalf of, any business, product, or individual that operates, develops, or is affiliated with a service that competes with TikTools, including for the purpose of benchmarking, replicating, or sourcing data or functionality for a competing offering. We reserve the right, in our sole discretion, to suspend or permanently ban any account we determine to be operated by or affiliated with a competitor, without notice and without an obligation to provide an appeal channel.","c5Strong":"Competing services."},"multiAccount":{"h":"3. Multi-Account Policy & Abuse Prevention","c1":"3.1 {strong} Each individual or organization is entitled to one account unless explicitly authorized by TikTools.","c1Strong":"You may not create multiple accounts to circumvent usage limits, rate limits, or other restrictions.","c2":"3.2 We monitor account creation patterns including IP addresses, email addresses (including normalized variations), and browser fingerprints. Creating accounts with email aliases or other variations of the same email address to obtain additional Sandbox API keys is a violation of these terms.","c3":"3.3 If our systems detect potential multi-account abuse, you will be presented with a warning. Continued creation of duplicate accounts after receiving this warning may result in:","c3a":"(a) Suspension or termination of all associated accounts;","c3b":"(b) Revocation of all API keys across associated accounts;","c3c":"(c) A permanent ban from the Service.","c4":"3.4 Accounts with active paid subscriptions are permitted to have multiple API keys as provided by their subscription tier. The multi-account restriction applies specifically to creating separate accounts to obtain additional Sandbox access.","c5":"3.5 We reserve the right to flag, restrict, or terminate any accounts that we believe, in our sole discretion, are being used to abuse the Service."},"sandbox":{"h":"4. Sandbox Tier & API Key Access","c1":"4.1 The 7-day Sandbox evaluation (counted from account creation) provides access to all API endpoints with reduced rate limits, daily request quotas, and identifier masking on intelligence endpoints. Sandbox access is intended exclusively for {evaluation} and is available for {period}. After that period API access on a Sandbox key ends and every request returns an \"Evaluation period ended\" response until a paid plan is selected.","c1Evaluation":"evaluation","c1Period":"7 days from account creation","c2":"4.2 Sandbox usage is subject to limits including but not limited to: daily request caps, per-minute rate limits, WebSocket connection limits, WebSocket session duration caps, and bulk-check limits. These limits may be adjusted at any time without notice.","c3":"4.3 {strong} \"Production use\" includes, but is not limited to: any deployment that powers a live customer-facing product or website, any internal commercial workload, any paid or monetised service, any agency / scouting / lead-generation pipeline, any automated bot or integration that runs on a schedule outside developer-test sessions, any application running on shared infrastructure, and any application accessed by users other than yourself. Multi-accounting, rotating Sandbox keys, IP-cycling to bypass the daily cap, or aggregating multiple Sandbox keys into a single workload all qualify as production use.","c3Strong":"Production use of the Sandbox tier is forbidden.","c4":"4.4 {strong} TikTools monitors Sandbox-tier usage to make sure it stays within evaluation use. When we determine that a Sandbox key is being used in production or to serve end users, we may {ban}. We are not obligated to disclose how a determination was made. If you require production access, subscribe to Basic, Pro, Ultra, or Global Agency before going live.","c4Strong":"Detection & enforcement.","c4Ban":"permanently ban the account and every associated key without warning and without refund","c5":"4.5 If you require higher limits for production applications, you must subscribe to a paid tier. Using multiple Sandbox accounts to build a production application is itself a production-use violation per 4.3.","c6":"4.6 TikTools reserves the right to modify, restrict, or remove Sandbox tier access at any time without notice."},"payment":{"h":"5. Payment and Refunds","c1":"5.1 Beyond the Sandbox limits, you may be required to enter a valid payment method to access premium features or higher usage limits.","c2":"5.2 Subscriptions are billed in advance on a recurring basis (weekly, monthly, or yearly). You may cancel at any time, and your subscription will continue until the end of the current billing period.","c3":"5.3 {strong} The 7-day Sandbox evaluation exists so you can verify the product before paying. We do not issue refunds for buyer's remorse, accidental purchase, testing or scraping use, change of plan, or any \"no-questions-asked\" scenario - the moment a paid key is activated it consumes real-time data and WebSocket bandwidth we have already paid for.","c3Strong":"Paid plans are non-refundable.","c4":"5.4 {strong} - sustained outage attributable to our infrastructure, a duplicate charge, or a billing error. Credit covers the affected billing period only and is at our sole discretion. To request review, email support with your account email, key label, and the dates the issue occurred.","c4Strong":"Partial refunds are issued only when a service is provably broken on our side","c5":"5.5 {strong} for the remaining period of your subscription. TikTools will make reasonable efforts to restore service but cannot guarantee any timeline or outcome.","c5Strong":"If TikTok blocks or restricts access to its platform, causing the Service to become temporarily or permanently unavailable, you are not entitled to a refund","c3Policy":"5.3 API and agency plans are non-refundable, except as described in 5.4. Reading hours are refundable under section 16 (Refunds).","c4Policy":"5.4 If a service is provably broken on our side (a sustained outage attributable to our infrastructure), or there is a duplicate charge or a billing error, we may issue a credit. Credit covers the affected billing period only and is at our sole discretion. To request review, email support with your account email, key label, and the dates the issue occurred.","c5Policy":"5.5 If TikTok blocks or restricts access to its platform, causing the Service to become temporarily or permanently unavailable, this does not give a right to a refund beyond section 16 (Refunds). TikTools will make reasonable efforts to restore service but cannot guarantee any timeline or outcome."},"cancellation":{"h":"6. Cancellation and Termination","c1":"6.1 You are solely responsible for properly canceling your account. An email or phone request to cancel an account is not considered cancellation. You can cancel your subscription at any time through the billing portal in your dashboard.","c2":"6.2 If you delete your account, all content and data associated with that account will be immediately deleted from the Service. This information cannot be recovered once deleted.","c3":"6.3 TikTools, in its sole discretion, has the right to suspend or terminate any account at any time, for any reason or no reason, including but not limited to suspected abuse, violation of these terms, or at the request of law enforcement.","c4":"6.4 TikTools reserves the right to refuse service to anyone for any reason at any time."},"copyright":{"h":"7. Copyright and Content Ownership","c1":"7.1 We claim no intellectual property rights over the material you provide to the Service. Your materials remain yours.","c2":"7.2 You shall defend TikTools against any claim, demand, suit, or proceeding made or brought against TikTools alleging that your content, or your use of the Service, infringes or misappropriates the intellectual property rights of a third party or violates applicable laws.","c3":"7.3 You shall indemnify TikTools for any damages finally awarded against, and for reasonable attorney's fees incurred by, TikTools in connection with any such claim."},"privacy":{"h":"8. Privacy","c1":"8.1 We collect information used solely to provide and improve the Service, including but not limited to email addresses, IP addresses, usage metrics, and anti-abuse data.","c2":"8.2 We will not sell any personally identifiable information to third parties for profit.","c3":"8.3 We may disclose personally identifiable information under special circumstances, such as to comply with subpoenas or other legal process.","c4":"8.4 Cookies are required to use certain features of the Service, including authentication and anti-abuse detection.","c5":"8.5 For more details, please see our {link}.","c5Link":"Privacy Policy","c6":"8.6 {strong} The Service reproduces publicly available TikTok data, including TikTok's own public LIVE ranking boards. We are not the origin of that data and publish nothing about a creator that TikTok has not already made public.","c6Strong":"Public ranking data.","c7":"8.7 We do not de-list or suppress individual creators from public ranking data on request. A creator who does not wish to appear in public rankings should cease appearing on TikTok's public boards at the source, via their TikTok account and TikTok's LIVE ranking settings; they will then stop appearing here.","c8":"8.8 Clauses 8.6 and 8.7 concern public ranking data only. They do not affect data you provide to us as an account holder, which you may delete, and they do not limit rights you may have under applicable law or any obligation we have to act on a verified legal request."},"warranties":{"h":"9. Disclaimer of Warranties","c1":"9.1 {strong} The Service is provided on an \"as is\" and \"as available\" basis, without warranties of any kind, either express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, or non-infringement.","c1Strong":"You use the Service at your own risk.","c2":"9.2 TikTools does not guarantee the accuracy, completeness, reliability, or availability of any data provided through the Service.","c3":"9.3 TikTools is not responsible for any actions taken by TikTok that may affect the availability of this Service, including but not limited to API changes, endpoint suppression, rate limiting, IP bans, or platform policy changes.","c4":"9.4 {strong} The Service may be interrupted, degraded, or discontinued at any time due to factors including but not limited to: TikTok platform changes, infrastructure issues, maintenance, or business decisions.","c4Strong":"TikTools makes no guarantee that the Service will be available at any particular time or for any particular duration.","c5":"9.5 You acknowledge that the Service depends on a third-party integration with TikTok's platform and that this integration may fail, break, or become permanently unavailable without any fault on the part of TikTools."},"liability":{"h":"10. Limitation of Liability","c1":"10.1 {strong}, including without limitation, loss of profits, data, use, goodwill, business opportunities, revenue, or other intangible losses resulting from:","c1Strong":"In no event shall TikTools, its operators, directors, employees, or affiliates be liable for any indirect, incidental, special, consequential, or punitive damages","c1a":"(a) Your use of or inability to use the Service;","c1b":"(b) TikTok blocking, restricting, or modifying access to its platform;","c1c":"(c) Unauthorized access to your data or API keys;","c1d":"(d) Any bugs, errors, or inaccuracies in the Service;","c1e":"(e) Service interruptions, downtime, or discontinuation;","c1f":"(f) Any third-party conduct or content accessed through the Service.","c2":"10.2 TikTools's total aggregate liability for all claims shall not exceed the lesser of: (a) the amount you paid to TikTools in the three (3) months preceding the claim, or (b) one hundred US dollars ($100).","c3":"10.3 {strong}","c3Strong":"You expressly waive any claim for damages arising from the interruption, modification, or discontinuation of the Service due to TikTok platform changes or any other reason beyond TikTools's control."},"rateLimits":{"h":"11. Rate Limiting & Fair Use","c1":"11.1 Rate limits and daily request quotas are subject to change at any time, without notice. Exceeding rate limits may result in temporary or permanent suspension of your account or API key.","c2":"11.2 Premium tier subscribers receive higher rate limits, priority routing, and dedicated support. These benefits are subject to fair use and may be adjusted if we determine that usage patterns are abusive or adversely affecting other users.","c3":"11.3 Figures published on our pricing page, documentation, guides and marketing pages are indicative of the plan at the time of writing and are not a contractual guarantee of a specific throughput. Limits are tuned continuously in response to capacity, upstream platform behaviour and abuse, so a published figure may differ from the limit in force at any given moment.","c4":"11.4 The limits actually applied to your key are authoritative and are visible to you: your account dashboard shows your current plan, daily quota and usage, and {endpoint} returns the live per-minute, concurrent-WebSocket and bulk-check values for the key you call it with. Where a published figure and the value applied to your key disagree, the applied value governs. If a limit in force is materially lower than the plan you purchased and it is affecting your usage, contact support and we will correct it or adjust your plan.","c5":"11.5 {strong} Your subscription grants a limited, non-exclusive, non-transferable licence to access the API and use the data it returns for your own internal business operations - for example, monitoring the regions, creators, and boards you actively work with. The licence is to {use} the data in your operations, not to acquire, copy, or accumulate the dataset itself.","c5Strong":"Permitted use and data licence.","c5Use":"use","c6":"11.6 {strong} The aggregate ranking, leaderboard, league, gifter, and related datasets are the core product. You may not use the API, in whole or in part, to systematically extract, harvest, scrape, mirror, or reconstruct the dataset across regions or over time beyond your own operational use. No plan entitles you to a bulk feed of every region or the entire dataset at once; any technique intended to obtain the whole dataset - including spreading requests across every region, cycling keys or accounts, or aggregating multiple keys into a single extraction workload - is prohibited regardless of tier.","c6Strong":"No bulk extraction or scraping.","c7":"11.7 {strong} You may not resell, sublicense, republish, redistribute, or otherwise make the data (or any substantial or derived part of it) available to any third party, nor use it to build, populate, or train a competing dataset or service, without our prior written permission. The rate and daily limits exist in part to enforce these boundaries; circumventing them, or using access for wholesale extraction or redistribution rather than your own operational use, is a violation of these Terms and may result in suspension or termination without refund.","c7Strong":"No redistribution or resale."},"indemnification":{"h":"12. Indemnification","c1":"12.1 You agree to indemnify and hold harmless TikTools and its operators from any claims, damages, obligations, losses, liabilities, costs, and expenses (including attorney's fees) arising from: (a) your use of the Service; (b) your violation of these Terms; (c) your violation of any third-party right, including any intellectual property right; or (d) any claim that your use of the Service caused damage to a third party."},"discordBot":{"h":"13. Discord Bot Usage","intro":"If you invite the TikTools Discord Bot to your server, the following additional terms apply:","c1":"13.1 {strong} By using the bot, you agree to strictly comply with Discord's Terms of Service and Community Guidelines.","c1Strong":"Platform Compliance:","c2":"13.2 {strong} By configuring the bot to send alerts to a specific channel, you confirm that you have the necessary server permissions to do so. You are responsible for ensuring that the channel's notification volume complies with your server's rules.","c2Strong":"Administrator Liability:","c3":"13.3 {strong} Exploiting the bot's slash commands, attempting to bypass command cooldowns, or using the bot to intentionally flood Discord channels with excessive messages will result in your Discord Server ID being permanently blacklisted from using the bot, and may result in the termination of your linked TikTools API account.","c3Strong":"Abuse & Spam:","c4":"13.4 {strong} TikTools is an independent integration and is not affiliated with Discord Inc. We assume no liability for any moderation actions taken against your server or Discord account by Discord.","c4Strong":"Liability Disclaimer:"},"youtube":{"h":"14. YouTube API Services","c1":"14.1 TikTools uses YouTube API Services to publish and maintain our own tutorial videos on our own YouTube channel. Where our Service interacts with YouTube, the {terms} also apply, and information handled by Google is governed by the {privacy}.","c1Terms":"YouTube Terms of Service","c1Privacy":"Google Privacy Policy","c2":"14.2 No customer data is sent to YouTube and no customer authenticates with YouTube through the Service. See our {link} for what is stored and how access is revoked.","c2Link":"Privacy Policy"},"general":{"h":"15. General Conditions","c1":"15.1 You agree not to reproduce, duplicate, modify, sell, or resell the Service without express written permission from TikTools.","c2":"15.2 Do not tamper with or attempt unauthorized access to the Service, or falsely imply that you are associated with TikTools or any of its services.","c3":"15.3 These Terms are governed by the laws of the State of Delaware, United States, and shall be construed in accordance with them, without regard to its conflict of law provisions.","c4":"15.4 The failure of TikTools to enforce any right or provision of these Terms will not be deemed a waiver of such right or provision.","c5":"15.5 Questions about these Terms of Service should be sent to {email}.","c6":"15.6 The Service is provided by B4Battle LLC, 131 Continental Drive, Newark, DE 19713, United States (email: {email}, telephone: +1 610 552 3035). References to \"TikTools\" in these Terms mean B4Battle LLC."},"refunds":{"h":"16. Refunds for reading hours","c1":"Refunds. You can ask for one refund per account. When you ask, your access ends straight away: any remaining reading hours are removed and automatic top-ups are switched off. We then refund the unused part of what you paid, worked out from the price you paid for those hours, minus the payment processor's fees for that payment. Hours you have already used are not refunded. An account can receive one refund only; any further refund request is declined. Refunds go back to the original payment method and can take 5 to 10 business days to appear. This does not limit any rights you have under the law that applies to you.","c2":"If translations differ, the English version applies.","c0":"This section applies to reading hours bought on tik.tools. API and agency plans are covered by section 5."}},"privacy":{"seo":{"title":"Privacy Policy - Zero Tracking, No Data Selling","description":"TikTool never sells your data. Zero ad trackers. API keys encrypted with scrypt. TikTok LIVE stream data is relayed in real-time only - nothing stored. Read our full privacy commitment.","ogDescription":"No ad trackers. No data selling. Encrypted API keys. TikTok LIVE data relayed in real-time only - never stored. Full transparency.","ogImageTitle":"Privacy Policy","ogImageSubtitle":"Zero tracking and no data selling."},"title":"Privacy Policy","intro":"By using this website and the TikTools API (\"The Service\"), you are agreeing to be bound by the following privacy policy (\"Privacy Policy\"). {strong} TikTools takes your privacy seriously. This policy explains how your personal information is collected and used.","introStrong":"IF YOU DO NOT AGREE WITH THE TERMS OF THIS PRIVACY POLICY, YOU MUST NOT ACCEPT AND MAY NOT USE THE SERVICE.","routine":{"h":"1. Collection of Routine Information","p1":"The Service tracks basic information about its users. This information includes, but is not limited to, IP addresses, browser details, timestamps, and referring pages. None of this information can personally identify a specific user of the Service. The information is tracked for routine administration and maintenance purposes."},"account":{"h":"2. Account Information","p1":"When you create an account, we collect information such as your email address, name, and authentication credentials (password hash or Google OAuth token). This information is used solely to provide, maintain, and improve the Service.","p2":"We will not sell any personally identifiable information to third parties for profit.","p3":"We may disclose personally identifiable information under special circumstances, such as to comply with subpoenas, court orders, or other legal process."},"antiAbuse":{"h":"3. Anti-Abuse Data Collection","intro":"To prevent abuse and enforce our {link}, we collect and process the following data:","introLink":"Terms of Service","ipLabel":"IP Address at Signup:","ip":"{label} Your IP address is recorded when you create an account. This is used to detect multiple account creation from the same device or network.","emailLabel":"Email Normalization:","email":"{label} We normalize email addresses to detect duplicate accounts created with variations of the same address.","flagsLabel":"Account Flags:","flags":"{label} If our system detects potential multi-account abuse, we create an internal record linking the flagged account to other accounts from the same IP address or normalized email. This data includes the flag type, related account IDs, IP address, and timestamp.","fingerprintLabel":"Device Fingerprinting Cookies:","fingerprint":"{label} We may set cookies to identify browsers that have been associated with multiple account creation. These cookies are used solely for abuse detection and are not used for advertising or tracking purposes.","competitorLabel":"Competitor & Repeat-Abuse Detection:","competitor":"{label} The data described in this section is also used to identify accounts operated by or affiliated with competing services and to recognize a previously banned party returning under a new account. Where such an association is detected, the account may be suspended or permanently banned in accordance with our Terms of Service.","paidExempt":"Accounts with active paid subscriptions are exempt from multi-account warnings, as multiple legitimate accounts are expected in business contexts."},"cookies":{"h":"4. Cookies","p1":"Where necessary, the Service uses cookies to store information about a visitor's preferences and history in order to better serve the user and/or present the user with customized content. Cookies are required to use certain features of the Service.","p2":"We use the following types of cookies:","authLabel":"Authentication cookies:","auth":"{label} Required to maintain your login session.","antiAbuseLabel":"Anti-abuse cookies:","antiAbuse":"{label} Used to detect and warn about potential multi-account creation. These cookies may persist for up to 30 days.","preferenceLabel":"Preference cookies:","preference":"{label} Used to remember your settings and preferences."},"apiUsage":{"h":"5. API Usage Data","p1":"We collect usage metrics related to your API calls, including request counts, endpoints accessed, response times, and error rates. This data is used to monitor service health, enforce rate limits, and improve the Service.","p2":"The real-time event stream we relay to your connection is not kept as a separate copy for your account. Separately, tik.tools runs its own collection of publicly visible TikTok LIVE activity (such as rankings, gifts, chat and live status) and keeps it, together with creator and gifter statistics derived from it, to power our boards, history and analytics.","p3":"The ranking, leaderboard, league, gifter, and related data returned through the API is provided under a limited licence for your own operational use, as set out in our Terms of Service. It may not be bulk-extracted, scraped, mirrored, redistributed, resold, or used to build a competing dataset. Our rate and daily limits exist in part to enforce this boundary."},"thirdParties":{"h":"6. Third Parties","p1":"Third-party services may use cookies, scripts, and/or web beacons to track user activities on the Service. Such tracking is done directly by the third parties through their own servers and is subject to their own privacy policies. The Service has no access or control over these cookies, scripts, and/or web beacons.","p2":"We use {stripe} and {paypal} for payment processing. When you pay for a plan, your payment information is handled directly by the processor you choose and is subject to {link} or {paypalLink}. We do not store your card details.","p2Link":"Stripe's Privacy Policy","p2PaypalLink":"PayPal's Privacy Statement"},"links":{"h":"7. Links to Third-Party Websites","p1":"We have included links on this website for your use and reference. We are not responsible for the privacy policies on these websites. You should be aware that the privacy policies of these websites may differ from our own."},"tiktokData":{"h":"8. TikTok Data & Third-Party API Disclaimer","p1":"TikTools is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance Ltd.","p2":"TikTools provides a {strong} for accessing publicly available TikTok LIVE broadcast data. TikTok does not offer a native, public API for live stream data. Our Service processes publicly accessible broadcast telemetry to deliver structured event data.","p2Strong":"managed third-party API","p3":"Any TikTok data accessed through the Service is publicly available data from TikTok LIVE streams. We do not access, collect, or store private TikTok account information.","p4":"{strong} When this occurs, we update our systems to restore access where possible, but we cannot guarantee uninterrupted service. The availability of TikTok data through our Service depends entirely on TikTok's platform policies and technical infrastructure, which are outside our control.","p4Strong":"TikTok may suppress, modify, or block access to its endpoints at any time without notice.","p5":"{strong} Our leaderboards, rankings and related pages reflect information TikTok itself publishes publicly, including TikTok's own public LIVE ranking boards. We are not the origin of that information, and we do not reveal anything about a creator that TikTok has not already made public. A creator appears on our boards as a consequence of appearing on TikTok's.","p5Strong":"Creator ranking data.","p6":"For that reason, {strong} Removing an entry here would not remove it from TikTok, would not make the underlying information any less public, and would leave our boards showing a misleading version of what TikTok publishes. A creator who does not wish to appear in public rankings should change that at the source, through their TikTok account and TikTok's own LIVE ranking settings. Once a creator no longer appears on TikTok's public boards, they stop appearing on ours.","p6Strong":"we do not de-list or suppress individual creators from public ranking data on request.","p7":"This is separate from your own account data. If you hold a tik.tools account, the information you gave us is covered by the Data Retention section below and you may delete it. It also does not displace obligations we have under applicable law: where we receive a verified request that the law requires us to act on, we act on it."},"security":{"h":"9. Data Security","p1":"The internet is a complex system. Your content is transmitted, stored, and manipulated using third-party networks and devices that TikTools has no control over. We make a reasonable effort to keep your data private and secure to the best of our abilities, but we cannot guarantee absolute security.","p2":"API keys are stored securely and transmitted only over encrypted connections. Password hashes use strong cryptographic algorithms (scrypt with random salts)."},"retention":{"h":"10. Data Retention","p1":"We retain your account information for as long as your account is active. If you delete your account, all associated personally identifiable information will be removed from our systems within 30 days.","p2":"Aggregated, anonymized usage data may be retained indefinitely for analytical and improvement purposes.","p3":"Anti-abuse flags and related records may be retained for up to 12 months after account deletion to prevent repeat abuse."},"changes":{"h":"11. Changes to This Policy","p1":"We reserve the right to modify this privacy policy at any time. Changes will be effective immediately upon posting to this page. Your continued use of the Service after any changes constitutes acceptance of the revised policy."},"discordBot":{"h":"12. Discord Bot Data and Privacy","intro":"If you choose to use the TikTools Discord Bot on your server, the following additional privacy terms apply in compliance with Discord's Developer Terms:","collectedLabel":"Data Collected:","collected":"{label} The bot collects and stores only the data strictly necessary for its operation. This includes your Discord Server ID (Guild ID), Channel IDs (where alerts are routed), and the User IDs of administrators who execute slash commands to configure the bot.","messageLabel":"Message Content:","message":"{label} To enable our seamless cross-server matchmaking feature, the bot processes message content ephemerally within designated channels to detect battle acceptances. This data is processed purely in-memory for real-time contextual matching and is instantly discarded. We DO NOT log, store, or export human message content, direct messages, or conversational data to any database, nor do we use it to train AI models.","usageLabel":"Data Usage:","usage":"{label} The collected Discord IDs are used solely to route your requested TikTok LIVE telemetry (e.g., gifts, chat, battles) to the correct Discord channels.","retentionLabel":"Data Retention & Deletion:","retention":"{label} If you kick or remove the TikTools bot from your Discord server, the automated alert configurations associated with your Server ID are orphaned and automatically purged from our active routing database. You may also request immediate manual deletion of your server's data at any time by contacting us."},"youtube":{"h":"13. YouTube API Services","p1":"TikTools uses {strong} for one purpose only: to publish our own tutorial videos to our own YouTube channel and to maintain their titles, descriptions, thumbnails, captions and playlists.","p1Strong":"YouTube API Services","p2":"We do not access, collect, store or process data belonging to any other YouTube channel, video or user, and no TikTools customer authenticates with YouTube through our Service. The only account involved is our own, authorised once by the channel owner.","p3":"By using the YouTube-connected parts of our Service you agree to the {terms}. Information handled by Google in connection with these services is governed by the {privacy}.","p3Terms":"YouTube Terms of Service","p3Privacy":"Google Privacy Policy","storeLabel":"What we store:","store":"{label} an OAuth refresh token for our own YouTube channel, plus the video IDs and listing metadata of videos we have published. Nothing else is retrieved from the YouTube API.","revocationLabel":"Retention and revocation:","revocation":"{label} the refresh token is held on our own servers with restricted access and is deleted when the integration is disabled. Authorisation can be revoked at any time at {link}, which immediately and permanently ends our access. Stored video IDs and listing metadata are deleted within 30 days of a revocation request.","revocationLink":"Google security settings"},"gdpr":{"h":"14. Data Controller and Your Rights","controllerLabel":"Who is responsible for your data:","controller":"{label} TikTools is operated by B4Battle LLC, 131 Continental Drive, Newark, DE 19713, United States. B4Battle LLC is the controller of the personal data described in this policy. For any privacy request, contact {email}.","purposesLabel":"Why we process your data:","purposeContract":"To provide the service you signed up for: your account, API keys, plan and usage limits (performance of a contract).","purposePayment":"To take payment and keep the records the law requires (legal obligation).","purposeSecurity":"To protect the service against abuse, fraud and multiple free accounts (legitimate interest in keeping the service secure and fair).","purposeSupport":"To answer your support messages (performance of a contract, or legitimate interest when you are not a customer).","rightsLabel":"Your rights:","rightsIntro":"{label} If you are in the European Economic Area, the United Kingdom or Switzerland, you have the right to:","rightAccess":"access the personal data we hold about you and get a copy of it;","rightRectify":"have inaccurate data corrected;","rightErase":"have your data deleted, unless we must keep it by law (for example payment records);","rightRestrict":"restrict or object to processing based on our legitimate interest;","rightPortability":"receive your data in a portable, machine-readable format;","rightWithdraw":"withdraw consent at any time where processing is based on consent.","exercise":"To use any of these rights, email {email} from the address on your account. We answer within one month.","complaint":"You can also complain to the data protection authority where you live or work.","transfersLabel":"International transfers:","transfers":"{label} We are based in the United States and process data there. Where the law requires it, transfers from the EEA, UK or Switzerland rely on the European Commission's Standard Contractual Clauses or an equivalent safeguard."},"contact":{"h":"15. Contact Us","p1":"For any questions or concerns regarding this privacy policy, please contact us at {email}."},"extension":{"h":"Agency Chrome extension","p1":"The eligibility extension comes with Agency plans. When you click Connect, it sends us the Backstage session of that browser (its Backstage cookies, which include the sign-in session, and the request tokens Backstage uses) together with your Backstage agency ID. For each creator it checks, it sends the handle, TikTok user ID, nickname, profile picture and the result Backstage returned, along with the region and list you chose. With the optional account-switching setting on, it also sends the sign-in email of the Backstage account in use. We never receive your TikTok password: a password saved for account switching stays in that browser's extension storage.","p2":"We use the Backstage session and agency ID only so that results are filed under the Backstage agency they came from and never under another agency. Our servers do not use the session to make requests to TikTok: the checks run in your browser. We use the check results to show each creator's status on your roster, boards and rankings, to remove checked names from your team's queue, and to apply your plan's check limits and the hourly pacing per Backstage account.","p3":"The Backstage session, agency ID and account-switching email are kept for up to 24 hours and then deleted automatically. Each Connect starts a new 24-hour period. Check results are kept while your account is active so your roster and boards stay current, and you can ask us to delete them at any time.","p4":"The session cookies and tokens are linked to your tik.tools account and are not shown to anyone, including your team. Check results are visible only to your agency account and its team members. We do not sell this data or share it with other customers.","p5":"The {link} page explains how the extension works inside Backstage.","p5Link":"Trust"}},"changelog":{"seo":{"title":"Changelog - TikTool","description":"TikTool platform changelog - all updates and fixes."},"title":"Platform {accent}","titleAccent":"Changelog","subtitle":"All updates, fixes and improvements to the TikTool platform.","loading":"Loading...","empty":"No entries yet."},"updates":{"seo":{"title":"Updates - tik.tools","description":"Customer-only platform updates."},"customerBadge":"(Customer Area)","title":"Platform {accent}","titleAccent":"Updates","subtitle":"What's new on tik.tools - the full changelog of fixes, performance bumps, and new capabilities.","loading":"Loading updates...","locked":{"title":"Subscriber updates","body":"Real platform updates are reserved for active subscribers. The feed below shows placeholder entries.","cta":"Subscribe to view real updates"},"empty":"No updates yet.","placeholderBadge":"PLACEHOLDER","badges":{"new":"New","fix":"Fix","performance":"Performance","update":"Update","security":"Security","docs":"Docs"}},"captions":{"headings":{"liveCaptions":"Live Captions","captionsGuide":"TikTok LIVE Captions Guide","obsGuide":"Captions on OBS Guide"},"seo":{"description":"Live Captions is no longer offered to new customers. Existing caption customers can keep using it from their Dashboard.","obsDescription":"Live Captions is no longer offered to new customers. Existing caption customers can keep using the caption overlay tools from their Dashboard."},"notice":{"lead":"Live Captions is no longer offered to new customers.","body":"Already using Live Captions? Nothing changes for you. Manage your captions from your Dashboard, and keep adding them to your stream with the caption overlay tools.","openDashboard":"Open Dashboard","overlayTools":"Caption overlay tools","foot":"Building on TikTok LIVE? See the {link}."}}},"agencyDesk":{"pulse":{"title":"Board","regions":"Regions","diamondFilter":{"title":"Filter by monthly diamonds","from":"From","fromAria":"Diamonds from","to":"To","toAria":"Diamonds to"},"hideIneligible":{"title":"Hide creators you marked ineligible","label":"Hide ineligible"},"helpAria":"How this board works","refreshAria":"Refresh board","locked":{"title":"Agency Global unlocks the live regional board","sub":"See everyone across every league, leaderboard, gaming rank and Top 99+ in your chosen regions, deduped with live online status, plus the private Telegram bot."},"capped":"{starter} shows 1 region at a time. Every region at once is part of {global}.","upgrade":"Upgrade","namesUnlocked":"Names unlocked","purpose":{"live":"Everyone across your regions, live first then offline, minus who you have checked. Copy a batch of 30, check them in backstage, then mark them done to pull the next 30.","rising":"Creators climbing back toward the ranked boards. Catch them before another agency does.","recruit":"Fresh creators to check for your region. Done clears one for the whole team, Claim puts your name on them.","gifters":"The whales. Who is spending today, this week, this month - and who just started.","digest":"What changed since you last looked, across every list.","team":"Who owns what: claims with outreach stages, the contacted log, seats and alerts."},"seo":{"title":"Agency Pulse - every creator in your regions, live","description":"The agency live board: everyone across each region's leaderboard, leagues, gaming ranks and Top 99 movers, deduped with live online status. Pick your regions, work one fresh list.","ogDescription":"Pick your regions and get the deduped union of every creator across leaderboards, leagues, gaming and Top 99 movers, with live online status."}},"views":{"live":"Live","rising":"Rising","recruit":"Recruit","gifters":"Gifters","digest":"Digest","team":"Team"},"segmentNav":{"aria":"Board views"},"batchBar":{"checkedThese":"Checked these {count}","next":"next {count}","undo":"Undo"},"copyAll":{"titleOne":"Copy {count} handle, one per line","titleMany":"Copy {count} handles, one per line","copied":"Copied {count}","label":"Copy all"},"deskRail":{"myClaims":"My claims","claimsEmpty":"Nothing claimed yet. Claim on any card puts your name on a creator.","teamNotes":"Team notes","notesEmpty":"No notes yet. Note on any card is shared with every manager.","teammate":"Teammate"},"claimStatus":{"claimed":"claimed","contacted":"contacted","responded":"responded","interested":"interested","signed":"signed","not_interested":"not_interested"},"explainer":{"dismiss":"Dismiss","title":"How your team works this board","lines":{"claim":"Claim a creator or gifter to put your name on them - then move the stage with the big CONTACTED / RESPONDED / INTERESTED buttons. The whole team sees who owns what.","done":"Done (on the recruiting feed) clears a creator from everyone's board - no one double-contacts.","notes":"Notes you add are shared with the whole team.","copyAll":"Copy all puts every visible username on your clipboard, one per line, ready for a bulk check."}},"helpSheet":{"aria":"How this board works","title":"How to work this board","close":"Close","gotIt":"Got it","steps":{"regions":{"title":"Pick your regions","text":"The Regions pill up top drives every tab. Your selection is saved."},"lists":{"title":"Hunt on the four lists","text":"Live = on air right now. Rising = climbing back toward rank. Recruit = fresh creators to check. Gifters = the whales spending."},"intel":{"title":"Tap a name for intel","text":"The card opens instantly with earnings, ranks and gifters. Swipe to step through the list."},"claim":{"title":"Claim who you are working","text":"Claim puts your name on a creator for the whole team, then the big CONTACTED / RESPONDED / INTERESTED buttons track where the outreach is. Nobody double-contacts a claimed name."},"notes":{"title":"Notes are shared","text":"Note on any card = one team note per creator. Every manager sees it."},"copy":{"title":"Copy for bulk checks","text":"Copy grabs one handle; Copy all grabs the whole visible list, one per line, ready to paste into a bulk eligibility check."},"clear":{"title":"Clear what is handled","text":"Done (on Recruit) removes a creator for the WHOLE team. The small x hides a card just for YOU."},"team":{"title":"Team is the registry","text":"Every claim grouped per manager with its stage, the contacted log, seats and alert hookups live there."}}},"claimSheet":{"aria":"Claim on {'@'}{handle}","claimedByYou":"Claimed by you","claimedBy":"Claimed by {name}","notClaimed":"Not claimed","close":"Close","hintMine":"Where is this outreach right now? Your team sees the stage instantly.","hintOther":"Outreach stage - only the claiming manager can move it.","roster":{"added":"On your roster","adding":"Adding...","add":"Add to roster","error":"Could not add to the roster. Try again in a moment.","full":"Your roster is full. Remove a creator first."},"done":"Done","release":"Release claim","stages":{"contacted":"CONTACTED","responded":"RESPONDED","interested":"INTERESTED","signed":"SIGNED","not_interested":"NOT INTERESTED"}},"lockedAccess":"Agency access required","card":{"locked":"Locked","new":"NEW","monthlyDiamonds":"Monthly diamonds: {band}","mark":{"eligible":"Eligible","premiumTitle":"Invitable only through a premium invite slot","premium":"Premium eligible","ineligible":"Ineligible","checked":"Checked"},"claimedBy":"Claimed by {name}","eligibility":"Eligibility","markEligible":"Mark eligible","markIneligible":"Mark ineligible","copied":"Copied","copyHandle":"Copy {'@'}{handle}","copy":"Copy","editNote":"Edit team note","addNote":"Add team note","note":"Note","markedDone":"Marked done","markDone":"Mark done - clears this creator from the whole team's feed","done":"Done","claimThis":"Claim this creator","claimed":"Claimed","claim":"Claim","hide":"Hide from my board","liveStat":"LIVE","active":{"today":"active today","oneDay":"active 1d ago","days":"active {days}d ago","oneMonth":"active 1mo ago","months":"active {months}mo ago"}},"noteSheet":{"title":"Note on {'@'}{handle}","close":"Close","placeholder":"Add a note for your team - a warm intro, a rate, a reminder...","lastEditedBy":"Last edited by {name}","cancel":"Cancel","save":"Save"},"regionSheet":{"aria":"Choose your regions","title":"Your regions","sub":"{count} active - tap to toggle, saved automatically","close":"Close","done":"Done"},"live":{"progress":"{online} live - {total} to check in {regions}","copyThese":"Copy these","loading":"Loading your board...","empty":{"title":"All caught up in your regions","sub":"You have worked through every creator here. New names drop in on their own - this board watches live and refreshes every few seconds. Checked names cycle back in 30 days."},"undoLast":"Undo last batch","regionsCount":"{count} regions"},"rising":{"empty":{"title":"No creators on the rise right now","sub":"Nobody in your selected regions has climbed back toward re-entry this cycle. New risers appear here as ranks shift."},"peak":"Peak #{rank}","backInReach":"back in reach: {amount}","liveNow":"live now"},"recruit":{"regionAria":"Recruiting region","progress":"{remaining} remaining of {total}","empty":{"title":"All caught up in this region","sub":"You have worked through every candidate ranked here right now. Checked names cycle back in 30 days, or switch regions above."},"points":"{score} pts"},"gifters":{"listAria":"Gifter list","rising":"Rising","top":"Top","periodAria":"Time period","regionTitle":"Region: {region}","loading":"Loading gifters...","upgradeFeature":"Gifter intel","emptyRising":"No new whales this period. When a gifter spikes above their usual, they surface here.","emptyTop":"No gifter activity for this region yet. It fills in as gifts land on LIVE.","period":{"daily":"Today","weekly":"Week","monthly":"Month"},"global":"Global","diamonds":"{amount} diamonds","creatorsGiftedOne":"{count} creator gifted","creatorsGiftedMany":"{count} creators gifted"},"digest":{"caption":"Your digest updates live here. Telegram and Discord delivery arrives several times a day.","seeAll":"See all in {view}","empty":"Nothing new to catch up on yet. As creators go live and whales start spending, your digest fills in here.","offline":"Offline","sections":{"since":"Since you last looked","earlier":"Earlier today","live":"Live right now","gifters":"New gifters today"}},"team":{"claimed":{"title":"Claimed","lede":"Creators and gifters a teammate has put their name on, with the outreach stage. Everyone sees who owns what.","empty":"No creators claimed yet. Tap Claim on a creator to put your name on them."},"contacted":{"title":"Contacted","lede":"Names your team marks Done leave everyone's board - no double contacting.","empty":"Nothing contacted yet. Marking a creator Done logs them here for the whole team."},"members":{"title":"Team members","member":"Member","inviteLink":"Invite link","awaiting":"Awaiting acceptance","pending":"Pending","empty":"Just you so far. Invite a manager or scout to share the board."},"invite":{"placeholder":"teammate{'@'}email.com","manager":"Manager","scout":"Scout","sending":"Sending...","send":"Invite","sent":"Invite sent.","error":"Could not send that invite. Check the email and try again."},"alerts":{"title":"Alert delivery","lede":"Get new-creator alerts where your team already works.","connected":"Connected","tapToConnect":"Tap to connect"},"seats":"{used} of {cap} seats","roles":{"owner":"owner","manager":"manager","scout":"scout"},"claimStatusLabel":{"claimed":"Claimed","contacted":"Contacted","responded":"Responded","interested":"Interested","signed":"Signed","not_interested":"Not interested"}},"unlockCard":{"paymentReceived":"Payment received","unlocking":"Unlocking names...","namesShortly":"Names appear shortly.","confirming":"Confirming access.","title":"Unlock names","billingAria":"Billing window","weekly":"Weekly","perWeek":"/wk","monthly":"Monthly","perMonth":"/mo","buy":"Buy access","note":"Instant unlock. Cancel anytime.","more":"See full agency features"},"discord":{"aria":"Connect Discord","close":"Close","eyebrow":"CONNECT DISCORD","title":"Get your ranks in {brand}","sub":"Three steps and your agency rank feeds post straight into your server.","step1":{"title":"Add the bot","desc":"Open the invite, pick your server, and authorize. You need to be a server admin.","cta":"Add the bot to Discord"},"step2":{"title":"Link your key","desc":"In your server run {command} and paste this key when the bot asks. It stays private - the bot never shows it in the channel."},"keyCopied":"Key copied","copyKey":"Copy key","copied":"Copied","copy":"Copy","step3":{"title":"See your ranks","desc":"Run {command} to start the rank feeds, then use the buttons to pull creators, gaming and 99+ movers on demand."},"noKey":"No API key found on your account yet.","keyLoadError":"Could not load your API key - try again in a moment.","loadingKey":"Loading your key...","copyFailed":"Copy failed - select the key and copy it manually."},"telegram":{"aria":"Connect Telegram","close":"Close","eyebrow":"CONNECT TELEGRAM","title":"Get live alerts in {brand}","sub":"Scan the QR or tap the link - one device per link.","qrAria":"Telegram QR code","qrCaption":"Scan with phone camera or Telegram app","linkActive":"Link active for {seconds}s","open":"Open in Telegram","copied":"Copied","copyLink":"Copy link","hintPc":"On {device}: tap Open in Telegram.","pc":"PC","hintPhone":"On {device}: scan the QR.","phone":"phone","generating":"Generating...","generate":"Generate new link","mintError":"Could not generate your link - try again in a moment.","copyFailed":"Copy failed - select the link and copy it manually."},"eligible":{"hero":{"title":"Find {accent} to Recruit","titleAccent":"New Creators","sub":"New creators found on leaderboards and leagues, earning now across every active region. Copy the handles, check eligibility yourself with the Chrome extension or a bulk paste in your backstage, and mark the results."},"preview":{"statLive":"creators live right now","statRegions":"regions covered","statEarned":"earned across today's boards","title":"Who is earning right now, region by region","sub":"Every row below is a real creator on today's board. Agency access reveals the handles, adds the monthly-diamond band, and lets you mark who you have already checked.","liveCount":"{count} live","seeBoard":"See the {region} board","unlock":"Unlock the handles with Agency","login":"Already a member? Log in"},"gate":{"title":"An Agency plan unlocks the recruiting board","sub":"Check creators with the extension or by hand in your backstage, mark the results, and work one clean per-region board of candidates.","cta":"Unlock with Agency"},"mode":{"aria":"Check mode","auto":"Auto check","manual":"Manual check"},"regionAria":"Region","noRegions":"No regions yet","starterNote":"{starter} works one region at a time. Every region at once is part of {global}.","upgrade":"Upgrade","counts":{"eligible":"{count} marked eligible","premium":"{count} premium","ineligible":"{count} ineligible","checked":"{count} checked"},"hideIneligible":"Hide ineligible","copyEligible":"Copy marked eligible","manual":{"title":"Creators to check","hint":"{region} - copy the batch, run them through the backstage eligibility check, then mark each result.","loading":"Loading ranked creators...","emptyTitle":"All caught up in {region}","emptySub":"You have worked through every ranked creator here. Checked names cycle back in 30 days, or switch regions above."},"checked":{"title":"Checked creators","loading":"Loading your board...","allIneligibleTitle":"Every creator you checked here is marked ineligible","allIneligibleSub":"Turn off {toggle} to see them, or switch regions.","emptyTitle":"No creators checked yet in this region","emptyAuto":"Install the extension above to check automatically.","emptyManual":"Copy a batch from the left and mark the results to fill this board."},"auto":{"title":"Automatic checking","sub":"Install the extension, connect a burner backstage account per region, and it works the ranked lists for you - every result lands on this board as your own eligibility mark.","cta":"Get the extension"},"candidates":{"title":"Recruitment candidates","sub":"Lower divisions in {region} - live creators first.","note":"Language is detected from the creator's live chat. It indicates the market they broadcast to, not a verified account country.","loading":"Loading candidates...","empty":"No lower-division creators on the {region} board right now."},"seen":"seen {date}","thisRegion":"this region","rateLimit":"TikTok allows about 600 checks per hour. Please wait {minutes}m {seconds}s.","seo":{"title":"Find New TikTok Creators to Recruit · Check Eligibility Yourself","description":"New TikTok creators found on leaderboards and leagues: who is earning now, in every region, ranked by who is climbing. Copy the handles, check eligibility with the Chrome extension or a bulk paste in your backstage, and mark what you checked.","ogDescription":"New creators found on leaderboards and leagues across every active region. Copy the handles, check eligibility in your backstage."},"og":{"title":"New TikTok LIVE Creators to Recruit","subtitle":"A per-region board of creators to check and recruit.","badge":"AGENCY"}}},"compare":{"ui":{"getTestKey":"Get a 7-day evaluation key","seePricing":"See pricing","swipeHint":"Swipe the table sideways to see every column","whoBuilds":"Who builds tik.tools","breadcrumbAria":"Breadcrumb","breadcrumbHome":"Home","breadcrumbCompare":"Compare","vsTitle":"tik.tools vs {name}","ogBadge":"COMPARE"},"hub":{"title":"How tik.tools compares","intro":"Factual comparisons with other TikTok LIVE data and agency tools, built from each vendor's own published prices and features. Every page is dated and links its sources; tik.tools prices and limits on these pages are read live from our plans.","listHeading":"Comparisons","checked":"Checked {date}","migrateNote":"Moving off an open-source TikTok LIVE connector library instead? See {link}.","migrateLink":"the one-step migration","glanceHeading":"At a glance","columns":{"vendor":"Vendor","entryPrice":"Entry price","realtime":"Realtime LIVE events","webhooks":"Signed webhooks","mcp":"MCP server"},"glanceNote":"Summary of the detail pages; each row links to the full comparison and its sources.","codeAndPackages":"Code and packages: {github}, {npm}, {pypi}.","seo":{"title":"Compare tik.tools with {toktik}, {rng} and {tikleap}","description":"Dated, sourced comparisons of tik.tools with {toktik}, {rngFull} and {tikleap}: published prices, realtime events, webhooks, MCP, SDKs and agency recruiting tools.","ogSubtitle":"Dated, sourced comparisons with {toktik}, {rng} and {tikleap}."},"jsonLd":{"listName":"tik.tools comparisons"}},"detail":{"notFound":"Comparison not found","checked":"{name} figures checked on {date} from its public pages. tik.tools figures are live.","factsHeading":"Side by side","topic":"Topic","plansAria":"Plans and prices","ourPlans":"tik.tools plans","theirPlans":"{name} plans","ourPlansNote":"Current prices and every limit: {link}.","ourPlansNoteLink":"pricing","chooseAria":"Which one fits","chooseUs":"Choose tik.tools if","chooseThem":"Choose {name} if","sourcesHeading":"Sources","ourPricing":"tik.tools pricing","ourDocs":"tik.tools API docs","correction":"Vendors change prices. If a figure here is out of date, tell us through {help} and we will correct it. Other comparisons: {all}.","correctionHelp":"help","correctionAll":"all comparisons","seo":{"title":"tik.tools vs {displayName}: prices and features compared","description":"{name} and tik.tools side by side: published prices, realtime events, webhooks, MCP, SDKs and agency tools. {name} figures checked {date}."}},"migrate":{"hero":{"badge":"Migration guide","title":"Switch from TikTok-Live-Connector in {accent}","titleAccent":"a few lines","desc":"Already using {pkg}? Switch to the managed TikTool API by changing the import and the constructor. Your event handlers stay as they are."},"steps":{"install":"Install the SDK","import":"Change the import","key":"Pass your TikTools API key to the constructor","keyNote":"Get a 7-day evaluation key at {link} - no credit card required."},"done":{"strong":"That's it.","text":"{strong} Handlers for these events work as before: {events}. The table below lists the events that have a different name."},"example":{"title":"Full Working Example","desc":"The same handlers as a {old} script. Only the import and the constructor change for {new}."},"compat":{"title":"Event name map","desc":"TikTok-Live-Connector event names and the matching names in the TikTools Node SDK, checked against the source of both packages.","columns":{"event":"TTLC event","status":"TikTools event","notes":"Notes"},"notes":{"identical":"Same name","alias":"Listen for {event} instead","newIn":"New in {version} - supported","rawData":"Fires with full raw event payload","wsOpen":"Fires on WS open","viaSocial":"Arrives as {event} with action {action}"}},"why":{"title":"Why Switch to the Managed API?","items":{"neverBreaks":{"title":"Protocol changes handled for you","desc":"When TikTok changes its protocol, TikTools ships the fix on the service side or in an SDK update. The live status page shows any incident."},"fasterDelivery":{"title":"Events as JSON","desc":"Events arrive decoded, with no protobuf work on your end."},"zeroDeps":{"title":"One small dependency","desc":"The Node SDK depends only on the ws package. No protobuf library and no request signing in your code."},"autoReconnect":{"title":"Automatic reconnect","desc":"Built-in reconnection with exponential backoff when the connection drops."},"dashboard":{"title":"Usage Dashboard","desc":"Monitor your API usage, WebSocket connections, and event volume in real-time at tik.tools/dashboard."},"support":{"title":"Developer Support","desc":"Get help via Discord, email, or the in-app support chat."}}},"faq":{"title":"Common Questions","items":{"types":{"q":"Will my TypeScript types still work?","a":"Yes. {pkg} ships TypeScript definitions for every event payload, including {chat}, {gift} and {roomUser}."},"options":{"q":"What about TTLC options like sessionId, processInitialData and requestPollingIntervalMs?","a":"The constructor takes one options object with {uniqueId} and {apiKey}, plus optional settings such as {autoReconnect} and {debug}. TTLC options such as {processInitialData} and {requestPollingIntervalMs} have no equivalent and can be removed."},"apiKey":{"q":"TTLC sometimes works without an API key. Do I need one for TikTool?","a":"Yes - a {signApiKey} is required. A Sandbox key for a 7-day evaluation takes 30 seconds to get at {loginLink} with no credit card. Sandbox includes 5,000 API calls/day and 3 concurrent WebSocket connections, which is enough for development and testing; after 7 days a paid plan is required."},"protocol":{"q":"What actually happens when TikTok updates their protocol?","a":"TikTok changes its signature scheme and message formats from time to time. With an open-source connector you wait for a library release and then upgrade. With TikTools the change is handled on the service side or in an SDK release, and the live status page shows any incident."}}},"bonus":{"title":"Also included with TikTools","items":{"liveFeed":{"title":"Live Feed Discovery","desc":"See which creators are live on TikTok right now."},"pythonSdk":{"title":"Python SDK","desc":"Python SDK: pip install tiktok-live-api. The same event names, in Python."}}},"cta":{"title":"Ready to Migrate?","desc":"Get a 7-day evaluation key - no credit card needed. The Sandbox tier includes 5,000 requests/day and 3 concurrent WebSocket connections for 7 days, development and evaluation only.","getKey":"Get a 7-day evaluation key","docs":"Read the Docs"},"seo":{"title":"Migrate from TikTok-Live-Connector to the TikTool API","description":"Switch from tiktok-live-connector to the managed TikTool API by changing the import and the constructor. Event name map and a full working example.","ogTitle":"Migrate from TikTok-Live-Connector","ogDescription":"Change the import and the constructor, keep your event handlers. Event name map included.","ogImageTitle":"Migrate to TikTool in one step","ogImageSubtitle":"Managed alternative to TikTok-Live-Connector. Change the import and the constructor.","ogBadge":"MIGRATE"},"guideLink":"Side-by-side Node and Python code, the full event name map and fixes for common connector errors: {guide} and {troubleshooting}.","guideLinkLabel":"the step-by-step migration guide","troubleshootingLinkLabel":"the troubleshooting guides"},"vendors":{"eulerstream":{"tagline":"TikTok LIVE API with a free tier, a $50/month Business plan and paid add-ons","summary":"{name} sells a TikTok LIVE API: a WebSocket that forwards TikTok LIVE events as binary protobuf, REST routes for live status, room info, rankings, gifts and agencies, a signing API, TikTok LIVE Alerts sent to your HTTP endpoint, and a hosted MCP server in public beta. {name} is a trademark of its owner; tik.tools is not affiliated with it.","plansNote":"Add-ons listed on every plan, with prices not shown on the pricing page: Premium Webcast Routes, Priority API Requests, Enterprise Server Access, TikTok LIVE Signature Access, TikTok CAPTCHA Routes and TikTok Dataset Catalog Routes. The pricing slider also shows 50,000 to 200,000 requests/day steps; their prices were not stated in the page text. Its terms say plan rate limits may change without notice.","plans":{"community":{"price":"$0, no card","detail":"2,500 requests/day, 25 cloud WebSockets, 5 TikTok LIVE Alerts"},"business":{"price":"$50/month","detail":"10,000 requests/day, 100 cloud WebSockets, 50 TikTok LIVE Alerts; 7-day free trial"},"enterprise":{"price":"Custom quote","detail":"250,000+ requests/day, 1,500+ cloud WebSockets, 1,000+ TikTok LIVE Alerts"}},"facts":{"entry":{"topic":"Entry option","ours":"Sandbox key for a 7-day evaluation, then from {apiBasicWeekly}/week","them":"Community plan at $0 with 2,500 requests/day and 25 cloud WebSockets; Business has a 7-day free trial"},"around10k":{"topic":"Around 10,000 requests a day","ours":"Basic, {apiBasicMonthly}/month: {basicDailyLimit} requests/day, {basicWsLimit} concurrent live streams","them":"Business, $50/month: 10,000 requests/day, 100 cloud WebSockets"},"higherVolumes":{"topic":"Higher volumes","ours":"Self-serve Pro, Ultra and Agency plans with published prices, up to {agencyDailyLimit} requests/day and {agencyWsLimit} concurrent streams","them":"Enterprise at a custom quote for 250,000+ requests/day"},"eventFormat":{"topic":"Live event format","ours":"Decoded JSON events, {eventTypes} documented WebSocket event types","them":"Forwards all TikTok LIVE events as binary protobuf, decoded with its SDK or a community library"},"connectionLifetime":{"topic":"Live connection lifetime","ours":"12 hours on Pro and Agency Starter, 24 hours on Ultra and Agency Global","them":"8 hours, per its WebSocket close codes"},"alerts":{"topic":"Alerts and webhooks","ours":"HMAC-signed on every paid plan: live start and end; peak viewers and high-value gifts on Ultra and Agency; follower milestones and recruit alerts on Agency","them":"TikTok LIVE Alerts sent to your HTTP endpoint: 5, 50 or 1,000+ by plan; the triggering events are not listed on its alert targets page"},"mcp":{"topic":"MCP server for AI assistants","ours":"tiktok-live-mcp on npm, 11 tools, works in Claude, Cursor and VS Code","them":"Hosted MCP endpoint in public beta (\"not yet production-ready\"), 19 tools for moderation and rankings"},"sdks":{"topic":"SDKs","ours":"Node.js/TypeScript and Python","them":"TypeScript, Python, C#, Java and Go, generated from its OpenAPI spec, plus a WebSocket SDK"},"rankings":{"topic":"Rankings","ours":"44 ranking regions with daily, league, gaming and Popular LIVE boards","them":"Leaderboards by country, league and diamonds earned; the number of regions is not stated"},"agencyTools":{"topic":"Agency tools","ours":"Agency plan: creator recruiting feed and a Backstage eligibility checker","them":"Agency Registry search of 100,000+ TikTok LIVE agencies, and agency catalog API routes"}},"chooseThem":{"freePlan":"You want a free plan with no time limit for low volumes.","moreWebsockets":"You need more concurrent WebSockets at around 10,000 requests a day.","otherLanguages":"You build in C#, Java or Go and want an official SDK, or you want the raw protobuf events."},"chooseUs":{"decodedJson":"You want decoded JSON events and signed webhooks without writing a protobuf decoder.","publishedPrices":"You need published self-serve prices above 10,000 requests a day.","agencyTools":"You run an agency and need recruiting and eligibility tools.","rankings":"You need rankings across 44 regions with daily, league, gaming and Popular LIVE boards."},"glance":{"entry":"Free plan; Business $50/month","realtime":"WebSocket, all events as binary protobuf","webhooks":"LIVE Alerts: 5 / 50 / 1,000+ by plan","mcp":"Hosted, public beta"},"sources":{"pricing":"{name} pricing","websocketDocs":"{name} WebSocket docs","eventTypes":"{name} event types","alertTargets":"{name} LIVE alert targets","mcp":"{name} MCP","terms":"{name} terms"}},"toktik":{"tagline":"TikTok LIVE intelligence site and developer API with credit-metered plans","summary":"{name} publishes TikTok LIVE rankings, gifter boards, an agency directory and a recruit pool, and sells a REST and WebSocket developer API. Its plans are monthly, backed by a prepaid credit wallet, with realtime streams billed per room-minute.","plansNote":"Prices are for the Live module. The Lookup Data module adds $5 to $79/month, or $18 to $279/month as a bundle. A cached read costs 1 credit; a fresh fetch from TikTok costs 1,250 credits; realtime streams are billed per room-minute.","plans":{"free":{"price":"$0/month","detail":"5,000 requests/day, cached reads only, masked leaderboards, 7-day history"},"starter":{"price":"$15/month","detail":"15,000 requests/day, top 3 unmasked, 90-day history, CSV export"},"pro":{"price":"$39/month","detail":"100,000 requests/day, leaderboards unmasked, 180-day history, 3 seats"},"scale":{"price":"$99/month","detail":"400,000 requests/day, league rankings unmasked, XLSX export, 12-month history, 5 seats"},"agency":{"price":"$249/month","detail":"1,200,000 requests/day, host roster tools, recruit handles, creator digest, 10 seats; sold through their sales team"}},"facts":{"pricingModel":{"topic":"Pricing model","ours":"Flat weekly or monthly plans with daily request and concurrent-stream caps. Live streams are not billed per minute.","them":"Monthly plans plus a prepaid credit wallet. Fresh fetches from TikTok cost 1,250 credits each and realtime streams are billed per room-minute."},"eventTypes":{"topic":"Realtime event types","ours":"{eventTypes} documented WebSocket event types","them":"15 event types, per its realtime reference"},"connecting":{"topic":"Connecting to a live room","ours":"Connect by username with your API key; up to {proWsLimit} concurrent streams on Pro and {agencyWsLimit} on Agency","them":"Mint a short-lived token, then subscribe to creators over one socket; each subscription reports queued, active or offline"},"webhooks":{"topic":"Webhooks","ours":"HMAC-signed on every paid plan: live start and end; peak viewers and high-value gifts on Ultra and Agency; follower milestones and recruit alerts on Agency","them":"Webhooks and alerts listed on every plan"},"gifterFirehose":{"topic":"Live gifter firehose","ours":"Included on Agency","them":"Listed as coming on Agency"},"mcp":{"topic":"MCP server for AI assistants","ours":"tiktok-live-mcp on npm, 11 tools, works in Claude, Cursor and VS Code","them":"None listed on its pricing or developer pages"},"sdks":{"topic":"SDKs","ours":"Node.js/TypeScript and Python","them":"JavaScript and Python"},"agencyDirectory":{"topic":"Agency directory","ours":"Agencies claim a listing and receive private messages; agency contact details are not republished","them":"Public directory of TikTok LIVE agencies; contact details unlock on the Agency plan"},"eligibility":{"topic":"Creator eligibility","ours":"Agency plan includes a Chrome extension that checks agency eligibility inside your own Backstage","them":"Recruit handles and marks on the Agency plan"},"exports":{"topic":"Exports","ours":"Copy whole boards to the clipboard on Ultra and Agency","them":"CSV from Starter, XLSX from Scale"},"entry":{"topic":"Entry option","ours":"Sandbox key for a 7-day evaluation, then from {apiBasicWeekly}/week","them":"Free tier: 5,000 cached reads/day, masked leaderboards, no card"}},"chooseThem":{"freeTier":"You want a no-cost tier for low-volume cached reads.","exports":"You need CSV or XLSX exports and a stated history depth on lower plans.","creditWallet":"You prefer one monthly credit wallet shared by a web app and an API."},"chooseUs":{"noPerMinute":"You follow many live rooms at once and do not want per-minute billing.","fullEvents":"You need the full range of LIVE events, not a subset.","oneVendor":"You want signed webhooks, an MCP server and SDKs from one vendor.","eligibility":"Your agency checks creator eligibility inside its own Backstage."},"glance":{"entry":"Free tier; paid from $15/month","realtime":"WebSocket, 15 event types, billed per room-minute","webhooks":"Listed on every plan","mcp":"None listed"},"sources":{"pricing":"{name} pricing","realtime":"{name} realtime reference","developerApi":"{name} developer API"}},"rngrow":{"tagline":"Per-country recruiting leads for TikTok LIVE agencies, with AI outreach add-ons","summary":"{displayName} sells per-country Radar access to TikTok LIVE creators it has checked as free to join an agency, with diamond earnings data. AI Recruiter and AI Manager are sold on top, and API access comes with each Radar country.","plansNote":"Prices include VAT. Markets listed: Romania, United Kingdom, United States, Germany, Italy, France, Poland, Spain, Australia, MENA and LATAM, with Central Asia listed as coming soon. A 1-day Radar trial for one country is offered once per account, after approval.","plans":{"radar":{"price":"€1,599/month per country","detail":"Recruitable creator leads for one market; first month €799; API access included (60 requests/min, 10,000 requests/day)"},"radarWeekly":{"name":"Radar weekly","price":"€399/week per country","detail":"The same Radar access billed weekly"},"additionalCountry":{"name":"Additional country","price":"€1,199/month each","detail":"A second market added to an existing Radar plan"},"dayPass":{"price":"€49","detail":"24 hours of access to one market"},"aiRecruiter":{"price":"€299 to €1,199/month","detail":"1,500 to 25,000 AI replies; needs an active Radar plan in each country"},"aiManager":{"price":"€299 to €1,199/month","detail":"Creator coaching over WhatsApp, metered on AI replies"}},"facts":{"oneMarket":{"topic":"One market for one month","ours":"{agencyGlobalMonthly}/month covers every region we rank","them":"€1,599/month per country (€799 for the first month)"},"weekly":{"topic":"Weekly option","ours":"{agencyGlobalWeekly}/week, every region","them":"€399/week per country"},"moreMarkets":{"topic":"More markets","ours":"Included","them":"€1,199/month for each additional country"},"findingCreators":{"topic":"Finding creators free to join","ours":"New creators surfacing on regional leaderboards and leagues, ranked by who is climbing; you confirm eligibility yourself","them":"{name} checks creators against agency eligibility and delivers leads to its dashboard"},"eligibility":{"topic":"Eligibility check","ours":"Chrome extension checks eligibility inside your own Backstage, or bulk-paste a list there","them":"Done by {name} before leads are delivered"},"outreach":{"topic":"Outreach","ours":"Not automated; your team contacts creators","them":"AI Recruiter sends openers, replies and invitations from your Backstage, from €299/month on top of Radar"},"api":{"topic":"API on the plan","ours":"{agencyDailyLimit} requests/day, {agencyRateLimit}/min, {agencyWsLimit} concurrent live streams","them":"10,000 requests/day and 60/min per country"},"diamonds":{"topic":"Diamond tracking","ours":"Daily, league, gaming and Popular LIVE boards with diamonds, creator pages and a live gifter firehose","them":"Leads include diamond earnings data; public gifter and league leaderboards"},"realtime":{"topic":"Realtime and alerts","ours":"WebSocket stream ({eventTypes} documented WebSocket event types) and signed webhooks, including recruit alerts","them":"REST API with HOT signals for creators whose gifting is surging; no live-room event stream or webhooks in its API docs"},"devTools":{"topic":"Developer tools","ours":"Node.js and Python SDKs, MCP server","them":"JavaScript SDK ({'@'}rngrow/sdk)"}},"chooseThem":{"checkedLeads":"You recruit in one or two countries and want leads already checked for you.","autoOutreach":"You want outreach sent automatically from your Backstage."},"chooseUs":{"severalRegions":"You recruit in several regions and want one price for all of them.","ownTeam":"Your own team verifies eligibility in your own Backstage and makes contact.","allInOne":"You also need diamond tracking, live alerts, an API, webhooks or an MCP server on the same plan."},"glance":{"entry":"€1,599/month per country (€799 first month)","realtime":"REST API with HOT signals; no live-room event stream listed","webhooks":"None in its API docs","mcp":"None listed"},"sources":{"pricing":"{name} pricing","aiRecruiter":"{name} AI Recruiter","apiDocs":"{name} API docs"}},"tikleap":{"tagline":"Public TikTok LIVE rankings site with a weekly-package REST API","summary":"{name} publishes TikTok LIVE country rankings, leagues, gaming boards and gifter data, and sells REST API access in one-time weekly packages. It also offers a hosted MCP endpoint that uses the same API key.","plansNote":"Packages are one-time 7-day payments, not subscriptions. Unique creator lookups count toward a separate creators/day cap.","plans":{"basic":{"price":"$5/week","detail":"11,000 requests/day, 600 creators/day, current data only, 60 requests/min"},"pro":{"price":"$10/week","detail":"77,000 requests/day, 2,200 creators/day, 30 days of history, 180 requests/min"},"ultra":{"price":"$25/week","detail":"320,000 requests/day, 22,000 creators/day, 60 days of history, 600 requests/min"}},"facts":{"weeklyPrice":{"topic":"Weekly price (Basic / Pro / Ultra)","ours":"{apiBasicWeekly} / {apiProWeekly} / {apiUltraWeekly}","them":"$5 / $10 / $25"},"requestsPerDay":{"topic":"Requests per day","ours":"{basicDailyLimit} / {proDailyLimit} / {ultraDailyLimit}","them":"11,000 / 77,000 / 320,000"},"requestsPerMinute":{"topic":"Requests per minute","ours":"{basicRateLimit} / {proRateLimit} / {ultraRateLimit}","them":"60 / 180 / 600"},"billing":{"topic":"Billing","ours":"Weekly or monthly subscription","them":"One-time 7-day packages"},"realtime":{"topic":"Realtime LIVE events","ours":"WebSocket stream for any live creator, {eventTypes} documented WebSocket event types, {basicWsLimit} to {ultraWsLimit} concurrent streams","them":"REST endpoints only in its API docs (rankings, creators, streams and stream events)"},"webhooks":{"topic":"Webhooks","ours":"HMAC-signed on every paid plan: live start and end; peak viewers and high-value gifts on Ultra and Agency; follower milestones and recruit alerts on Agency","them":"None in its API docs"},"mcp":{"topic":"MCP server","ours":"tiktok-live-mcp, runs locally through npx","them":"Hosted MCP endpoint over HTTP"},"sdks":{"topic":"SDKs","ours":"Node.js/TypeScript and Python","them":"None published on npm or PyPI"},"boards":{"topic":"Boards","ours":"Regional boards on every plan (fully unmasked from Pro); league boards fully unmasked from Ultra; gaming, Popular LIVE and teams boards on Agency","them":"Rankings, leagues, gaming and real-time gifts on every package"},"agencyTools":{"topic":"Agency tools","ours":"Agency plan: recruiting feed, Backstage eligibility checker, gifter firehose","them":"No agency recruiting tools listed"}},"chooseThem":{"restOnly":"You only need ranking and league data over REST at the lowest weekly price.","hostedMcp":"You want a hosted MCP endpoint with nothing to install.","oneTime":"You prefer one-time weekly packages to a subscription."},"chooseUs":{"realtime":"You need realtime events from live rooms (chat, gifts, battles) over WebSocket.","webhooksSdks":"You want signed webhooks and SDKs for Node.js and Python.","agencyTools":"You run an agency and need recruiting and eligibility tools."},"glance":{"entry":"$5/week","realtime":"REST only","webhooks":"None in its API docs","mcp":"Hosted endpoint"},"sources":{"apiPackages":"{name} API packages","apiDocs":"{name} API docs"}}},"ours":{"ownership":"tik.tools is an independent product. It is not a reseller, wrapper or brand of any other TikTok LIVE data vendor, and it is not affiliated with TikTok or ByteDance. tik.tools runs its own data collection and builds and operates its own WebSocket API, HMAC-signed live webhooks, MCP server (tiktok-live-mcp) and SDKs ({'@'}tiktool/live and tiktok-live-api).","glance":{"entry":"From {apiBasicWeekly}/week; Agency {agencyGlobalMonthly}/month, every region","realtime":"WebSocket, {eventTypes} event types","webhooks":"HMAC-signed, every paid plan","mcp":"Yes, tiktok-live-mcp on npm"},"plans":{"basic":{"price":"{apiBasicWeekly}/week or {apiBasicMonthly}/month","detail":"{basicDailyLimit} requests/day, {basicWsLimit} concurrent live streams, signed webhooks"},"pro":{"price":"{apiProWeekly}/week or {apiProMonthly}/month","detail":"{proDailyLimit} requests/day, {proWsLimit} concurrent live streams, regional boards fully unmasked"},"ultra":{"price":"{apiUltraWeekly}/week or {apiUltraMonthly}/month","detail":"{ultraDailyLimit} requests/day, {ultraWsLimit} concurrent live streams, league boards fully unmasked"},"agency":{"price":"{agencyGlobalWeekly}/week or {agencyGlobalMonthly}/month","detail":"Every region we rank, creator recruiting feed, Backstage eligibility checker, gaming and Popular LIVE boards, live gifter firehose, {agencyDailyLimit} requests/day, {agencyWsLimit} concurrent live streams"}}}},"agency":{"seo":{"title":"TikTok LIVE agency tools - scout creators, copy rosters, gifter intel {'|'} tik.tools","description":"Agency Starter and Agency Global for TikTok LIVE agencies: copy-paste rosters, recruit pipeline, team seats, Telegram + Discord scout alerts. Global adds roster health, all-regions scouting, top-gifter intel and Ultra-tier API.","ogImageTitle":"TikTok LIVE Agency Tools","ogImageSubtitle":"Scout creators, copy rosters and read gifter intel.","ogImageBadge":"AGENCY"},"hero":{"kicker":"For TikTok LIVE agencies","openWord":"Open {label}","words":{"creatorScouting":"Creator Scouting","topGifters":"Top Gifters","newCreators":"New Creators","dailyDigest":"Daily Digest","seats":"{count} Seats"},"sub":"Scout creators, copy-paste rosters, top-gifter intel and {seats} manager seats on every plan. Two agency plans: {starterPlan} from {starterPrice}/month, and {globalPlan}.","cta":{"newCreators":"New Creators","manageTeam":"Manage team","getAccess":"Get Agency access","chat":"Chat with us","billing":"Billing","openDashboard":"Open dashboard"},"trust":{"aria":"Agency facts","regions":"{count} regions","seats":"{count} seats included on every plan","api":"Plans from {price}/month"}},"rosterTabs":{"aria":"Agency rosters","tabs":{"creators":"Creators","gifters":"Top Gifters","eligible":"New Creators"},"meta":{"creators":{"title":"Top creators, all regions","cta":"See all creators"},"gifters":{"title":"Top gifters","cta":"See all gifters"},"eligible":{"title":"New creators to scout","cta":"See all new creators"}},"livePill":"{count} live","copyAllAria":{"creators":"Copy all {count} creators","gifters":"Copy all {count} gifters"},"copiedCount":"Copied {count}","copyAllCount":"Copy all {count}","liveNow":"Live now","copyOneAria":"Copy {name}","empty":"Warming up the roster...","unlockMore":{"creators":"more real creators - unlock every name + copy-all","gifters":"more real gifters - unlock every name + copy-all"},"fallbackName":"creator","perThirtyDays":"{amount} / 30d"},"valueModules":{"kicker":"Everything an agency runs on","title":"Two plans. The whole toolkit.","seats":{"tag":"Team","title":"{count} seats on every plan, no extra cost","body":"Your whole management team uses the app on one agency subscription, {starterPlan} or {globalPlan}.","caption":"{count} managers on Starter and on Global"},"api":{"tag":"For your developer","title":"API access included","body":"Both plans include API access for your developer: {starterStreams} live streams at once on {starterPlan}, {globalStreams} on {globalPlan}. You never need code to use the dashboard.","perDay":"{count} requests/day","devLink":"For developers"},"copy":{"tag":"Workflow","title":"Copy-paste rosters","body":"Creators, top gifters, recruit candidates - filled into a tray and copied in one click.","copied":"Copied {count}","copyAll":"Copy all {count}"},"alerts":{"tag":"Alerts","title":"Scout alerts","body":"Telegram + Discord rank feeds drop fresh names straight to your team - copy on sight.","feedHead":"#rank-feed - rising creators","copyAria":"Copy {handle}"},"reveal":{"tag":"Unmask","title":"Masked to real, instantly","body":"Without a plan, names are masked. Agency plans show every real handle to copy.","hintTouch":"Auto-revealed for agencies","hintHover":"Hover to unmask"},"constellation":{"tag":"All included","title":"Global: every feature","body":"{globalPlan}: New Creators, gifter intel, alerts, API access, bulk copy, dashboard, {seats} seats - one price. {starterPlan} covers the dashboard, recruiting and team for less.","satellites":{"talents":"Talents","gifters":"Gifters","alerts":"Alerts","ultraApi":"API access","bulkCopy":"Bulk copy","teamSeats":"Team seats"}}},"pricing":{"seo":{"title":"Agency access for TikTok LIVE agencies - scout, copy rosters, gifter intel {'|'} tik.tools","description":"Agency Starter and Agency Global: copy-paste rosters, recruit pipeline, team seats, Telegram + Discord scout alerts. Global adds roster health, all-regions scouting, top-gifter intel and Ultra-tier API."},"kicker":"Agency plans","title":"Start with the dashboard. Unlock everything with Global.","sub":"{starterPlan} runs your roster, pipeline and team with {seats} seats. {globalPlan} adds roster health, the all-regions recruit feed, every Global-only board, gifter intel and a larger API allowance.","badges":{"monthly":"MONTHLY","weekly":"WEEKLY","save":"save {percent}%"},"perMonth":"/month","perWeek":"/week","billed":{"monthly":"Billed every month","monthlyOnly":"Billed every month - monthly only","weekly":"Billed every week - about {price} a month","monthlyOneCharge":"Billed every month - one charge, not four"},"hooks":{"starter":"The agency dashboard, recruiting and team tools for one region at a time. Included, no credits. Cancel anytime.","weekly":"Full unmasked intel + {seats} seats + alerts + bulk copy + a larger API allowance. Cancel anytime.","monthly":"Same full access, billed monthly for the best effective rate. Cancel anytime."},"globalAdds":"{plan} adds","opening":"Opening...","processing":"Processing...","confirming":"Confirming payment...","preparing":"Preparing secure checkout...","cta":{"onPlanManage":"You're on {plan} - Manage plan","switchInBilling":"Switch to {plan} in Billing","onAgencyManage":"You're on Agency - Manage plan","get":"Get {plan}","upgradeToGlobal":"Upgrade to Global","getAgency":"Get Agency","everyMonth":"{action} - {price} every month","everyWeek":"{action} - {price} every week"},"fine":{"monthly":"Recurring monthly. {link}.","weekly":"Recurring weekly. {link}."},"manageInBilling":"Manage or cancel in Billing","crosslink":"Not an Agency? See Developer Pricing","modal":{"close":"Close","badgeStarterMonthly":"AGENCY STARTER MONTHLY","badgeWeekly":"AGENCY WEEKLY","badgeMonthly":"AGENCY MONTHLY"},"success":{"title":"Access unlocked","body":"Agency intel is live. Head to your dashboard.","cta":"Open dashboard"},"order":{"credit":"Credit for unused time on your current plan","tax":"Tax","creditedNextInvoice":"Credited to your next invoice","chargedToday":"Charged today","totalToday":"Total today","labelWeekly":"{plan} weekly","labelMonthly":"{plan} monthly"},"paypalSwap":{"opening":"Opening PayPal...","continue":"Continue to PayPal","footnote":"Approve the new plan in PayPal. Your current PayPal plan is cancelled once it is approved, so you are never billed twice."},"proration":{"confirmChange":"Confirm change - {amount} today","confirmUpgrade":"Confirm upgrade - {amount} today","footnote":"Charged to your card on file. One subscription, no double-charge - your current plan is credited."},"business":{"label":"Business purchase","companyName":"Company name"},"methods":{"card":"Subscribe with Card","cardSub":"Visa - Mastercard - Amex - Google Pay - Apple Pay","once":"Pay once - no auto-renewal","onceSub":"Alipay - WeChat - Crypto - Card - iDEAL - Pix - OXXO","paypal":"Subscribe with PayPal","paypalSub":"PayPal balance - linked card - opens in popup","footnote":"Secured by Stripe and PayPal - cancel anytime from your Agency Billing page"},"back":"Back","oneTimeTag":"one-time","pay":"Pay {amount}","chooseAnother":"Choose another method","errors":{"upgradeFailed":"Upgrade failed. Your plan has not changed.","noApprovalLink":"PayPal did not return an approval link. Try again.","paypalChangeFailed":"Could not start the PayPal change. Your plan has not changed.","initFailed":"Could not initialize payment. Try again.","checkoutFailed":"Checkout failed","paymentFailed":"Payment failed."},"features":{"global":{"realUsernames":"Real usernames + profile URLs (every active region)","copyAll":"Copy any name + copy-all across every board","newCreators":"New Creators finder (full list)","popularLive":"Popular LIVE - real-time top creators per region","gifterIntel":"Top-gifter intel + cross-creator graph","seats":"{seats} manager seats, one price","ultraApi":"API: {dailyRequests} requests a day, {streams} live streams","alerts":"Telegram + Discord scout alerts","bulkCopy":"Bulk copy + agency dashboard"},"starter":{"apiRequests":"API: {dailyRequests} requests a day","wsRooms":"{wsConnections} live streams at once","accountChecks":"{accountChecks} creator lookups a day","boards":"Standard, league and gaming boards unmasked","gifterBoard":"Gifter board unmasked for your region","dashboard":"Agency dashboard: roster, pipeline, per-region recruit, Gifter DB","digest":"Creator digest, scout alerts and team page","seats":"{seats} seats included","backstage":"Backstage eligibility extension ({backstageChecks} checks a day)","noCredits":"Included, no credits to buy"},"globalAdds":{"rosterHealth":"Roster health, health alerts and the roster-health digest","allRegions":"All-regions recruit and eligible-creators feed","shoppingWeekly":"Shopping and weekly boards","gifterFirehose":"Worldwide gifter board, instant gift alerts and top-gifter intel","hotSpikes":"Hot spikes and league dropouts","popularLive":"Popular LIVE, rising and other Global-only boards","unlimitedBackstage":"Unlimited Backstage eligibility checks","ultraPlus":"Larger API: {wsConnections} live streams, {accountChecks} creator lookups a day"}}},"trialModal":{"close":"Close","eyebrow":"GLOBAL AGENCY","next":"Next","back":"Back","step1":{"title":"What's your agency?","sub":"Full Agency Global access. See pricing to choose a plan.","label":"Enter your agency name","placeholder":"e.g. Northstar Talent"},"step2":{"title":"Which region?","sub":"The region your agency scouts and operates in.","label":"Enter your region","placeholder":"e.g. United States, MENA, SEA","activating":"Activating...","activate":"Activate 20 minutes"},"success":{"title":"You're in","sub":"20 minutes of full access unlocked."},"upsell":{"eyebrow":"AGENCY ACCESS","title":"Keep the full access","cta":"See weekly & monthly pass"},"errors":{"generic":"Something went wrong. Please try again.","sessionExpired":"Your session expired. Please sign in again."}},"onboarding":{"aria":"Agency access onboarding","skip":"Skip","back":"Back","next":"Next","finish":"Start exploring","stepOf":"STEP {step} OF {total}","welcome":{"eyebrow":"GLOBAL AGENCY ACTIVE","title":"Welcome to your {accent}","accentTrial":"agency pass","accentAccess":"agency access","subTrial":"Full Agency Global access is live on your account right now - every creator unmasked, every gifter, every rising signing. Your clock has started, so let's get you straight into the data.","subPaid":"Full Agency Global access is live on your account - every creator unmasked, every gifter, every rising signing, across all {count} regions. Let's get you straight into the data.","cta":"Let's go","clockLabel":"ACCESS ENDS IN","clockAria":"Time remaining","clockNote":"Full access until the timer runs out","paidLabel":"FULL ACCESS UNLOCKED","paidNote":"Every region, every creator, unmasked - for your whole team."},"copy":{"title":"Copy any creator, {accent}","accent":"anywhere","sub":"Every {'@'}username across tik.tools is now yours to grab. Open New Creators, a leaderboard, a gifter page - one tap copies the handle straight into your backstage workflow. No masks, no placeholders.","live":"LIVE","copied":"copied","copy":"copy"},"rising":{"title":"See who is {accent}","accent":"rising","sub":"Discover upcoming talent before anyone else - plus full access to top gifters, per-game gaming ranks, and every creator who hit a region Top 99+ today but is not live right now. The signings hiding behind the cutoff.","cutoff":"TIKTOK CUTOFF","peak":"peak #{rank}","features":{"rising":{"label":"Rising creators","desc":"Velocity over volume - hot streaks the moment they begin."},"gifters":{"label":"Top gifters","desc":"The real whales behind every creator, unmasked."},"gaming":{"label":"Gaming ranks","desc":"Per-region, per-game ladders across every title."}}},"team":{"title":"Put your team to work {accent}","accent":"all day","sub":"Pipe the same scouting feeds straight into Discord and Telegram so your managers get copy-paste rosters wherever they work.","installDiscord":"Install Discord bot","opening":"Opening...","telegram":"Get Telegram access","commandsHead":"Three steps in your server","emptyHint":"Tap {button} to open the invite, then the three setup commands appear here.","steps":{"add":{"cmd":"Add the bot","desc":"Pick your server in the invite tab that just opened, then authorize."},"setup":{"desc":"Link your tik.tools API key so the bot answers with your agency data."},"rank":{"desc":"Look up any creator - then add /watch and /roster for your team."}},"tgError":"Could not generate a personal link - the public bot link above still works."}},"creatorDigest":{"seo":{"title":"Creator Digest - new TikTok creators to recruit, emailed {'|'} tik.tools","description":"Get the new TikTok LIVE creators found on leaderboards and leagues in your regions by email: copy-paste usernames plus a CSV sheet, every {hours} hours to weekly, across {count} regions. Only creators whose best month in the last {months} months stayed under {cap} diamonds; you check eligibility.","name":"Creator Digest","ogImageSubtitle":"New creators to recruit in your regions, emailed as usernames + CSV.","ogImageBadge":"AGENCY"},"jsonLd":{"breadcrumbHome":"Home"},"getStarter":"Get {plan} - {price}/month","hero":{"kicker":"Agency exclusive","title":"New creators to recruit in your regions. {highlight}","titleHighlight":"In your inbox.","sub":"The Creator Digest mails you the new creators found on leaderboards and leagues in your regions, as copy-paste usernames plus a CSV sheet, ready for your own eligibility check. Every 6 hours, daily or weekly - you pick.","setup":"Set up your digest","sample":"See a sample email"},"facts":{"aria":"Digest at a glance","regions":"regions to pick from","hoursValue":"{hours}h","cadence":"fastest cadence, up to weekly","sheet":"sheet attached to every email","ceiling":"diamond cap on the best month, last {months} months"},"features":{"kicker":"What you get","title":"New talent to recruit, on a schedule","lede":"Same candidates as the {link} page: creators earning right now whose highest month in the last {months} months stayed under {cap} diamonds, TikTok's invite rule. The digest delivers the names; you check eligibility with the Chrome extension or a bulk paste in your backstage.","ledeLink":"New Creators","items":{"copy":{"title":"Copy-paste usernames","body":"One handle per line, grouped by region. Select, copy, paste into your backstage bulk eligibility check or your outreach sheet. No scraping, no formatting."},"csv":{"title":"A CSV sheet with every email","body":"Username, display name, region and the score that ranked them. Opens in Sheets or Excel; import it into your CRM as is."},"delta":{"title":"New since last digest","body":"Names that were not in your previous email sit at the top. Switch to \"only new names\" and each digest becomes a pure delta."},"cadence":{"title":"Your cadence","body":"Every 6, 12 or 18 hours, daily or weekly. Fast enough to reach a creator on the day they start earning, slow enough to batch on Mondays."},"regions":{"title":"{count} regions","body":"Pick one market or all of them. Each region is its own block in the email and its own column in the sheet."},"ceiling":{"title":"Ceiling filter built in","body":"Only creators whose highest monthly diamonds over the last {months} months are under {cap} make the list - TikTok's invite rule, and the same filter the New Creators page applies. Eligibility itself is yours to check."}}},"sample":{"kicker":"Sample email","title":"What lands in your inbox","lede":"One email per digest. Names arrive one per line so you can paste the block straight into your backstage bulk eligibility check, a spreadsheet or a message. The CSV carries the same names with region, display name and the score that ranked them.","list":{"newFirst":"New since last digest, listed first","fullList":"Full region list underneath (or only the new names, if you prefer)","csv":"CSV sheet attached to every email","recipient":"Sent to your account email, nobody else's"},"aria":"Sample digest email","when":"Every 6 hours","subject":"New creators to check - North America, Brazil - 248 names","greeting":"Hi Maya, here are the new creators found in your regions right now.","newTag":"New since last digest","regionNorthAmerica":"North America","regionBrazil":"Brazil","rows":"{count} rows"},"steps":{"kicker":"Setup","title":"Three steps, about a minute","items":{"open":{"title":"Open your digest settings","body":"Agency accounts find them on this page and inside the scouting board under Team. Flip the toggle on."},"pick":{"title":"Pick regions, cadence and mode","body":"Tap the regions you recruit in, choose how often you want mail, and decide between the full list every time or only the new names."},"save":{"title":"Save","body":"The first digest goes out on the next scheduled run to your account email. Change anything later and the next email picks it up."}}},"settings":{"kicker":"Your digest","title":"Configure it here","lede":"Digests go to your account email. Change regions or cadence any time; the next digest uses the new settings."},"price":{"kicker":"Included with Agency","title":"Part of every Agency plan","lede":"The digest ships with every Agency account, Starter and Global, alongside the agency dashboard, copy-paste rosters, team seats and the Telegram scout bot. No add-on, no per-region fee.","perMonth":"/ month","alt":"or {plan} from {price} a week","note":"Instant unlock. Cancel anytime."},"faq":{"kicker":"FAQ","title":"Questions agencies ask","items":{"eligibility":{"q":"Does the digest check eligibility?","a":"No. The digest finds new creators on leaderboards and leagues and filters out anyone who reached {cap} diamonds or more in any month of the last {months} months, TikTok's invite rule. You check eligibility yourself with the Chrome extension or by pasting the usernames into your backstage bulk check."},"regions":{"q":"How many regions can I subscribe to?","a":"Any number up to all {count}. Each region is a separate block in the email and a separate group in the CSV, so a wide selection stays readable."},"modes":{"q":"What is the difference between the full list and only new names?","a":"Full list sends every candidate in your regions each time, with the new ones marked at the top. Only new names sends just the creators that were not in your previous digest."},"recipient":{"q":"Where does the email go?","a":"To the email on your tik.tools account. The recipient is set from your account, not from the form, so a digest can never be pointed at someone else."},"charge":{"q":"Is the digest an extra charge?","a":"No. It is part of every Agency plan, Starter and Global, together with the agency dashboard, copy-paste rosters, team seats and the Telegram scout bot."}}}},"digestSettings":{"title":"Email digests","lede":"You get the new creators found in each region as copy-paste usernames and a CSV sheet attached, mailed to your account email on the cadence you pick.","regions":{"label":"Regions","count":"{active} active, {picked} picked","loadError":"Regions could not be loaded. Reload the page and try again."},"countryBoards":"Country boards","cadence":{"label":"Cadence","hours":{"6":"Every 6 hours","12":"Every 12 hours","18":"Every 18 hours","24":"Daily","168":"Weekly"},"atSetTimes":"At set times"},"sendAt":{"label":"Send at","hint":"up to {max} times a day, {tz} time"},"timezone":"Timezone","perRegion":{"label":"Different times per region","hint":"optional - regions without their own times go out at the times above","ownTimes":": own times","sameAsAbove":": same as above"},"mode":{"label":"Each email","options":{"full":"Full list every time","new":"Only new names"}},"include":{"label":"Include","creators":"Creators","gifters":"Gifters + their top 3 creators"},"attachment":{"label":"Attachment","hint":"for bulk copy-paste work, one sheet per region is easier to hand to a team","combined":"One combined sheet","split":"One sheet per region, usernames only"},"saving":"Saving...","save":"Save digest settings","feedback":{"pickTime":"Pick at least one send time.","ownTimesOne":", {count} region on its own times","ownTimesMany":", {count} regions on their own times","atTimes":"at {times} ({tz}){ownTimes}","cadence":{"6":"every 6 hours","12":"every 12 hours","18":"every 18 hours","24":"daily","168":"weekly"},"saved":"Saved - {when} to your account email.","savedOff":"Saved - digests off.","saveFailed":"Could not save. Check a region is selected."}},"recruit":{"seo":{"title":"Recruit creators by earning band - tik.tools","description":"Agency creator recruiting search. Shortlist creators by average monthly diamond band across regions."},"badge":"Agency Feature","title":"Recruit by {highlight}","titleHighlight":"earning band","sub":"Shortlist creators by their average monthly diamonds. Results are banded ranges built to guide recruiting, not to export our dataset.","upsell":{"title":"Creator recruiting search is Agency-only","body":"Upgrade to filter creators by monthly earning band across every region.","unlock":"Unlock with Agency","login":"Log in"},"filters":{"region":"Region","allRegions":"All regions","avgMonth":"Avg / month","searching":"Searching...","search":"Search"},"table":{"creator":"Creator","active":"Active","liveDays":"Live days","months":"{count} mo","days":"{count}d","foot":"Showing up to 50 - figures are banded ranges, not exact totals."},"empty":"No creators match this band and region.","notices":{"dailyCap":"Daily search limit reached. Resets in 24 hours.","rate":"Too many searches - slow down a moment and try again.","allRegions":"{starterPlan} searches one region at a time. Pick a region, or upgrade to {globalPlan} to search every region at once.","planRequired":"Agency plan required.","unavailable":"Search is temporarily unavailable. Try again shortly."}},"watchedGifters":{"nav":"Watched gifters","intro":"Add the gifters you care about by {'@'}username or TikTok profile link. We follow the creators they support and follow, so more of their gifts get recorded.","disclosureTitle":"Coverage is partial","disclosure":"Coverage is not 100%: we record a gifter's gifts in the LIVE rooms we're connected to. We automatically follow the creators this gifter supports and follows to catch more, but gifts in rooms we're not in can be missed.","inputLabel":"TikTok username or profile link","inputPlaceholder":"{'@'}username or tiktok.com/{'@'}username","add":"Add gifter","adding":"Adding...","counter":"{count} of {limit} watched gifters","added":"Now watching {'@'}{handle}.","alreadyWatching":"{'@'}{handle} is already on your list.","removed":"Stopped watching {'@'}{handle}.","empty":"No watched gifters yet. Add one above to start recording their gifts.","loadError":"Could not load your watched gifters.","retry":"Retry","remove":"Remove","removeConfirm":"Stop watching {'@'}{handle}? Their recorded gifts stay in our data, but we stop expanding coverage around them.","showGifts":"Show gifts","hideGifts":"Hide gifts","lastGift":"Last gift","lastGiftLine":"{gift} to {'@'}{creator}","noGiftsYet":"No gifts recorded yet","totalDiamonds":"Recorded diamonds","gifts":"Gifts","creators":"Creators gifted","diamondsShort":"{count} diamonds","coverage":{"full":"Following {total} creators for this gifter: {gifted} they gifted, {follows} they follow, {seen} rooms they were seen in. {live} live now, {recording} recording.","private":"Following {total} creators for this gifter: {gifted} they gifted, {seen} rooms they were seen in. {live} live now, {recording} recording. Their following list is private on TikTok, so only gift history and room sightings are used.","notChecked":"Following {total} creators for this gifter: {gifted} they gifted, {seen} rooms they were seen in. {live} live now, {recording} recording. Their following list has not been checked yet.","starting":"Coverage expansion starting, check back in a few minutes.","updated":"Updated {ago}"},"panel":{"giftsTitle":"Recorded gifts","creatorsTitle":"Creators gifted","time":"Time","creator":"Creator","gift":"Gift","diamonds":"Diamonds","creatorSummary":"{diamonds} diamonds in {gifts} gifts","noFeed":"No gifts recorded for this gifter yet.","loading":"Loading gifts...","loadMore":"Load more"},"alerts":{"title":"Gift alert","label":"Alert me when this gifter sends a gift of at least","unit":"coins","save":"Save","saving":"Saving...","turnOff":"Turn off","on":"Alert on: gifts of {coins} coins or more.","off":"No alert set for this gifter.","saved":"Alert saved.","turnedOff":"Alert turned off.","unavailable":"Alert settings could not be loaded right now.","delivery":"Alerts arrive through your account's webhooks subscribed to gifter.watched_gift, or your agency Telegram seats.","webhooksLink":"Manage webhooks","errors":{"range":"Enter a whole number of coins from {min} to {max}.","failed":"Could not save the alert. Your alert list may be full, or please retry in a moment."}},"errors":{"invalid":"Enter a TikTok {'@'}username or profile link.","notFound":"We could not find that TikTok account.","limit":"Your plan includes {limit} watched gifters. Remove one to add another.","rate":"Too many changes. Please wait a few minutes and try again.","locked":"Watched gifters are part of the paid Agency plans.","notWatched":"This gifter is no longer on your watched list.","feed":"Could not load this gifter's gifts.","generic":"Something went wrong. Please retry."},"locked":{"title":"Watched gifters are part of the paid Agency plans","body":"Agency Starter includes {starter} watched gifters and Agency Global includes {global}. We expand live coverage around each one so more of their gifts are recorded.","cta":"See Agency plans"}},"compare":{"kicker":"Compare plans","title":"{starterPlan} or {globalPlan}?","sub":"Both plans include the agency dashboard and {seats} seats. The difference is how many regions you recruit in and how much gifter data you see.","colFeature":"What you get","included":"Included","notIncluded":"Not included","rows":{"price":{"label":"Price","starter":"{price} a month","global":"{weekly} a week or {monthly} a month"},"regions":{"label":"Recruiting regions","starter":"One region at a time","global":"All {count} regions at once"},"seats":{"label":"Team seats","value":"{count} seats"},"dashboard":{"label":"Agency dashboard: roster, pipeline, notes, tasks"},"digest":{"label":"Email digest","starter":"New creators","global":"New creators and new gifters"},"alerts":{"label":"Telegram and Discord scout alerts"},"boards":{"label":"Boards with real usernames","starter":"Standard, league and gaming","global":"Every board, including shopping, weekly and Popular LIVE"},"gifters":{"label":"Top gifters","starter":"Gifter board for your region","global":"Worldwide gifter board, instant gift alerts and top-gifter intel"},"health":{"label":"Roster health alerts and Monday summary"},"spikes":{"label":"Hot spikes and league dropouts"},"backstage":{"label":"Backstage eligibility checks","starter":"{count} a day","global":"Unlimited"},"api":{"label":"API for your developer","value":"{requests} requests a day, {streams} live streams, {lookups} creator lookups a day"}}},"morning":{"kicker":"Every morning","title":"What you get each morning","lede":"Pick your regions and when the digest arrives: once a day, every few hours or weekly, at times in your own timezone. New names land in your inbox and team chat, ready to copy. No code, no setup beyond that.","digest":{"title":"Email digest","body":"New creators on your regions' leaderboards and leagues, with 7-day and 30-day estimates, a username block to paste into a bulk check, and the full list as a spreadsheet."},"alerts":{"title":"Scout alerts","body":"Rising creators posted to your Telegram or Discord as they climb, so your team can copy names on sight."},"health":{"title":"Roster health on {plan}","body":"A daily alert when a creator on your roster is at risk, and a Monday summary with totals, top earners and your recruit pipeline."},"note":"We do not check eligibility for you: paste the usernames into the eligibility extension or your Backstage bulk check.","digestAlt":"A real daily digest email for Norway: a table of new creators with 7-day and 30-day estimates and the date each was first seen.","digestCaption":"A real daily digest for one region, cropped. The gifter section is part of {plan}.","dashAlt":"The Recruit panel of the agency dashboard for Canada: new creators found on TikTok leaderboards and leagues, each with a Watch button.","dashCaption":"The Recruit panel of the agency dashboard, cropped. Real public creators from live leaderboard and league data.","videoTitle":"Watch the walkthrough"}},"legalNotice":{"text":"This is a courtesy translation. If it differs from the English version, the English version applies. {link}","link":"Read the English version"},"dashboard":{"meta":{"title":"Dashboard - TikTool Live"},"loading":"Loading dashboard...","common":{"seePricing":"See pricing"},"actions":{"copy":"Copy","copied":"Copied","copiedBang":"Copied!","copyKey":"Copy key","hide":"Hide","show":"Show","hideKey":"Hide key","showKey":"Show key","revealKey":"Reveal key"},"units":{"hours":"{n}h","days":"{n}d","thousands":"{n}k","millions":"{n}M"},"ago":{"seconds":"{n}s ago","minutes":"{n}m ago","hours":"{n}h ago","days":"{n}d ago"},"blocked":{"title":"Account Restricted","logout":"Logout","seePlans":"See plans","contact":"Contact Us","defaultMessage":"Your account has been restricted. Contact support if you believe this is a mistake."},"header":{"title":"Dashboard","billing":"Billing","resetTitle":"All daily limits reset at midnight UTC","resetIn":"Daily limits reset in {time}"},"keyBar":{"unnamed":"Unnamed","live":"{count} live","upgradeKey":"Upgrade Key"},"nudge":{"title":"Run your first request in {seconds} seconds","sub":"This key has not made a request yet. Working file pre-filled with your API key. Pick a language - copy, paste, run.","copyLabel":"Copy first-run code","dismiss":"Dismiss"},"fpWarn":{"title":"Production usage detected on a Sandbox key","foot":"Sandbox keys are for development & evaluation only. Continued production use will trigger an automatic permanent ban (no refund, no warning). {link}.","termsLink":"See Terms §4.3-4.4","upgradeNow":"Upgrade now"},"evaluation":{"endedLabel":"Evaluation ended","endedOn":"Ended {date}","endedHint":"Your Sandbox evaluation is over, so API requests and live sessions on this account are refused. Choose a plan to keep going."},"community":{"label":"Daily Free Sessions Used","reached":"Daily Demo Limit Reached","hint":"Max {duration} per session. Resets at UTC midnight.","upgrade":"Upgrade"},"live":{"title":"Live activity","sub":"Realtime - pushed live from your in-flight traffic","state":{"connecting":"CONNECTING","idle":"LISTENING","active":"LIVE"},"idleTitle":"Listening for live activity","idleBody":"Make your first API call and this panel lights up instantly.","copyLabel":"Copy first-call code","statWs":"WS {window}","statRest":"REST {window}","statErrors":"Errors {window}"},"welcome":{"title":"Your API Key is Ready","subtitle":"A Sandbox-tier key has been provisioned for your account. Store it securely - this is the only time the full key is displayed.","keyLabel":"API Key","copied":"Copied to clipboard","getStarted":"Get Started","docs":"Documentation","starTitle":"Star us on GitHub","star":"Star on GitHub","reqPerDay":"{count} requests / day","wsConnections":"{count} WebSocket connections","upgradeAnytime":"Upgrade anytime"},"empty":{"title":"Welcome to TikTool Live","desc":"Create your first API key to start connecting to TikTok Live streams in real-time.","creating":"Creating...","create":"Create Your First API Key"},"stats":{"todayRequests":"Today's Requests","evalEnded":"Evaluation ended - {link}","seePricing":"see pricing","ofDailyLimit":"of {limit} daily limit","wsToday":"WS Connections Today","wsPerDay":"of {limit} per day, resets midnight UTC","wsNoCap":"no daily cap on this tier","totalRequests":"Total Requests","allTime":"all time","wsConnections":"WebSocket Connections","live":"Live","idle":"Idle","activeConnections":"active connections","subscription":"Subscription","activePlan":"Active - {plan}","monthly":"Monthly","upgrade":"UPGRADE","upgradeTo":"UPGRADE TO {plan}"},"expiry":{"evalEndedUpgrade":"Evaluation ended - upgrade to continue","expired":"Access expired","evalEndsToday":"Evaluation ends today","evalDaysLeft":"Evaluation: {days} days left","expiresToday":"Expires today","daysLeft":"{days} days left"},"badge":{"renewing":"RENEWING","expiring":"EXPIRING","expired":"EXPIRED"},"upgradeNudge":{"title":"You're at {pct}% of today's request quota","reqPerDay":"{value} req/day","webSockets":"{value} WebSockets","unlock":"Unlock {plan}"},"limits":{"title":"Effective Limits","custom":"CUSTOM","override":"OVERRIDE","evalEnded":"Evaluation ended: the API refuses this key, so these limits no longer apply. {link} to continue.","items":{"dailyLimit":"Requests / day","rateLimit":"Requests / min","wsLimit":"WebSocket connections","bulkCheckLimit":"Bulk check IDs","wsDailyLimit":"WS connections / day"}},"key":{"title":"API Key - {label}","titleEditing":"API Key -","rename":"Rename key","meta":{"plan":"Plan","status":"Status","renews":"Renews","cancels":"Cancels","giftExpires":"Gift Expires","expired":"Expired","accessUntil":"Access until","created":"Created"},"regenerateTitle":"Rotate this API key (new value, same limits + same ID)","regenerate":"Regenerate Key","deleteTitle":"Remove this API key from your dashboard","delete":"Delete Key","cancelSubTitle":"Cancel this key's subscription","cancelSub":"Cancel Subscription"},"quickStart":{"title":"Quick Start"},"usage":{"title":"Usage Analytics","metric":{"all":"All","requests":"Requests","errors":"Errors"},"range":{"today":"Today (UTC)","yesterday":"Yesterday (UTC)","lastHours":"Last {n} Hours","days":"{n} Days"},"loading":"Loading usage data...","unit":{"connections":"connections","errors":"errors","requests":"requests"},"series":{"requests":"Requests","ws":"WS","errors":"Errors"},"stats":{"totalRequests":"Total Requests","errorRate":"Error Rate","avgResponse":"Avg Response","uniqueIps":"Unique IPs","wsSessions":"WS Sessions"},"seriesMissing":"The time breakdown for this period is not available right now. Your top endpoints for the period are listed below.","showLastHours":"Show the last {n} hours","empty":"No requests recorded for this period.","methods":"Methods","statusCodes":"Status Codes"},"traffic":{"title":"{window} Traffic","total":"Total","errors":"Errors","empty":"No requests in the last {window}.","hover":"{hour} - {count} req","hoverWithErrors":"{hour} - {count} req, {errors} err"},"topEndpoints":"Top Endpoints","recent":{"title":"Recent API Calls","endpoint":"Endpoint","method":"Method","status":"Status","time":"Time","details":"Details"},"newKey":{"title":"Name Your New API Key","desc":"Give your key a name to identify it in your dashboard.","placeholder":"e.g. Production, Staging, Assistant 2...","continue":"Continue to Plan Selection"},"upgrade":{"keyCreated":"Key Created!","activated":"Subscription Activated!","choosePlanFor":"Choose a Plan for {label}","upgradeYourKey":"Upgrade Your Key","descNewKey":"Select a plan for your new API key","descUpgrade":"Choose a plan to unlock higher limits and premium features","successNewKey":"Your new API key {label} has been created with the {plan} plan. The dashboard will refresh momentarily.","successUpgrade":"Your API key has been upgraded to {plan}. The dashboard will refresh momentarily.","backToDashboard":"Back to Dashboard","cycle":{"weekly":"Weekly","monthly":"Monthly"},"cycleLower":{"weekly":"weekly","monthly":"monthly"},"period":{"wk":"wk","mo":"mo"},"feat":{"reqPerDay":"{value} req/day","ws":"{count} WS","wsFirehose":"{count} WS + Firehose","captionOne":"{count} Caption","captionOther":"{count} Captions","priorityRouting":"Priority routing","proLevelApi":"API: Pro's daily requests, twice the live streams","agencyDashboard":"Agency dashboard","seats":"{count} seats","unmaskedGifter":"Unmasked Gifter API"},"select":"Select","selected":"Selected","discountNamed":"Discount ({name})","discount":"Discount","subtotal":"Subtotal","total":"Total","taxNextStep":"Tax calculated in next step","taxAuto":"Tax calculated automatically if applicable","couponToggle":"Have a coupon code?","couponPlaceholder":"Coupon code","checking":"Checking...","apply":"Apply","remove":"Remove","couponApplied":"Coupon applied!","business":"Business purchase","companyName":"Company name","taxId":"Tax ID / VAT number (optional)","continueToPayment":"Continue to Payment","swapCredit":"Credit for unused time on your current plan","swapLine":"{plan} {cycle}","continueToPaypal":"Continue to PayPal","keepCurrent":"Keep current plan","creditedNext":"Credited to your next invoice","chargedToday":"Charged to your card today","confirmChange":"Confirm plan change","or":"or","compare":"Compare All Features","settingUp":"Setting up payment...","paymentMethod":"Payment method","processing":"Processing...","pay":"Pay {amount}","backToSummary":"Back to summary","secured":"Secured by Stripe. We never store your card details.","errors":{"alreadyOnPlan":"This key is already on that plan.","pricePlanFailed":"Could not price this plan change. Try again.","paypalNoLink":"PayPal did not return an approval link. Try again.","changeFailedRetry":"Could not change the plan. Try again or contact support.","changeFailedUnchanged":"Could not change the plan. Your plan has not changed.","invalidCoupon":"Invalid coupon code","couponValidateFailed":"Could not validate coupon","fixCoupon":"Please fix or remove the invalid coupon before continuing.","stripeNotLoaded":"Payment system not loaded. Please try again.","initFailed":"Payment could not be initialized. Please try again.","createSubFailed":"Failed to create subscription","paymentFailed":"Payment failed"}},"topUp":{"added":"Credits Added!","title":"Top Up Caption Credits","desc":"Select a credit package. {n} credit = {n} min × {n} language.","success":"{credits} have been added to your account. Your dashboard will refresh momentarily.","done":"Done","bestValue":"Best Value","credits":"credits","creditsCount":"{count} credits","ratePerCredit":"{price}/credit","savings":"{percent}% savings","backToPackages":"Back to packages","errors":{"invalidCoupon":"Invalid coupon","createFailed":"Failed to create payment"}},"regenerate":{"title":"Regenerate API Key?","desc":"This will {replace} your current API key with a new one. The old key will {stop}. Your subscription and tier will transfer to the new key.","replace":"replace","stop":"stop working immediately","cancel":"Cancel","loading":"Regenerating...","confirm":"Yes, Regenerate","failed":"Regenerate failed. Try again."},"cancelSub":{"title":"Cancel Subscription?","desc":"This will {cancel} for this key and {revoke}. This action cannot be undone.","cancelStrong":"cancel the Stripe subscription","revokeStrong":"revoke the API key","warning":"{forfeit} when your subscription ends. Caption credits require an active {plan} or higher subscription.","forfeit":"All purchased caption credits will be forfeited","keep":"Keep Subscription","loading":"Cancelling...","confirm":"Yes, Cancel & Revoke"},"deleteKey":{"title":"Delete API Key?","desc":"This removes the key from your dashboard and {deactivate} - it stops working right away. Any active subscription on it is cancelled.","deactivate":"deactivates it immediately","keep":"Keep Key","loading":"Deleting...","confirm":"Yes, Delete Key","failed":"Failed to delete key"},"subStatus":{"active":"Active","paymentFailed":"Payment failed","awaitingPayment":"Awaiting payment","paymentIncomplete":"Payment incomplete","cancelled":"Cancelled","unpaid":"Unpaid","expired":"Expired","free":"Free"}},"account":{"billing":{"seoTitle":"Billing - TikTools","title":"Billing","dashboard":"Dashboard","loading":"Loading billing data...","loadFailed":"Failed to load billing data. {retry}","retry":"Retry","subsTitle":"Subscriptions & Keys","empty":"No active subscriptions or keys.","viewPlans":"View Plans","keyRevoked":"Key revoked","weekendCountdown":"{time} until auto-renew to Weekly {plan} ({date})","labels":{"status":"Status","plan":"Plan","billing":"Billing","amount":"Amount","accessUntil":"Access until","renews":"Renews","ended":"Ended"},"cancelling":"Cancelling","interval":{"year":"Annual","week":"Weekly","month":"Monthly"},"per":{"year":"{amount}/yr","week":"{amount}/wk","month":"{amount}/mo"},"cancelNotice":"Subscription will end on {date}","pausedOn":"Paused - no charges. Billing resumes on {date}.","pausedAuto":"Paused - no charges. Billing resumes automatically.","resumeNow":"Resume now","changePlan":"Change Plan","cancelSubscription":"Cancel Subscription","reactivate":"Reactivate / New Plan","prepaid":"Prepaid","renewStack":"Renew now - days are added on top","appStorePlan":"App Store plan","appStoreManage":"Manage in the App Store","renewNow":"Renew now","sandboxNoSub":"{plan} tier - no subscription","notLinked":"Subscription not linked","upgrade":"Upgrade","getPlan":"Get a Plan","paymentMethod":"Payment Method","noPaymentMethod":"No payment method on file","opening":"Opening...","updatePm":"Update payment method","addPm":"Add payment method","details":{"title":"Invoice Details","intro":"Shown as \"Bill to\" on your invoices. To invoice a company, enter its name, address and VAT number.","name":"Company or full name","address":"Address","address2":"Address line 2","optional":"optional","city":"City","postalCode":"Postal code","state":"State or region","country":"Country","chooseCountry":"Choose a country","taxId":"VAT or tax ID","taxIdUnavailable":"Not available for this country","verification":"Verification: {status}","saving":"Saving...","save":"Save details","saved":"Saved. New invoices will use these details.","saveFailed":"Could not save your invoice details. Please try again."},"nextPayment":"Next Payment","due":"Due {date}","invoiceHistory":"Invoice History","th":{"invoice":"Invoice","date":"Date","amount":"Amount","status":"Status"},"view":"View","downloadPdf":"Download PDF","cancelModal":{"title":"Cancel Subscription?","desc":"Your subscription will remain active until the end of the current billing period. After that, the key will be downgraded to the {plan} tier.","pauseHead":"Need a break instead?","pauseDesc":"Pause for {days} days - keep your key, plan and history. No charges while paused, and billing resumes automatically.","pauseCta":"Pause for {days} days","working":"Working...","keep":"Keep Subscription","cancelling":"Cancelling..."},"paymentModal":{"updateTitle":"Update Payment Method","addTitle":"Add Payment Method","cancel":"Cancel","saving":"Saving...","save":"Save Card"},"errors":{"pauseFailed":"Failed to pause subscription","resumeFailed":"Failed to resume subscription","cancelFailed":"Failed to cancel subscription","portalFailed":"Could not open billing portal. Please contact {email}","notLoaded":"Payment system not loaded","loadFormFailed":"Failed to load payment form","updateFailed":"Failed to update payment method"},"previousKey":"Previous key","unknownPlan":"Unknown","timeLeft":{"renewing":"Renewing now","days":"{d}d {h}h left","hours":"{h}h {m}m left"},"status":{"active":"Active","trialing":"Active","past_due":"Past due","unpaid":"Unpaid","incomplete":"Payment pending","incomplete_expired":"Payment not completed","canceled":"Cancelled","cancelled":"Cancelled","paused":"Paused","suspended":"Suspended","expired":"Expired","approval_pending":"Awaiting approval","approved":"Approved","pending":"Pending","processing":"Processing","failed":"Payment failed","refunded":"Refunded","partially_refunded":"Partially refunded","paid":"Paid","open":"Open","draft":"Draft","void":"Void","uncollectible":"Uncollectible","verified":"Verified","unverified":"Unverified","unavailable":"Unavailable","unknown":"Unknown"}},"vipBilling":{"seoTitle":"PASS Billing - TikTool","title":"PASS Billing","plans":"PASS Plans","apiBilling":"API Billing","empty":"No active PASS subscription.","viewPlans":"View PASS Plans","subscription":"PASS Subscription","membership":"PASS Membership","endsOn":"Subscription ends {date}","managePlan":"Manage Plan","noInvoices":"No PASS invoices yet.","cancelTitle":"Cancel PASS Subscription?","cancelDesc":"Your plan stays active until the end of the billing period. After that, PASS features are removed. No refunds for partial months.","keepPlan":"Keep Plan","cancelFailed":"Cancellation failed. Please try again."},"daypass":{"seoTitle":"{plan} Access - Tik.Tools","eyebrow":"invitation","title":"Your free {pass}","lede":"Full {plan} access - every region leaderboard, league + gaming ranks, gifter intel, and the Discord ranks bot.","giftersDesc":"Top gifters + creator profiles","success":{"title":"You're in.","sub":"Full {plan} access unlocked for {hours} hours. Jump in:","ranksTitle":"Live Ranks","ranksDesc":"Every region, real-time, unmasked","botTitle":"Add the Discord bot","botDesc":"Then type {command} in your server","giftersTitle":"Creators & gifters","foot":"Pass expires in {hours}h. We'll email you a one-tap way to keep going."},"demo":{"unmaskTitle":"Unmasked leaderboards","unmaskDesc":"Every region + league rank, real names","intelTitle":"Gifter intel","discordDesc":"Live boards inside your server"},"activating":"Activating your pass...","activate":"Activate my day pass","google":"Continue with Google to start","fineprint":"Billed monthly or weekly · cancel anytime.","startFailed":"Could not start your pass. Please try again."},"daypassKeep":{"seoTitle":"Continue with {plan} - Tik.Tools","errorTitle":"Something went wrong","retry":"Try again","redirecting":"Taking you to secure checkout...","payWith":"{plan} - pay with Apple Pay, Google Pay, PayPal or card.","planMonthly":"{plan} - {price}/month","planWeekly":"{plan} - {price}/week","notOpened":"Checkout did not open. Please try again.","failed":"Checkout failed. Please try again."},"page":{"seoTitle":"Account - TikTools","avatarAlt":"You","fallbackName":"Your account","loading":"Loading your account...","profile":"Profile","displayName":"Display name","namePlaceholder":"Your name","saving":"Saving...","save":"Save","saved":"Saved","saveFailed":"Could not save","email":"Email","googleSignIn":"Google sign-in","emailPassword":"Email + password","password":"Password","googleNote":"You sign in with Google, so there is no password to change here. Manage it in your Google account.","currentPassword":"Current password","newPassword":"New password","newPasswordPlaceholder":"At least {min} chars, 1 uppercase, 1 number","confirmPassword":"Confirm new password","repeatPassword":"Repeat new password","hintLength":"{min}+ characters","hintUpper":"1 uppercase","hintNumber":"1 number","updating":"Updating...","changePassword":"Change password","pwFine":"We send a confirmation email to {email} whenever your password changes.","planBilling":"Plan & billing","currentPlan":"Current plan","subscription":"Subscription","noSubscription":"No active subscription","manageBilling":"Manage billing","viewPlans":"View plans","signOut":"Sign out","pwMismatch":"New passwords do not match","pwChanged":"Password changed. A confirmation email is on its way.","pwFailed":"Could not change password"},"completeProfile":{"seoTitle":"Complete Profile - TikTool","connected":"TikTok connected","title":"One last step","sub":"Add your email to receive alerts, receipts, and account recovery options.","save":"Save and continue","skip":"Skip for now","invalidEmail":"Enter a valid email address.","saveFailed":"Could not save email. Please try again."},"forgot":{"seoTitle":"Reset your password - tik.tools","title":"Reset your password","subStep1":"We will email you a {digits}-digit code.","subStep2":"Enter the code we emailed you and choose a new password.","sending":"Sending...","sendCode":"Send reset code","codeLabel":"{digits}-digit code","passwordPlaceholder":"At least {min} characters","passwordHint":"At least {min} characters, with one uppercase letter and one number.","saving":"Saving...","setPassword":"Set new password","differentEmail":"Use a different email","back":"Back to sign in","checkEmail":"Check your email.","updated":"Password updated. Redirecting you to sign in...","genericError":"Something went wrong. Try again."},"banned":{"seoTitle":"Account Suspended","title":"BANNED","sub":"Account suspended for API abuse","permanent":"PERMANENT","perma":"PERMA","minutes":"{min} MIN","continue":"Continue"},"claimError":{"seoTitle":"Verification Error","title":"Verification Failed","close":"Close","fallback":"An error occurred during verification. Please try again."},"refundPolicy":{"text":"Reading hour packs: one refund per account. Access ends when you ask, and unused hours are refunded minus payment processor fees. API and agency plans are non-refundable, except for an outage on our side, a duplicate charge or a billing error (Terms 5.4). {link}.","link":"See the Terms"}},"agencyDash":{"sections":{"home":"Dashboard","today":"Today","watchlist":"Watchlist","roster":"Roster","health":"Roster Health","pipeline":"Recruit Pipeline","tracker":"Live Tracker","notes":"Notes","archive":"Archive","battles":"Battle Logs","gifters":"Gifter DB","tasks":"Tasks","teamActivity":"Team Activity","teamTasks":"Team Tasks","team":"Team"},"shell":{"agencyTools":"Agency tools","dashboard":"Dashboard","upgrade":"Upgrade","billing":"Billing","openMenu":"Open agency menu","menu":"Agency menu","closeMenu":"Close agency menu","workspace":"Workspace","account":"Account","seePlans":"See agency plans","backTo":"Back to {brand}","explore":{"newCreators":"New Creators","agencyPulse":"Agency Pulse","rising":"Rising","agencies":"Agencies"}},"wall":{"title":"Agency CRM","body":"Live roster tracking, gifter intel, battle logs and team tools are available on agency plans.","cta":"See agency plans"},"common":{"followers":"{count} followers","live":"LIVE","off":"OFF","offline":"offline","archive":"Archive","openProfile":"Open profile"},"time":{"justNow":"just now","minutesAgo":"{n}m ago","hoursAgo":"{n}h ago","daysAgo":"{n}d ago","secondsShort":"{n}s","minutesShort":"{n}m","hoursShort":"{n}h","daysShort":"{n}d","agoSuffix":"{ago} ago","now":"Now"},"home":{"liveNow":"Live now","watched":"Watched","diamonds24h":"Diamonds · 24h","viewersNow":"Viewers now","viewers":"viewers","last24h":"24h","liveEmpty":"None of your watched creators are live right now. We refresh their status every few seconds.","recruit":"Recruit","recruitSub":"New creators to recruit in {region}, found on leaderboards and leagues. Add one to start watching every time they go live.","recruitLoading":"Loading recruits...","watchButton":"+ Watch","recruitEmpty":"No recruits for {region} yet. Check creators on the {link} to fill this list.","recruitPageLink":"recruit page","watchedOffline":"Watched · offline","offlineEmpty":"No offline watched creators."},"watchlist":{"intro":"Unsigned creators you're scouting - every entry shows the full CRM record: who added them, who reached out, when, eligibility, and the running note. Click any card to open the creator profile + edit the note.","copyAll":"Copy all usernames for backstage","addTarget":"+ Add target","usernamePrompt":"TikTok username (no {'@'}):","daily":"Daily","topGifter":"Top gifter","addedBy":"Added by","added":"Added","status":{"newTarget":"New Target","outreachSent":"Outreach Sent","inTalks":"In Talks","signed":"Signed","cold":"Cold"},"notePlaceholder":"Outreach attempts, owner intel, payout terms, response patterns...","trail":"Full log trail","trailSystem":"system","trailEmpty":"No prior events recorded.","toRoster":"Roster","archiveTitle":"Move to skipped archive","empty":"Watchlist is empty. Use Discover (Tikter) to add creators.","outreachNote":"Outreach happens on your own TikTok backstage or DMs - we never message creators on your behalf."},"roster":{"intro":"Your signed talent. Per-creator notes for internal staff. Transcripts + chat-spy unlock on Global.","cols":{"creator":"Creator","status":"Status","today":"Today (◇)","split":"Split %","lastLive":"Last live"},"remove":"Remove","removeTitle":"Remove from roster","notes":"Notes","removeConfirm":"Remove {handle} from your roster? They stay in your watchlist and can be re-signed anytime.","removeFailed":"Could not remove creator from roster","signFailed":"Could not sign creator"},"notes":{"intro":"Every creator your team has notes on. Click a card to open the full profile and edit.","withNotes":"With notes","allDecisions":"All decisions","empty":"No notes yet. Open any creator profile to add one.","verified":"verified","noNote":"No note yet - click to add","decision":{"yes":"yes","no":"no","maybe":"maybe"}},"archive":{"intro":"Creators you swiped left in Discover. Restore one to re-surface them in the deck.","empty":"No skipped creators yet.","restore":"Restore"},"battles":{"intro":"PK match history. The opponent-whale column shows who to poach next.","cols":{"date":"Date","yourCreator":"Your creator","opponent":"Opponent","result":"Result","margin":"Margin","oppWhale":"Opp. whale"},"win":"WIN","loss":"LOSS"},"gifters":{"intro":"Top spenders across your roster. Click a gifter for cross-donation breakdown.","cols":{"gifter":"Gifter","total":"Total ◇","thisWeek":"This week","creatorsSupported":"Creators supported","alsoFunds":"Also funds (outside)"},"outsideMasked":"+ • outside","outside":"+ {amount}◇ across {count} outside","exclusive":"exclusive to roster"},"tasks":{"intro":"Simple CRM tasks - assign, due-date, mark done. Free with a Google sign-up. The rest of the dashboard upgrades when you subscribe.","placeholder":"New task... e.g. 'DM {'@'}creator about contract terms'","add":"Add","deleteAria":"Delete","empty":"Nothing yet. Add your first task above."},"teamActivity":{"locked":"Team Activity unlocks on Agency plans.","defaultTeamName":"Your Team","membersActiveOne":"{count} member active","membersActiveOther":"{count} members active","all":"All","online":"Online {count}","idle":"Idle {count}","offline":"Offline {count}","searchPlaceholder":"Search name or email...","empty":"No member activity recorded yet. Members appear here once they start using the dashboard.","noMatch":"No members match this filter."},"teamTasks":{"locked":"Team Tasks unlocks on Agency plans.","intro":"Assign work to your team - title, assignee, priority, due date. Drag-free status changes via the per-card dropdown."}},"agencyCrm":{"lockTitle":"Host CRM","lockText":"Today, the CRM roster and host timelines are part of the agency plans.","included":"Included","retry":"Try again","roleNote":"Your role does not include the roster. Ask the agency owner if you need access.","unassigned":"Unassigned","roster":{"pageTitle":"Roster - Agency CRM","title":"Roster","sub":"Every host you manage, with status, health, owner and the next date that matters.","import":"Import","error":"The roster could not be loaded right now.","search":"Search name or handle","filters":"Filters","allStatuses":"All statuses","anyone":"Anyone","clearFilters":"Clear filters","done":"Done","emptyTitle":"No hosts on the roster yet","emptySub":"Import a CSV of handles or sign hosts from the recruit pipeline.","noMatch":"No hosts match these filters.","foot":"Showing {shown} of {total} hosts. Diamonds are observed in the live rooms we track."},"cols":{"host":"Host","status":"Status","health":"Health","diamonds7d":"Diamonds 7d","liveHours7d":"Live 7d","league":"League","assignee":"Assignee","followUp":"Follow-up","contractEnd":"Contract end","commission":"Commission"},"status":{"active":"Active","paused":"Paused","left":"Left"},"bulk":{"aria":"Bulk actions","selected":"{count} selected","assignTo":"Assign to","assign":"Assign","setStatus":"Set status","apply":"Apply","clear":"Clear selection","selectAll":"Select all shown hosts","selectOne":"Select {name}"},"errors":{"notAllowed":"Your role cannot make this change.","save":"That change did not save. Try again.","commissionRange":"Commission must be between 0 and 100."},"import":{"title":"Import hosts","sub":"One host per line. The first column is the handle; optional columns are status, follow-up date and contract end date.","paste":"Paste CSV","placeholder":"username,status,follow_up,contract_end","pickFile":"Or choose a .csv file","assignAll":"Assign all to","noAssign":"Keep current assignee","preview":"{count} rows ready to import","result":"{imported} added, {updated} updated, {skipped} skipped.","rosterFull":"The roster reached your plan's host limit, so some rows were not added.","skipLine":"Line {line}: {reason}","run":"Import","error":"The import did not go through. Check the file and try again.","tooBig":"That file is too large. Split it into smaller files."},"capacity":{"included":"Included, no credits","title":"Plan usage","checksShort":"Checks {used}/{limit}","roomsShort":"Rooms {used}/{limit}","checks":"Account checks today","rooms":"Live rooms in use","resets":"Checks reset {time}","note":"Usage is part of your plan. Nothing is charged per check or per room.","noLimit":"no limit"},"drawer":{"kpis":"Host numbers","diamondsToday":"Diamonds today","diamonds7d":"Diamonds 7d","diamonds30d":"Diamonds 30d","liveHours7d":"Live hours 7d","contractEnd":"Contract end","commission":"Commission","health":"Health","fields":"CRM fields"},"composer":{"title":"Log activity","logContact":"Log contact","addNote":"Add note","channel":"Channel","whatHappened":"What was said","note":"Note","nextFollowUp":"Next follow-up (optional)","saveContact":"Save contact","saveNote":"Save note"},"channel":{"whatsapp":"WhatsApp","telegram":"Telegram","tiktok":"TikTok","discord":"Discord","email":"Email","phone":"Phone","sms":"SMS","in_person":"In person","other":"Other"},"timeline":{"title":"Timeline","error":"The timeline could not be loaded.","empty":"No activity yet. Log the first contact above.","system":"System","contact":"Contact via {channel}","note":"Note","fieldChange":"{field} changed from {from} to {to}","statusChange":"Status changed from {from} to {to}","alert":"Alert","none":"none","formerMember":"a former member"},"field":{"followUp":"Follow-up","contractEnd":"Contract end","assignee":"Assignee","commission":"Commission","snooze":"Snooze","status":"Status","signed":"Signed date"},"today":{"pageTitle":"Today - Agency CRM","title":"Today","sub":"Hosts that need you now: at risk, slipping, due a follow-up or close to the end of a contract.","error":"Today's queue could not be loaded right now.","emptyTitle":"Nothing needs you","openRoster":"Open the roster","reasonsAria":"Why this host is here","snooze":"Snooze","snoozeDay":"1 day","snoozeDays3":"3 days","snoozeWeek":"1 week","open":"Open","nextFollowUp":"Next follow-up: {name} on {date}"},"reason":{"at_risk":"At risk","diamonds_down":"Diamonds down","follow_up_due":"Follow-up due","contract_30":"Contract ends in 30 days","contract_7":"Contract ends in 7 days"},"billing":{"title":"Agency Billing","subActive":"Manage your subscription, payment method, and Telegram seats. Cancel or resume anytime.","subNone":"Pick an Agency plan to unlock the agency dashboard.","loading":"Loading...","empty":{"title":"No active agency plan","body":"{starter} bills monthly. {global} bills weekly or monthly. Pick one to open checkout.","eyebrowMonthly":"{plan} - MONTHLY","eyebrowWeekly":"{plan} - WEEKLY","perMonth":"/month","perWeek":"/week","billedMonthly":"Billed every month","billedMonthlyOnly":"Billed every month - monthly only","billedWeekly":"Billed every week - about {price} a month","billedMonthlyOneCharge":"Billed every month - one charge, not four","ctaMonthly":"Get {plan} - {price} every month","ctaWeekly":"Get {plan} - {price} every week","save":"save {percent}%"},"current":{"eyebrow":"CURRENT PLAN","meta":"{period} · status:","resuming":"Resuming...","resume":"Resume auto-renewal","openingCheckout":"Opening checkout...","renew":"Renew now","canceling":"Canceling...","cancelPlan":"Cancel plan","nextRenewal":"Next renewal","cancelsOn":"Cancels on this date.","nextCharge":"Next charge","payment":"Payment","expires":"Exp {month}/{year}"},"period":{"weekly":"Weekly","monthly":"Monthly","annual":"Annual","fallback":"Agency plan"},"status":{"cancelingAtPeriodEnd":"canceling at period end","unknown":"unknown","active":"active","trialing":"trialing","past_due":"past_due","unpaid":"unpaid","canceled":"canceled","incomplete":"incomplete","incomplete_expired":"incomplete_expired","paused":"paused"},"seatStatus":{"active":"active","inactive":"inactive","revoked":"revoked","pending_invite":"pending_invite"},"cycle":{"weekly":"weekly","monthly":"monthly","annual":"annual"},"cadence":{"weekly":"a week","monthly":"a month","annual":"a year"},"switch":{"upgradeTo":"Upgrade to {plan}","switchTo":"Switch to {plan}","toGlobalBody":"{plan} adds every Global-only surface on top of what you have now. Your unused Starter time is credited.","toStarterBody":"{plan} keeps the agency dashboard, recruiting and team for {price} a month. You lose the Global-only surfaces below; your unused Global time is credited.","billedPaypal":"Billed through PayPal.","billedCard":"Billed through your card on file.","checking":"Checking...","globalWeekly":"Global weekly - {price}/week","globalMonthly":"Global monthly - {price}/month","starterMonthly":"{plan} - {price}/month"},"seats":{"title":"Team Seats","titleWithPrice":"Team Seats - {price} per extra seat","pricePerWeek":"{price}/week","pricePerMonth":"{price}/month","includes":"Your plan includes {seats} ({used} of {cap} in use).","teamSeats":"{count} team seats","billedWeekly":"Each extra seat is billed weekly with your Agency plan. Adding seats charges today only for the rest of the current week.","billedMonthly":"Each extra seat is billed monthly with your Agency plan. Adding seats charges today only for the rest of the current month.","removeNote":"Removing a seat takes effect right away and the unused time is credited to your next invoice.","extraSeats":"extra seats","testMode":"Test mode - seat purchases do not charge a real card.","add":"Add seats","updating":"Updating...","removeOne":"Remove one seat","unassigned":"Unassigned","memberFallback":"member"},"telegram":{"title":"Telegram Radar - Agency Seats","body":"Your {plan} subscription includes {seats}. Scan the QR or tap the link on a phone/PC to connect a device. Free a seat anytime by sending {command} in the bot.","seats":"{count} Telegram seats","linkActive":"Link active for {seconds}s","generating":"Generating...","generate":"Generate Telegram connect link","help":"One link binds one device. Repeat for each employee, up to your seat cap.","qrAria":"Telegram QR code","qrCaption":"Scan with phone camera or Telegram app","open":"Open in Telegram","copied":"Copied","copyLink":"Copy link","hintPc":"On {device}: tap \"{open}\" - it launches the desktop app or web Telegram.","pc":"PC","hintPhone":"On {device}: scan the QR or paste the link in a browser.","phone":"phone","generateNew":"Generate new link"},"modal":{"paypalCredit":"Your current PayPal plan is credited {credit} for unused time.","paypalCreditDays":"Your current PayPal plan is credited {credit} for unused time ({days} days).","newPlan":"The new plan is {price} {cadence}.","newPlanFirstCharge":"The new plan is {price} {cadence}, first charged {date}.","paypalNote":"PayPal opens to approve the new agreement; the old one is cancelled once it is approved.","creditUnused":"Credit for unused time","lineItem":"{plan} {cycle}","tax":"Tax","creditedNext":"Credited to your next invoice","chargedToday":"Charged today","cardNote":"Charged to your card on file. One subscription, no double charge.","keepCurrent":"Keep current plan","switching":"Switching...","continuePaypal":"Continue to PayPal","confirmChange":"Confirm change"},"cancel":{"title":"Cancel your subscription?","body":"You'll keep access until {date}. After that, the agency dashboard, unmasked intel, bulk copy and scout alerts lock back into preview mode.","pick":"Pick how to cancel:","endTitle":"Cancel at period end","endSub":"Recommended. Keep access until {date}.","immediateTitle":"Cancel immediately","immediateSub":"Access ends now. No refund for the current period.","keep":"Keep plan","confirm":"Confirm cancel"},"errors":{"removeSeat":"Could not remove seat.","assignSeat":"Could not update assignment.","cancel":"Cancel failed","resume":"Resume failed","samePlan":"You are already on this plan.","noSubscription":"No active subscription found to change. Start the plan from the agency pricing page instead.","priceFailed":"Could not price this change. Try again.","paypalNoLink":"PayPal did not return an approval link. Try again.","notCompleted":"The change did not complete. Refresh to check your plan before trying again.","planChangeFailed":"Plan change failed. Your plan has not changed.","linkFailed":"Could not generate link.","clipboardBlocked":"Clipboard blocked - long-press the \"Open in Telegram\" button to copy manually."}},"seatModal":{"close":"Close","eyebrow":"TEAM SEATS","title":"Add extra seats","subWeekly":"{price}/week per extra seat, billed weekly with your Agency plan. Your plan already includes {count} seats.","subMonthly":"{price}/month per extra seat, billed monthly with your Agency plan. Your plan already includes {count} seats.","testMode":"Test mode - no real card will be charged. Use a Stripe test card.","fewer":"Fewer seats","more":"More seats","extraSeats":"extra seats","countNoteOne":"You have {current} extra seat now. Total team size after this change: {total}.","countNoteOther":"You have {current} extra seats now. Total team size after this change: {total}.","dueTodayWeek":"Due today, for the rest of this week","dueTodayMonth":"Due today, for the rest of this month","tax":"Tax","totalToday":"Total today","thenWeek":"Then, each week with your plan","thenMonth":"Then, each month with your plan","review":"Review price","processing":"Processing...","payAndAdd":"Pay {amount} and add seats","footnote":"Charged to the card on your Agency plan · Secured by Stripe","payBadge":"{count} EXTRA SEATS","bankConfirm":"Your bank needs a card confirmation before the seats are added.","preparing":"Preparing secure form...","payButton":"Pay and add seats","payFootnote":"Seats are added as soon as the payment goes through","successTitle":"Seats added","successOne":"You now have {count} extra seat. Invite teammates from the team page.","successOther":"You now have {count} extra seats. Invite teammates from the team page.","done":"Done","errors":{"price":"Could not price the seat change.","start":"The payment could not be started. Try again.","add":"Could not add seats.","payment":"Payment failed."}},"team":{"seoTitle":"Team Management - TikTool Agency","title":"Team Management","loading":"Loading your team...","yourAgency":"your agency","teammate":"teammate","noEmail":"no email on file","backToDashboard":"Back to dashboard","copy":"Copy","copied":"Copied","roles":{"owner":"owner","manager":"manager","scout":"scout","member":"member"},"error":{"title":"Could not load your team","body":"Something went wrong reaching the team service. Try again in a moment.","retry":"Retry"},"gate":{"title":"Build your scouting team","body":"Team seats let you add managers and scouts who share your agency's data access - no separate subscription for them. Invites unlock on Agency plans.","plans":"See agency plans"},"member":{"title":"You're on {agency}","body":"Your role: {role}. Only the agency owner can invite or remove members. You have full access to the shared agency data."},"owner":{"lead":"Add managers and scouts to {agency}. They share your data access on a single subscription - {count} seats are included in your plan.","seatsUsed":"seats used"},"invite":{"title":"Invite a teammate","sub":"Enter an email (optional) and a role. If they already have a TikTool account we attach them instantly; otherwise you get a shareable invite link.","email":"Email","optional":"optional","emailPlaceholder":"name{'@'}yourorg.com - leave blank for link-only","role":"Role","roleManager":"Manager - sees assigned creators","roleScout":"Scout - watchlist + mass-copy, no revenue","sending":"Sending...","send":"Send invite","seatLimit":"Seat limit reached - remove a member below or buy more seats to invite again.","joined":"{email} joined {agency}","joinedBody":"Role: {role}. They can sign in and use the shared dashboard immediately.","another":"Invite another","linkReady":"Invite link ready","expires":"Link expires in {days} days. You can revoke it from the list below at any time.","sendAnother":"Send another"},"share":{"whatsappAria":"Share on WhatsApp","telegramAria":"Share on Telegram","emailAria":"Share via Email","smsAria":"Share via SMS","email":"Email","more":"More","message":"You've been invited to join my TikTool agency as {role}. Open the link to accept:","subject":"Join my TikTool agency"},"list":{"title":"Your team","entriesOne":"{count} entry","entriesOther":"{count} entries","presenceNote":"Live online presence is coming soon. Status below shows whether each invite has been accepted.","empty":"No teammates yet. Send your first invite above to start building your roster of managers and scouts.","you":"you","linkOnly":"link-only invite","pending":"Pending","accepted":"Accepted","copyLink":"Copy link","revoke":"Revoke","remove":"Remove","swapTitle":"Need to swap someone out?","swapBody":"Remove a member to free their seat, then send a fresh invite to their replacement."},"regions":{"label":"Region access","saving":"Saving...","saved":"Saved","failed":"Save failed - retry","selected":"{count} selected","all":"All regions"},"buy":{"title":"Need more than {count} seats?","includes":"Your plan includes {count} manager and scout seats.","includesExtra":"Your plan includes {count} manager and scout seats and you have {extra} extra.","addFromBilling":"Add extra seats from Billing - each one is billed with your Agency plan.","add":"Add seats"},"remove":{"title":"Remove {name}?","body":"They will lose access to the shared agency data right away and their seat is freed up. You can re-invite them later.","cancel":"Cancel","removing":"Removing...","confirm":"Remove member"},"errors":{"invalidEmail":"Enter a valid email or leave it blank for a link-only invite.","inviteFailed":"Invite failed. Try again.","revoke":"Could not revoke that invite.","remove":"Could not remove that member."}},"extension":{"seo":{"title":"Eligibility Checker Extension - Tik.Tools Agency","description":"Check TikTok LIVE invite-eligibility from your agency backstage with the Tik.Tools Chrome extension. Included with every agency plan."},"badge":"Agency Tool","title":"The {highlight} for Chrome","titleHighlight":"Eligibility Checker","sub":"Check TikTok LIVE invite-eligibility straight from your agency backstage - no keys, no copy-paste. It keeps checking while the results land on your shared list in real time.","login":"Log in to continue","unlock":"Unlock with Agency","included":"Included with {starter} ({count} checks a day) and {global} (unlimited).","download":"Download the extension","storeSoon":"Web Store version coming soon","copy":"Copy","copied":"Copied","step1":{"title":"Download & add to Chrome","body":"Download the file above and unzip it to a folder you will keep (do not delete it - Chrome loads the extension from there).","openTab":"Open a new tab, paste this into the address bar, and press Enter:","devMode":"Turn on {label} (top-right toggle).","devModeLabel":"Developer mode","loadUnpacked":"Click {label} and select the unzipped folder.","loadUnpackedLabel":"Load unpacked"},"step2":{"title":"Pin it","body":"Click the puzzle-piece icon in Chrome's toolbar, then the pin next to {name} so it is always one click away."},"step3":{"title":"Log in with Tik.Tools","body":"Open the extension and click {label}. It uses this same account - no API key to paste. Your agency plan unlocks it straight away ({starter}: {count} checks a day; {global}: unlimited).","loginLabel":"Log in"},"step4":{"title":"Connect backstage & start checking","body":"Open your TikTok LIVE backstage in the same browser, pick a region in the extension, and it connects automatically. Hit {label} - checked creators appear on your list with their result as it checks.","runLabel":"Run","openList":"Open your checked creators list"},"tips":{"title":"Tips for covering several regions","body":"One backstage account can only be logged in once per Chrome profile. To check several regions at the same time, run {emphasis}, each with the extension installed and logged in with this account. Every profile checks its own region and all results land on the same shared list here.","emphasis":"one backstage account per region in its own Chrome profile","warn":"Use throwaway backstage accounts for bulk checking - never the agency owner's main account."}},"join":{"seoTitle":"Join Agency · TikTool","loading":"Loading invite...","unavailable":"Invite unavailable","notValid":"Invite not valid","acceptFailed":"Could not accept invite","home":"← Home","eyebrow":"AGENCY INVITE","invited":"You've been invited to join as {role}.","clickBelow":"Click below to accept and start scouting together.","joining":"Joining...","accept":"Accept & join","loginToAccept":"Log in to accept","expiresSoon":"Invite expires soon.","expiresOn":"Invite expires {date}.","consent":"By accepting you agree to the agency owner being able to assign you creators and view your activity."},"drilldown":{"close":"Close","memberFallback":"member","loading":"Loading activity...","idleToday":"Idle today","activeToday":"Active today","listsCopied":"Lists copied","timePerPage":"Time per page (today)","page":"Page","time":"Time","unknownPage":"(unknown)","noPageTime":"No page time recorded today.","copyLog":"List-copy log","listFallback":"(list)","timeline":"Activity timeline","noEvents":"No events recorded today.","event":{"aPage":"a page","viewed":"Viewed {page}","left":"Left {page} after {duration}","copiedList":"Copied list {list}","copiedListBare":"Copied list","idle":"Went idle ({duration})","resumed":"Resumed activity","heartbeat":"Active"},"duration":{"seconds":"{s}s","minutes":"{m}m {s}s","hours":"{h}h {m}m"},"ago":{"justNow":"just now","minutes":"{n}m ago","hours":"{n}h ago","days":"{n}d ago"}}},"agencyOps":{"common":{"compactK":"{n}k","compactM":"{n}M","hours":"{n}h","filterCreatorsAria":"Filter creators","liveNow":"Live now","back":"Back","loading":"Loading...","close":"Close"},"nav":{"dashboard":"Dashboard","watchlist":"Watchlist","roster":"Roster","health":"Roster Health","pipeline":"Recruit Pipeline","tracker":"Live Tracker","notes":"Notes","archive":"Archive","battles":"Battle Logs","gifters":"Gifter DB","tasks":"Tasks","teamActivity":"Team Activity","teamTasks":"Team Tasks","team":"Team"},"healthBand":{"risk":"At risk","watch":"Watch","healthy":"Healthy","unseen":"Not seen yet"},"health":{"pageTitle":"Roster Health - Agency","lockTitle":"Roster Health","lockTextStarter":"Roster health, health alerts and the weekly health summary are part of {plan}. Upgrade from Agency Billing to see which hosts are slipping.","lockText":"See which hosts are slipping before they go quiet - on an agency plan.","title":"Roster health","sub":"Every host is compared with their own last four weeks, so a small creator keeping their usual week reads as healthy and a big one halving theirs does not.","updated":"Updated {time}","filterAria":"Filter by health","allHosts":"All hosts","alerts":{"title":"Health emails","sentTo":"Sent to {email}, on the timezone and send time of your creator digest.","accountEmail":"your account email","daily":"Daily alert when a host moves to At risk","weekly":"Weekly roster summary with a CSV, Mondays","saveError":"Could not save that. Try again in a moment."},"truncated":"Showing the first {shown} of {total} creators on your roster.","unavailable":"Health data is temporarily unavailable. Your roster is safe - try again in a few minutes.","empty":{"title":"No creators on your roster yet","sub":"Add creators in the Live Tracker, or sign them through the recruit pipeline, and their health shows up here.","cta":"Add creators"},"today":{"title":"Today","sub":"{count} need a look, most urgent first"},"wholeRoster":"Whole roster","searchPlaceholder":"Filter by name or {'@'}handle","cols":{"creator":"Creator","health":"Health","diamonds7d":"Diamonds 7d","diamonds30d":"Diamonds 30d","diamonds90d":"Diamonds 90d","d30":"30d","d90":"90d","live7d":"Live 7d","live30d":"Live 30d","live90d":"Live 90d","usualWeek":"Usual week"},"noMatch":"No creators match.","foot":"Diamonds and live hours are what we observed while tracking each creator; live hours count captured stream time. History builds from the day a creator joins your roster. Creators marked Not seen yet have no streams observed in the last 90 days, so they are not scored and are left out of At risk and Watch."},"tracker":{"pageTitle":"Live Tracker - Agency","glassTitle":"Live Tracker","glassSub":"Track your creators' gifts, gifters and chat - live and by day - on an agency plan.","glassCta":"See agency plans","yourCreators":"Your creators","addPlaceholder":"Add a creator - search {'@'}handle or name","track":"+ Track","notInDirectory":"Not in our directory yet.","adding":"Adding...","trackAnyway":"Track {'@'}{handle} anyway","noneFound":"No creators found.","emptyRoster":"No creators tracked yet. Search above to add one - we start tracking their gifts and chat right away.","followers":"{count} followers","watching":"watching","stopTracking":"Stop tracking {'@'}{handle}","confirmStop":"Stop tracking {'@'}{handle}?","history":"{'@'}{handle} - history","pickCreator":"Pick a creator","watch":"Watch","noActivity":"No tracked activity yet for this creator.","giftsCount":"{count} gifts","chatsCount":"{count} chats","dayHeader":"{date} · {'@'}{handle}","pickDay":"Pick a day","gifts":"Gifts","chat":"Chat","noGifts":"No gifts this day.","noChat":"No chat captured this day.","removeError":"Could not remove creator","addError":"Could not add creator"},"pipeline":{"pageTitle":"Recruit Pipeline - Agency","lockTitle":"Recruit Pipeline","lockText":"Track every creator from checked to signed, as a team - on an agency plan.","title":"Recruit pipeline","sub":"Creators you marked eligible or claimed on the boards, through contact to signed. A move here updates the claim your whole team sees, and a signed creator goes onto your roster in one tap.","searchPlaceholder":"Filter by {'@'}handle","tabsAria":"Pipeline stages","unavailable":"The pipeline is temporarily unavailable. Try again in a few minutes.","stage":{"checked":"Checked","contacted":"Contacted","signed":"Signed","not_interested":"Not interested"},"empty":{"checked":"Creators you mark eligible on the New Creators board, or claim on any board, land here.","contacted":"Move a creator here once you have reached out.","signed":"Creators who joined your agency. Add them to your roster to track their health.","not_interested":"Creators who said no. They stay here so nobody contacts them twice."},"move":{"checked":"Back to checked","contacted":"Contacted","signed":"Signed","not_interested":"Not interested"},"claimStatus":{"claimed":"Claimed","contacted":"Contacted","responded":"Responded","interested":"Interested","signed":"Signed","not_interested":"Not interested"},"markedEligible":"Marked eligible","premiumEligible":"Eligible (premium invite)","you":"you","onlyOwner":"Only {name} can move this one.","onRoster":"On your roster","addToRoster":"Add to roster","showMore":"Show {count} more","errors":{"teammateOwns":"A teammate owns that creator, so only they can move it.","moveFailed":"Could not move that creator. Try again in a moment.","rosterFull":"Your roster is full. Remove a creator before adding another.","addFailed":"Could not add to the roster. Try again in a moment."}},"tasks":{"everyone":"Everyone","member":"member","newTask":"+ New task","loading":"Loading tasks...","status":{"open":"Open","in_progress":"In Progress","done":"Done"},"priority":{"low":"Low","medium":"Medium","high":"High"},"archiveAria":"Archive task","unassigned":"Unassigned","nothingHere":"Nothing here","modal":{"title":"New task","fieldTitle":"Title","titlePlaceholder":"e.g. DM {'@'}creator about contract terms","description":"Description","descriptionPlaceholder":"Optional detail...","assignee":"Assignee","priority":"Priority","dueDate":"Due date","cancel":"Cancel","saving":"Saving...","create":"Create task","titleRequired":"Title is required","createError":"Could not create task"}},"intercom":{"team":"Team","connected":"Connected","connecting":"Connecting","searchPlaceholder":"Search members...","searchAria":"Search team members","members":"Members","noMembers":"No members match.","channels":"Channels","noChannels":"No channels yet.","directMessages":"Direct Messages","noDms":"Search a member to start a conversation.","loadEarlier":"Load earlier messages","sharedImage":"Shared image","editAria":"Edit message","saveEdit":"Save edit","cancelEdit":"Cancel edit","edit":"Edit","edited":"edited","closeImage":"Close image","reactions":{"up":"Thumbs up","heart":"Heart","check":"Done","eyes":"Seen"},"typingOne":"{name} is typing...","typingTwo":"{first} and {second} are typing...","typingMany":"Several people are typing...","you":"You","attachImage":"Attach image","placeholder":"Type a message...","messageAria":"Message","sendAria":"Send message","uploading":"Uploading image...","sheetAria":"Team chat","openChat":"Open team chat","collapseChat":"Collapse team chat","pickToStart":"Pick a channel or teammate to start.","channel":"Channel","directMessage":"Direct message"},"activity":{"member":"member","noPage":"No active page","status":{"online":"Online","idle":"Idle","offline":"Offline"},"onlineNow":"Online now","idleFor":"Idle {time}","lastSeen":"Last seen {time} ago","ago":"{time} ago","justNow":"just now","units":{"s":"{n}s","m":"{n}m","h":"{n}h","d":"{n}d"},"roles":{"owner":"Owner","manager":"Manager","scout":"Scout","member":"Member"}}},"accountTools":{"webhooks":{"seo":{"title":"Webhooks - TikTool","description":"Receive HMAC-signed live event notifications at your HTTPS endpoint. Tier-aware, retried, dedupable."},"nav":{"dashboard":"Dashboard","docs":"Docs"},"newWebhook":"New webhook","sub":"HMAC-signed HTTPS POSTs delivered to your endpoint when watched creators go live or end streams. Retried, replayable, dedupable via stable {field}.","loading":"Loading...","upgrade":{"title":"Webhooks require a paid plan","body":"Available on {basic}, {pro}, {ultra}, and {agency}. You're on {tier}.","cta":"View plans"},"stats":{"plan":"Plan","targetsUsed":"Targets used","dailyQuota":"Daily quota","allowedEvents":"Allowed events","allowedEventsValue":"{count} of {total}"},"empty":{"title":"No webhooks yet","body":"Create one to start receiving live events at your endpoint.","cta":"Create your first webhook"},"row":{"untitled":"Untitled","allCreators":"ALL creators · firehose","creatorsOne":"{count} creator","creatorsOther":"{count} creators","failStreak":"{count} fail streak","downgradeNote":"Paused - your current plan no longer includes one of its events. Upgrade to reactivate it automatically, or delete it."},"status":{"pausedPlan":"paused (plan)","disabled":"disabled","healthy":"healthy","failing":"failing","retrying":"retrying","pending":"pending"},"events":{"liveStart":"Watched creator started a live stream","liveEnd":"Watched creator ended a live stream","peakViewers":"Concurrent viewer count crossed a milestone","highValueGift":"High-value gift (≥{threshold} diamonds) received","followerMilestone":"Follower count crossed a milestone ({range})","eligible":"A recruit-worthy creator appeared or crossed a league-score milestone","watchedGift":"A gifter on your watchlist sent a gift at or above your threshold","hotSpike":"A creator took {diamonds}+ diamonds within {minutes} minutes","leagueDropout":"A creator fell off a league division board","hostReminder":"A host follow-up is due or a host contract is ending"},"everyCreator":"every creator on the platform","docs":{"verifyTitle":"How to verify a delivery","verifyBody":"Every POST includes {header} where {formula}. Reject any request older than {minutes} minutes (replay window).","payloadTitle":"Example payload ({event})","retryTitle":"Retry policy","retryBody":"Connect timeout {connect}s, read timeout {read}s. Retry schedule: {schedule} ({attempts} attempts ~{hours}h). After max attempts the event marks {deadLetter}; replay manually from any webhook's detail page for {days} days.","deadLetter":"dead-letter","scopingTitle":"Scoping & volume","scopingIntro":"The {field} list decides how much you receive:","scopingEmpty":"{lead} You get events for {every} - a high-volume firehose (hundreds of events per minute). Most single endpoints cannot keep up with this, and it is the usual cause of a webhook auto-disabling.","scopingEmptyLead":"Empty list = everything.","scopingScoped":"{lead} Up to {max} handles; you receive events for those creators only. Recommended for essentially every integration.","scopingScopedLead":"Scoped list = only yours.","rosterBody":"For a roster that changes often, manage the list from your own service: {endpoint} with {body} {replaces}. Read the webhook, compute the new set, and PATCH the full array on each sync - that is your programmatic add/remove.","rosterReplaces":"replaces the whole list","autoTitle":"Auto-disable","autoBody":"A delivery that fails all {attempts} attempts becomes a {deadLetter}. After {streak}, the webhook is disabled automatically to protect your endpoint. {reset}, so a healthy endpoint never trips it. If a webhook gets disabled, fix the endpoint and re-enable it from its detail page. If you are on the unscoped firehose, scope {field} first - no endpoint reliably survives the full firehose.","autoStreak":"{count} dead-letters in a row","autoReset":"Any successful delivery resets that counter to zero","quotaTitle":"Daily quota","quotaBody":"Each plan has a daily delivery cap (shown at the top of this page): {basic} {basicCap}, {pro} {proCap}, {ultra} {ultraCap}, {agency} {agencyCap}. It counts one per distinct event delivered; retries of the same event do not count again. The counter resets at {reset}. When you reach the cap, further events pause until reset - upgrade for a higher cap. Repeated endpoint failures also auto-disable a webhook (above)."},"create":{"title":"New webhook","close":"Close","name":"Name","optional":"(optional)","namePlaceholder":"Production - Supabase live alerts","targetUrl":"Target URL","targetHint":"HTTPS only, no private networks","eventTypes":"Event types","requires":"Requires {plan}","creators":"Creators","creatorsHint":"one handle per line; up to {max}","creatorsWarn":"Leave this empty and you receive {every} - a high-volume firehose (hundreds of events/min) that can overwhelm your endpoint and get the webhook auto-disabled. List the creators you want to scope delivery to only them.","bearer":"Bearer token","bearerHint":"(optional, sent as Authorization header)","cancel":"Cancel","creating":"Creating...","submit":"Create webhook"},"secret":{"title":"Save your webhook secret","warn":"This secret will not be shown again. Copy it now.","copied":"✓ Copied","copy":"Copy","saved":"I have saved it"},"errors":{"load":"Failed to load","create":"Create failed"}},"webhookDetail":{"back":"All webhooks","loading":"Loading...","untitled":"Untitled webhook","sending":"Sending...","sendTest":"Send test event","edit":"Edit","disable":"Disable","enable":"Enable","rotating":"Rotating...","rotate":"Rotate secret","delete":"Delete","downgrade":"{lead} Your current plan no longer includes one of this webhook's events, so delivery is paused. Upgrade to reactivate it automatically (your events + watchlist are kept), or delete it.","downgradeLead":"Paused by plan change.","cannotEnable":"Cannot enable:","test":{"succeeded":"Test succeeded:","failed":"Test failed:","result":"HTTP {status} in {ms}ms"},"editForm":{"title":"Edit webhook","name":"Name","namePlaceholder":"Production - live alerts","events":"Events","upgrade":"(upgrade)","creators":"Creators - one per line, no {'@'}. Leave empty for all watched (firehose).","creatorsOne":"{count} creator","creatorsOther":"{count} creators","cancel":"Cancel","saving":"Saving...","save":"Save changes"},"stats":{"status":"Status","secret":"Secret","events":"Events","creators":"Creators","failStreak":"Fail streak","lastDelivery":"Last delivery","allWatched":"all watched","never":"never"},"deliveries":{"title":"Recent deliveries (last {days} days)","empty":"No deliveries yet.","when":"When","event":"Event","creator":"Creator","attempt":"Attempt","status":"Status","latency":"Latency","ms":"{ms}ms","replay":"replay"},"notFound":"Webhook not found.","deleteModal":{"title":"Delete this webhook?","body":"This stops all future deliveries to {url}. Cannot be undone.","cancel":"Cancel","confirm":"Delete"},"newSecret":{"title":"New webhook secret","warn":"Old secret invalidated immediately. Update your endpoint now.","copied":"Copied","copy":"Copy","done":"Done"},"confirmRotate":"Rotate secret? Old secret stops working immediately.","errors":{"save":"Could not save changes.","status":"Could not change status.","test":"Test failed","replay":"Replay failed"}},"support":{"seoTitle":"Support - Tik.Tools","back":"Back to dashboard","title":"Support","online":"We're online - typically reply within minutes","offline":"Leave a message and we will get back to you","loading":"Loading your conversation...","emptyTitle":"How can we help?","emptyBody":"Send us a message and our team will get back to you here.","notSent":"(not sent)","placeholder":"Type your message...","send":"Send","time":{"now":"now","minutes":"{count}m","hours":"{count}h","days":"{count}d"}}},"pagesMisc":{"showcase":{"hero":{"title":"Built with","subtitle":"Featured projects and integrations built by our community using the TikTok LIVE API. Submit yours and get featured."},"visit":"Visit","empty":"No projects featured yet. Be the first to submit yours!","submit":{"heading":"Submit Your Project","sub":"Built something with TikTool? Submit it below and we'll review it for the showcase.","loginPrompt":"You need to be logged in to submit a project.","loginCta":"Register / Login","nameLabel":"Project Name","namePlaceholder":"e.g. My TikTok Assistant","descLabel":"Description","descPlaceholder":"What does your project do?","urlLabel":"Project URL","logoLabel":"Logo URL (square image)","success":"Project submitted for review. We'll feature it once approved!","submitting":"Submitting...","submit":"Submit Project","errorGeneric":"Something went wrong"},"seo":{"title":"Showcase - Projects Built with TikTok LIVE API","description":"Explore featured projects built with the TikTok LIVE API. See what developers are building - assistants, analytics, overlays, and more. Submit your own project to get featured.","ogTitle":"Showcase - Projects Built with TikTok LIVE API","ogDescription":"Explore featured community projects built with the TikTok LIVE API."}},"agencyNew":{"success":{"tag":"PENDING REVIEW","title":"Your listing is in review","sub":"We review every listing manually. Average turnaround: a few hours.","chat":"CHAT WITH US","view":"View your listing"},"intro":"This is your live listing preview. Edit anything directly - it saves as you go. Nothing is public until we approve it.","roster":{"title":"Roster","noteSignedIn":"Search below to claim the creators you represent.","noteSignedOut":"Claim your real creators after you sign in."},"details":{"title":"Details","languages":"Languages","languagesPlaceholder":"Add a language, press Enter","tags":"Tags","tagsPlaceholder":"Add a tag, press Enter","contactEmail":"Contact email","contactPhone":"Contact phone","private":"Private"},"verify":{"title":"Verification","copy":"Upload a screenshot of your agency backstage (LIVE agency dashboard) - this is how we verify ownership.","uploading":"Uploading...","done":"Proof uploaded - replace","upload":"Upload backstage screenshot","failed":"Evidence upload failed - try again."},"creators":{"title":"Your creators","copy":"Add the creators you represent. You can also do this after your listing is approved.","searchPlaceholder":"Search creators by {'@'}username or display name","searchAria":"Search creators","live":"LIVE","claimed":"Claimed","claim":"Claim","signIn":"Sign in to claim creators.","claimFailed":"Claim failed - try again."},"submit":{"note":"You will sign in with Google or work email; your draft is saved and will not be lost.","submitting":"Submitting...","submit":"Submit for review","signInSubmit":"Sign in and submit for review","failed":"Submit failed - try again."},"seo":{"title":"List your agency - TikTool","description":"Create a free TikTok LIVE agency listing on TikTool."}}},"captions":{"watch":{"badge":"LIVE TRANSCRIPT + VIDEO","title":"Watch any TikTok LIVE with real-time captions","sub":"Paste a username. See the live video + on-screen transcript translated to 20+ languages. Uses your account's captions plan.","streamStep":"{n}. Stream to watch","usernameLabel":"TikTok username","usernamePlaceholder":"{'@'}username or search","liveBadge":"LIVE","keyStep":"{n}. API key","keyLabel":"Use this key for captions","keyHint":"Only paid keys can run captions. Free / sandbox keys are hidden.","languagesStep":"{n}. Languages","sourceLabel":"Source (audio)","autoDetect":"Auto-detect","translateTo":"Translate to","noTranslation":"No translation","translationHint":"Translation costs 2 min per real minute of audio (transcript + 1 translation). No translation = 1 min/min.","minutesLeft":"Minutes left","cycleUsage":"{remaining} / {total} this cycle - resets on renewal","noPlan":"No active captions plan","upgradePlan":"Upgrade plan ->","getPlan":"Get a plan ->","stop":"Stop captions","start":"Start live captions ->","placeholderTitle":"Video + captions show here","placeholderBody":"Pick a creator + hit Start. Live video on top, transcript + translation below.","transcript":"Transcript","transcriptTranslation":"Transcript + Translation","statusIdle":"Idle","statusListening":"Listening...","statusLive":"Live","waitingAudio":"listening for audio...","overlayLink":"Build an OBS overlay instead ->","manageLink":"Manage account ->","modal":{"close":"Close","loginTitle":"Log in to start","paidTitle":"You need a paid plan","outTitle":"Out of caption minutes","loginBody":"Sign in to use captions. Every new account starts with 10 demo minutes.","paidBody":"Captions need an API key on {plan} plan or higher. {plan} ({price}/wk) includes {hours}h of captions per week.","outBody":"You've used your bundle for this cycle. Grab more minutes (auto-refill keeps captions flowing).","loginCta":"Log in / Sign up ->","seePlans":"See plans ->","topUp":"Top up ->","notNow":"Not now"},"errors":{"offline":"Stream went offline. Pick another live creator.","connection":"Stream connection error. Retry.","couldNotStart":"Could not start"},"seo":{"title":"Watch any TikTok LIVE stream with real-time captions - tik.tools","description":"Paste a TikTok username, watch the live video, get real-time transcription + 20+ language translations on screen. No code, no app required."}},"topup":{"close":"Close","headline":"Captions hours","sub":"Captions plans bundle live + translated minutes per renewal. Auto-refill at <10% remaining (opt-out).","loadingPlans":"Loading plans...","weekly":"Weekly","monthly":"Monthly","save":"save 20%","mostPopular":"MOST POPULAR","perMonth":"/mo","perWeek":"/wk","planHours":"{hours} hours captions","loading":"Loading...","subscribe":"Subscribe →","perMinute":"{price} per minute","fineprint":"{price} · cancel anytime","autoRenewNote":"Auto-renews · cancel anytime from your dashboard","backToPlans":"← back to plans","checkoutEyebrow":"Captions plan","hoursPerMonth":"{hours} hours / month","hoursPerWeek":"{hours} hours / week","settingUp":"Setting up secure payment...","subtotal":"Subtotal","tax":"Tax","totalToday":"Total today","processing":"Processing...","payNow":"Pay {amount} now","autoRenewMonthly":"Auto-renews every month. Cancel anytime.","autoRenewWeekly":"Auto-renews every week. Cancel anytime.","doneTitle":"Captions plan active","doneBody":"Your hours are credited. Captions will resume on this stream immediately.","continue":"Continue","upgrade":{"eyebrow":"Upgrade captions plan","inPlace":"In-place upgrade. Single subscription, no double-charge.","creditUnused":"Credit for unused {plan} time","newLine":"New {plan} {billing}","chargedToday":"Charged to your card today","confirm":"Confirm upgrade - {amount}","cancel":"Cancel"},"errors":{"needsConfirmation":"Upgrade requires confirmation - please retry.","unexpected":"Unexpected response from upgrade endpoint.","upgradeFailed":"Upgrade failed.","samePlan":"You are already on this plan.","initFailed":"Payment could not be initialised. Please try again.","mountFailed":"Payment form failed to mount. Please refresh.","checkoutFailed":"Checkout failed","paymentFailed":"Payment failed.","notConfirmed":"Payment not confirmed. Try a different card."}}},"site":{"pricing":{"og":{"title":"Simple, transparent pricing","subtitle":"{days}-day free evaluation, then weekly or monthly plans. No credit card to evaluate.","badge":"PRICING"}},"home":{"og":{"subtitle":"Connect to any TikTok LIVE stream over WebSocket. Chat, gifts, likes and viewers in real time."}},"bestTime":{"og":{"title":"Best Time to Go LIVE on TikTok","subtitle":"Real-time engagement heatmap in your timezone.","badge":"TIMING"}},"featureCard":{"tag":"Feature","learnMore":"Learn more"},"heroTabs":{"giftFallback":"Gift"},"liveDemo":{"giftFallback":"Gift"},"bookLiveDemo":{"firstNamePlaceholder":"Jordan","agencyPlaceholder":"Acme Live","emailPlaceholder":"you{'@'}company.com"}},"siteDev":{"api":{"og":{"title":"TikTok LIVE API for Developers","subtitle":"Stream chat, gifts, likes and viewer counts from any TikTok LIVE room."}},"agencySdk":{"heroHighlight":"Agency SDK","name":"TikTok LIVE Agency SDK"},"eventSamples":{"labels":{"gift":"Virtual Gifts","chat":"Chat Messages","like":"Likes","member":"Member Joins","follow":"Follows","share":"Shares","subscribe":"Subscriptions","roomUser":"Viewer Count","emote":"Emote Chat","envelope":"Red Envelopes","linkMicBattle":"PK Battles","questionNew":"Q&A","liveShopping":"Live Shopping","roomInfo":"Stream Lifecycle","battle":"Battle State","battleArmies":"Battle Contributors","linkMicOpponentGift":"Opponent Gifts","linkMic":"Co-host Link","poll":"Polls","rankUpdate":"Live Rankings","rankNotice":"Rank Banner","streamStatus":"Stream Status","control":"Control Signals","caption":"Native Captions","giftPanelUpdate":"Gift Panel","goalUpdate":"Goals","superFan":"Super Fans","superFanJoin":"Super Fan Joins","roomPin":"Pinned Messages","barrage":"Barrage","fansEvent":"Fan Club","hostBoard":"Host Board","toast":"Toasts","questionSelected":"Question Picked","giftCollectionUpdate":"Gift Collections","linkMicLayout":"Co-host Layout"},"descs":{"gift":"Gift name, diamond value, repeat count, streaks, sender and relationship.","chat":"Every chat message with user data, badges, language and reply target.","like":"Like batches with sender info and the running room total.","member":"Who enters the room, with the entry source and current viewer count.","follow":"New follower events during the stream.","share":"When viewers share the livestream out.","subscribe":"Paid subscription joins and renewal notifications.","roomUser":"Live viewer count updates and the top-viewer snapshot.","emote":"Sticker / emoji-only comments, separated from text chat.","envelope":"Virtual red-envelope drops and portal bursts.","linkMicBattle":"Battle start, live score updates and the result.","questionNew":"Viewer questions submitted to the host Q&A panel.","liveShopping":"Live commerce events: featured product, billboard and short-item refresh.","roomInfo":"Connection ready, room metadata and stream status control messages.","battle":"Full PK battle state with team scores, host ids and layout.","battleArmies":"Per-host battle score with top contributors and the gift that moved it.","linkMicOpponentGift":"Gifts sent on the opposing PK host stream, itemized from one connection.","linkMic":"Co-host join and leave events for a multi-guest LIVE.","poll":"In-stream poll lifecycle - open, vote and close.","rankUpdate":"Ranked gifter and viewer leaderboards for the room.","rankNotice":"Leaderboard and league banner notices shown to viewers.","streamStatus":"Stream status flips - recording state and content rechecks.","control":"Stream control signals - start, pause and end status codes.","caption":"TikTok native auto-captions rendered on the LIVE, one window per frame.","giftPanelUpdate":"Gift panel refresh when the room gift catalog rotates.","goalUpdate":"Subscriber and gift goal progress toward a room target.","superFan":"Super-fan level status for a viewer in the room.","superFanJoin":"A viewer joining the super-fan club.","roomPin":"A chat message pinned by the host, with duration and operator.","barrage":"Highlighted barrage messages that scroll across the stream.","fansEvent":"Fan-club events such as tier-ups and community refreshes.","hostBoard":"Host-side ranking board snapshot for the room.","toast":"Transient on-screen system notifications pushed by the room.","questionSelected":"The question the host selected from the Q&A panel.","giftCollectionUpdate":"Gift-collection progress and completion status.","linkMicLayout":"Co-host seat layout with the room and user in each slot."},"fields":{"gift":{"giftName":"Display name of the gift sent.","diamondCount":"Diamond value of a single gift unit.","repeatCount":"How many were sent in the combo.","repeatEnd":"true when a streak has finished - sum on this frame.","user":"Sender profile: uniqueId, nickname, follow + subscriber status.","receiverUserId":"The creator the gift was sent to. In a multi-guest LIVE this is the specific guest/host, not always the room owner."},"chat":{"comment":"The message text.","language":"Auto-detected language code of the comment.","emotes":"Inline subscriber emotes referenced in the message.","user":"Author profile incl. moderator and follow role."},"like":{"likeCount":"Likes in this batch from the sender.","totalLikeCount":"Cumulative like total for the room.","user":"Who sent the like batch."},"member":{"enterSource":"Where the viewer came from (homepage_hot, follow tab, recommend).","viewerCount":"Live viewer count at the moment of join.","user":"The viewer who joined."},"follow":{"user":"The viewer who just followed.","actionType":"Social action code - 3 marks a follow."},"share":{"user":"The viewer who shared the stream.","actionType":"Social action code - 13 marks a share."},"subscribe":{"subMonth":"Consecutive months subscribed.","subscribeType":"New subscribe vs renewal.","user":"The subscribing viewer."},"roomUser":{"viewerCount":"Current concurrent viewers in the room.","topViewers":"Ranked top viewers with their coin contribution."},"emote":{"emotes":"Emote id + image URL for each sticker sent.","user":"Who sent the emote."},"envelope":{"coins":"Total coins in the envelope pool.","count":"How many viewers can claim a share.","user":"Who dropped the envelope."},"linkMicBattle":{"battleStatus":"start, progress or end of the PK match.","hosts":"Each side with its live point total.","battleDurationMs":"Length of the battle window."},"questionNew":{"questionText":"The viewer-submitted question.","user":"Who asked it."},"liveShopping":{"action":"Commerce action - featured, billboard, refresh.","productId":"Catalog id of the product in focus.","price":"Amount in minor units + currency."},"roomInfo":{"status":"Room status - 2 is live, 4 is ended.","roomId":"Unique room identifier for the session.","owner":"The host profile for the room."},"battle":{"status":"Battle phase code - start, in progress or ended.","teams":"Each side with its host id, host profile and live score.","battleDuration":"Battle length in seconds."},"battleArmies":{"hosts":"Each host with team total and ranked contributor breakdown.","lastGift":"The gift that triggered this score update, embedded inline.","secsRemaining":"Seconds left in the battle window."},"linkMicOpponentGift":{"senderUserId":"Viewer id who sent the gift on the opponent side.","opponentRoomId":"Room id of the opposing PK host.","diamondCount":"Per-unit diamond value of the gift.","repeatCount":"Running combo counter within the transaction."},"linkMic":{"action":"join or leave for the co-host seat.","users":"The co-host creators involved in the change."},"poll":{"pollId":"Identifier of the poll instance.","status":"Poll state - open, voting or closed.","optionsPayload":"Raw JSON of the poll options."},"rankUpdate":{"rankType":"Which leaderboard this update is for.","rankList":"Ranked entries with user, position and score."},"rankNotice":{"rankType":"Notice type code.","position":"Rank position carried on the banner.","noticeKey":"Banner key naming which notice this is."},"streamStatus":{"rawPayload":"Raw status payload as shipped by the room."},"control":{"action":"Control code - 3 typically marks the stream ended."},"caption":{"text":"Caption text for this window.","language":"Detected spoken language code.","isFinal":"false for interim, true for a settled window."},"giftPanelUpdate":{"panelId":"Identifier of the gift panel that changed.","updatedAtSec":"Unix second the panel was refreshed."},"goalUpdate":{"goalKey":"Which goal this progress belongs to.","contributionLevel":"Progress level toward the goal.","metadataJson":"Raw JSON with target and current totals."},"superFan":{"level":"Super-fan level of the viewer.","displayType":"Which super-fan status is being shown.","user":"The super-fan viewer."},"superFanJoin":{"user":"The viewer who joined the super-fan club.","displayType":"Which join status is being shown."},"roomPin":{"comment":"The pinned message text.","durationSeconds":"How long the pin stays up.","user":"Author of the pinned message."},"barrage":{"content":"The barrage message text.","displayType":"Which barrage style is used.","user":"Who sent the barrage."},"fansEvent":{"fanType":"Fan-club event category code.","eventKey":"Which fan-club event fired."},"hostBoard":{"rawPayload":"Raw host board payload as shipped by the room."},"toast":{"toastText":"The notification text shown to viewers.","scene":"Which toast this is (e.g. live_record)."},"questionSelected":{"questionText":"The question the host chose to answer."},"giftCollectionUpdate":{"collectionId":"Identifier of the gift collection.","status":"Collection state - in progress or complete."},"linkMicLayout":{"slots":"Each seat with its slot index, room id and user id."}}}},"widgets":{"tinderDeck":{"demoEmptyTitle":"Demo deck is empty here.","demoEmptyBody":"Subscribe to Tik.Tools Agency to scout every region, every league, every day.","seePlans":"See Agency Plans →","waitingTitle":"Waiting for more creators to come online...","waitingBody":"Deck shows only currently-live creators in this region + league. New cards appear as soon as more start streaming.","upgrade":{"eyebrow":"UPGRADE","title":"Unlock every league","blurb":"You have seen the demo cards in this league. Subscribe to the Agency plan to scout every region, every class, with persisted decisions across your team.","hint":"Swipe / arrow → to view next league"},"live":"LIVE","unmute":"Unmute","mute":"Mute","unmuteAll":"Unmute all cards","muteAll":"Mute all cards","stamp":{"watch":"WATCH","skip":"SKIP","maybe":"MAYBE"},"profile":"Profile →","skipAria":"Skip","watchAria":"Watch","hint":"← skip · → watchlist · or drag"},"cardLive":{"userFallback":"user","giftFallback":"gift","sentGift":"sent {gift}","sentGiftCount":"sent {gift} ×{count}","followed":"followed","joined":"joined","liked":"liked"}},"dataPages":{"gifterTags":{"earlyStriker":"Early Striker","lateCloser":"Late Closer","rhythmGifter":"Rhythm Gifter","heavyHitter":"Heavy Hitter","loyalFan":"Loyal Fan","creatorHopper":"Creator Hopper","burstGifter":"Burst Gifter","whaleGifter":"Whale Gifter","microGifter":"Micro Gifter"},"regions":{"northAmerica":"North America","latinAmerica":"Latin America","colombiaPeruDominicanRepublic":"Colombia, Peru & Dominican Republic","australiaPacific":"Australia & Pacific","bangladeshBhutanMaldives":"Bangladesh, Bhutan & Maldives","centralAsia":"Central Asia","germanyDach":"Germany & DACH","iberia":"Iberia","centralEurope":"Central Europe","lusophone":"Lusophone","irelandBalticsMalta":"Ireland, Baltics & Malta","nordics":"Nordics","balkans":"Balkans","nigeriaGhanaKenyaSouthAfrica":"Nigeria, Ghana, Kenya & South Africa"},"agencyDummy":{"name":"Your Agency Name","tagline":"A short line about what your agency does","description":"We are a TikTok LIVE agency helping creators grow their audience, go live with confidence, and earn more from gifting.\nWe handle scheduling, coaching and payouts so our creators can focus on performing.\nReplace this with your own story - who you work with, the results you deliver, and why creators should join you."}},"regions2":{"dummyRoster":{"yourcreator1":"Your Creator","yourcreator2":"Rising Star","yourcreator3":"Weekend Host","yourcreator4":"Top Gifter Streamer"}},"readingHours":{"checkout":{"successTitle":"Payment received","pendingTitle":"Payment processing","successHours":"{hours} added to your balance.","successPending":"Your hours are added as soon as the payment is confirmed.","backToApp":"Back to the app","tryAgain":"Try again","failedTitle":"Payment did not go through","payCardPaypal":"Pay with card or PayPal","errors":{"generic":"The payment did not go through. You have not been charged.","cardDeclined":"Your card was declined.","insufficientFunds":"Your card has insufficient funds.","expiredCard":"Your card has expired.","incorrectCvc":"The security code is incorrect.","incorrectNumber":"The card number is incorrect.","invalidExpiry":"The expiry date is invalid.","processingError":"Your card could not be processed. Please try again.","authenticationRequired":"Your bank needs you to confirm this payment. Please try again.","authenticationFailed":"Your bank could not confirm this payment. You have not been charged.","tooManyAttempts":"Too many attempts with this card. Try another card or try again later.","cardNotSupported":"This card does not support this payment. Try another card.","checkoutStart":"Checkout could not start. Nothing was charged.","notCompleted":"The payment was not completed. You have not been charged.","unconfirmed":"We could not confirm the payment yet. If you were charged, your hours are added within a few minutes.","paypalStart":"PayPal checkout could not start. Nothing was charged.","paypalFailed":"The PayPal payment did not go through. You have not been charged.","paypalLoad":"PayPal could not load. Try a card or reload the page."}}},"rankCopy":{"title":"Copy every username on this board","lockedTitle":"Bulk copy is an Agency feature","copied":"Copied: {count}","copiedAria":"Usernames copied to the clipboard: {count}","empty":"Nothing to copy","failed":"Copy failed","rateLimited":"Too many copies, try again in a minute"},"agencyAlerts":{"whatsapp":{"title":"WhatsApp alerts","body":"Get watched-gifter alerts and host reminders on WhatsApp. One number per team member.","phoneLabel":"WhatsApp number","phonePlaceholder":"+44 7700 900123","consent":"I agree to receive alerts and reminders from tik.tools on WhatsApp at this number. I can reply STOP at any time to stop these messages.","sendCode":"Send code","sending":"Sending...","codeSent":"We sent a 6-digit code to your WhatsApp. It is valid for 10 minutes.","codeLabel":"Enter the code sent to {phone}","confirm":"Confirm","cancel":"Cancel","linked":"WhatsApp alerts are on.","active":"Alerts go to {phone}","unlink":"Stop WhatsApp alerts","errors":{"phone":"Enter the number with its country code, for example +44 7700 900123.","consent":"Tick the consent box to continue.","rate":"Too many codes requested. Try again later.","limit":"Your agency has reached its WhatsApp number limit.","undeliverable":"That number cannot receive WhatsApp messages.","send":"The code could not be sent. Please retry.","expired":"That code has expired. Send a new one.","attempts":"Too many wrong codes. Send a new one.","none":"No code is waiting. Send a new one.","wrong":"That code is not right. {left} tries left.","format":"Enter the 6-digit code.","locked":"WhatsApp alerts need a paid agency plan.","generic":"Something went wrong. Please retry."}}},"ttsLanding":{"seo":{"title":"TikTools - Alerts & TTS: hear your TikTok LIVE chat on iPhone","description":"The iPhone app that reads your TikTok LIVE chat aloud and plays alerts for gifts, follows, shares and subscribers, so you can stream without staring at the screen."},"og":{"title":"Hear your LIVE chat","subtitle":"TikTok LIVE chat read aloud on iPhone, with gift and follow alerts.","badge":"iPhone app"},"hero":{"eyebrow":"TikTools - Alerts & TTS for iPhone","title":"Hear your LIVE chat","lead":"TikTools reads your TikTok LIVE chat aloud on iPhone, so you can stream without staring at the screen. Keep your eyes on the camera and still catch every comment.","free":"Free reading every day: {welcomeHours} hours a day for your first {days} days, then {steadyMinutes} minutes a day."},"store":{"download":"Download on the App Store","soon":"Coming soon on the App Store"},"features":{"label":"What it does","title":"Everything your LIVE says, out loud","items":{"chat":{"title":"Chat read aloud","body":"Every new comment is spoken the moment it arrives, so you can answer viewers without looking down at your phone."},"alerts":{"title":"Gift, follow, share and subscribe alerts","body":"A sound and a banner for every gift, new follower, share and subscriber. Bigger gifts get a bigger moment."},"voices":{"title":"A voice for every language","body":"Each message is read in its own language with the voices on your iPhone. Use any iOS voice, and give each kind of event a voice of its own."},"filters":{"title":"Filters you set","body":"Block words, mute viewers, cap message length, limit comments per minute and skip anything that starts with your command prefix."},"golive":{"title":"Go-live alerts","body":"Get a notification when your LIVE starts, or when a creator you watch goes live. One tap and the chat starts talking."},"rankings":{"title":"Rankings","body":"See which creators are leading on TikTok LIVE right now, region by region, right inside the app."},"watchlist":{"title":"Watchlist of creators","body":"Keep the creators you care about in one list, see when they were last live and choose who notifies you."}}},"gallery":{"label":"Screenshots","title":"A closer look","alt":{"s01":"Reading screen of the app speaking a LIVE chat aloud","s02":"Start screen showing today's free reading time","s03":"Gift alert banner over the LIVE chat","s04":"Voice settings with a different voice for each language","s05":"Filter settings for words, viewers, links and commands","s06":"Go-live notification on the iPhone lock screen","s07":"Alert settings and the watchlist of creators"}},"pricing":{"label":"Pricing","title":"Free reading time, every day","free":"Every account gets {welcomeHours} hours of reading a day for the first {days} days, then {steadyMinutes} minutes a day. The allowance resets daily, and only time spent reading a LIVE counts.","packs":"Streaming longer? Optional reading time packs are available as in-app purchases."},"cta":{"title":"Your chat, in your ears","body":"Enter the LIVE username you stream from, tap start, and every comment is read aloud as it arrives."},"legal":{"linksLabel":"App help and legal","help":"Help","privacy":"Privacy Policy","terms":"Terms of Use","disclaimer":"TikTools is an independent app and is not affiliated with or endorsed by TikTok."},"schema":{"offer":"Free daily reading time. Optional reading time packs are sold as in-app purchases."}}},"zh-hans":{"common":{"languageSwitcher":"语言","languagePicker":{"open":"切换语言","close":"关闭"},"heroSection":{"defaults":{"title":"TikTok Live","titleHighlight":"API","subtitle":"为 OBS、TikTok Live Studio 打造自定义 TikTok 直播叠加层，覆盖礼物、弹幕、PK 等场景。基于 TikTok 直播开发所需的一切，尽在这里。"},"install":{"copy":"复制","copied":"已复制！"},"recruit":{"new":"新","label":"招募","sub":"发现新主播"},"cta":{"dashboard":"控制台","getApiKey":"获取 API Key","manageApi":"管理你的 API","getKeySub":"获取 API Key","docs":"文档","forDevelopers":"面向开发者"},"mobileNav":{"tagsAria":"支持的编程语言","guides":"指南","leaderboards":"排行榜","gamingRanks":"游戏榜","gifterIntel":"送礼用户情报","agency":"公会","pricing":"价格","discordBot":"Discord 机器人"},"stats":{"realtime":"实时","delivery":"事件推送","evalDays":"7 天","evaluation":"评估期"},"channels":{"aria":"直播频道","openProfile":"打开 {name} 的主页"}},"earningsHeatmap":{"days":{"mon":"周一","tue":"周二","wed":"周三","thu":"周四","fri":"周五","sat":"周六","sun":"周日"},"hourAm":"{h}AM","hourPm":"{h}PM","legendLow":"冷清","legendHigh":"高峰","peakValue":"最高时段 {value} 钻石","cellEmpty":"{day} {hour}：无活动","cellValue":"{day} {hour}：{value} 钻石（峰值的 {pct}%）"},"revealGate":{"label":"登录后查看数据","sub":"免费账号，立即解锁本页全部数据。","google":"使用 Google 继续","note":"只需 5 秒，无需绑卡。"},"regionPicker":{"global":"全球"},"rankBoardTabs":{"ariaLabel":"排行榜榜单","daily":"日榜","popular":"热门","gaming":"游戏","teams":"团队","shopping":"电商"},"globalUpgradeNote":{"withFeature":"{feature} 属于 {plan} 套餐，你当前的 {starterPlan} 套餐不包含该功能。","generic":"该功能属于 {plan} 套餐，你当前的 {starterPlan} 套餐不包含。","cta":"升级到 {plan}"},"massCopyButton":{"label":"复制","lockedTitle":"仅限 Agency 套餐，升级后可复制全部用户名","title":"最多 {max} 个用户名，每行一个。可直接粘贴到 TikTok 公会后台（Backstage）进行资格检测。","copied":"已复制！","agencyTag":"AGENCY"},"searchBar":{"placeholder":"搜索主播和送礼用户...","clear":"清除搜索","tagLive":"LIVE","tagCreator":"主播","tagGifter":"送礼用户","noResults":"未找到「{query}」的相关结果","addToWatchList":"将 {handle} 加入观察名单","fetching":"正在获取 TikTok 主页...","close":"关闭","confirmPrompt":"确认要将此主页加入观察名单吗？","no":"否","adding":"添加中...","yesAdd":"确认添加","errors":{"invalidHandle":"TikTok 用户名无效","notFound":"未找到该 TikTok 主页。","addFailed":"添加失败，请重试。"}},"giftGalleryApiCta":{"eyebrow":"礼物图鉴 API","heading":"通过 API 嵌入礼物图鉴","headingGift":"通过 API 嵌入 {name} 及完整礼物图鉴","sub":"一次请求即可返回完整的 TikTok LIVE 礼物目录，包括每个礼物的名称、钻石价格和图标 URL，可直接接入你自己的应用。","badgeTitle":"完整实时目录需要 Pro 及以上套餐","badge":"PRO+","tabsLabel":"礼物图鉴代码示例","copied":"已复制","copy":"复制","copyCode":"复制代码","docsCta":"查看 API 文档","hint":"完整实时目录需要 Pro 及以上套餐，{link}","hintLink":"查看套餐"},"eventExplorer":{"listLabel":"WebSocket 事件类型","copyPayload":"复制 payload","copy":"复制","copied":"已复制"},"copyCodeButton":{"label":"复制代码","htmlLabel":"HTML / 原生 JS","llmLabel":"LLM 提示词","nodeSub":"单个文件，仅支持 Node 22+。","pythonSub":"标准库 + websockets。","htmlSub":"任意浏览器打开即可，无需构建。","llmSub":"粘贴到 ChatGPT / Claude。","toastMain":"代码已复制到剪贴板","toastSub":"粘贴即可运行"}},"popularLive":{"seo":{"title":"热门 LIVE - tik.tools","description":"按地区实时查看 TikTok 热门 LIVE 榜单，即当前在搜索中获得推荐的主播。Agency 套餐专属情报。"},"hero":{"title":"{accent} LIVE","titleAccent":"热门","sub":"按地区实时展示 TikTok 头部主播，即当前在搜索中获得推荐的主播。持续刷新。"},"loading":"正在加载热门 LIVE...","empty":"该地区暂无热门 LIVE 榜单缓存，正在生成中，请一分钟后再来。","count":"{count} 位主播","copyAll":"全部复制","liveBadge":"LIVE","diamonds":"钻石","upgrade":{"feature":"完整热门 LIVE 榜单","badge":"AGENCY 套餐专属","text":"完整热门 LIVE 榜单（覆盖所有地区，包含正在直播的主播）为 Agency 套餐专属。","cta":"解锁"},"updated":"更新于 {when}。","relative":{"minutes":"{n} 分钟前","hours":"{n} 小时前"}},"api":{"seo":{"title":"TikTok LIVE API - 开发者指南","description":"TikTok 没有官方的 LIVE API。使用 TikTool，通过 WebSocket 连接任意直播间，连接维护与鉴权均由我们处理。提供 Node.js 和 Python SDK，7 天评估 Key，无需信用卡。","ogTitle":"TikTok LIVE API - 完整开发者指南","ogDescription":"3 行代码接入 TikTok LIVE 直播。托管式 API，内置签名服务器。实时获取弹幕、礼物、观众数据。","twitterTitle":"TikTok LIVE API - 完整开发者指南","twitterDescription":"3 行代码接入 TikTok LIVE 直播。托管式 API，内置签名服务器。","keywords":"TikTok 直播 API, TikTok LIVE API, TikTok API, TikTok 直播数据, TikTok WebSocket, TikTok 弹幕 API, TikTok 礼物 API, TikTok 直播助手, tiktok-live-connector 替代方案, TikTok 直播 API 免费, TikTok 直播 API Node.js, TikTok 直播 API Python, TikTok 直播叠加层 API, TikTok 直播数据分析, Euler Stream 替代方案, TikFinity 替代方案, TikTok PK API, TikTok 直播 SDK, TikTok 直播间数据"},"hero":{"badge":"完整指南","title":"TikTok LIVE","titleHighlight":"API","subtitle":"TikTok 没有官方的 LIVE API。TikTool 是一款托管式替代方案：连接任意直播间，通过 WebSocket 实时接收弹幕、礼物和观众数据。连接维护与鉴权均由我们处理，无需逆向工程。"},"toc":{"heading":"目录","whatIs":"什么是 TikTok LIVE API？","howItWorks":"TikTok LIVE API 如何工作？","quickstartNode":"快速开始：Node.js","quickstartPython":"快速开始：Python","quickstartWs":"快速开始：原生 WebSocket","events":"可以从 TikTok 直播中获取哪些数据？","useCases":"用 TikTok LIVE API 能做什么？","comparison":"TikTool 与其他方案相比如何？","pricing":"TikTok LIVE API 收费多少？","faq":"常见问题"},"whatIs":{"heading":"什么是 TikTok LIVE API？","p1":"TikTok 并未提供用于获取弹幕、礼物、观众数等直播数据的公开 API。TikTok Business API 仅覆盖广告和电商分析。如需获取实时直播数据，开发者通常使用第三方 API。","p2":"开源库 {connector}（Node.js）和 {tiktokLive}（Python）采用 MIT 许可，可免费使用。它们把 TikTok 签名交给后端处理，其历史默认选项之一是由维护这些库的同一团队打造的付费签名服务。","p3":"TikTool 是一款拥有自有签名基础设施的{independent}，属于全托管 API：连接维护与鉴权均在我们这边完成。一条 WebSocket 连接即可推送 {count} 种事件类型，包括弹幕、礼物、点赞、关注、观众、PK 等。提供 {node} 和 {python} 官方 SDK。Sandbox 套餐无需信用卡。","independent":"独立替代方案","ctaKey":"获取 7 天评估 Key","ctaDocs":"WebSocket 文档"},"howItWorks":{"heading":"TikTok LIVE API 如何工作？","intro":"TikTool 位于你的应用与 TikTok 直播基础设施之间，架构如下：","step1":{"title":"应用发起连接","body":"你的应用携带 TikTok 用户名和 API Key，打开到 {url} 的 WebSocket 连接。"},"step2":{"title":"TikTool 完成解析","body":"TikTool 解析直播间 ID，处理鉴权和验证挑战，并加入直播间。"},"step3":{"title":"事件实时推送","body":"实时事件（弹幕、礼物、观众等）以干净的 JSON 推送到你的应用，已完成解析、结构化并带有类型定义。"},"outro":"你无需直接处理 TikTok 的协议。当 TikTok 调整内部系统时（这种情况很常见），TikTool 会及时适配，你的代码无需任何改动即可继续运行。"},"quickNode":{"heading":"快速开始：Node.js / TypeScript","install":"从 npm 安装官方 SDK：","connect":"连接直播间并接收事件：","typed":"完整的 TypeScript 支持：所有事件类型、字段和参数均有完整类型定义，可在 IDE 中自动补全。{link}","guideLink":"阅读完整 Node.js 指南"},"quickPython":{"heading":"快速开始：Python","install":"从 PyPI 安装：","connect":"使用 SDK 连接，并通过装饰器注册处理函数：","asyncio":"更喜欢 asyncio？{connect} 可在你自己的事件循环中运行同一个客户端。API Key 也可以从 {envVar} 环境变量读取。","guideLink":"阅读完整 Python 指南"},"quickWs":{"heading":"快速开始：原生 WebSocket（任意语言）","intro":"任何支持 WebSocket 的语言都可以使用，包括 Go、Rust、Java、C#、Ruby、PHP、Dart、Kotlin、Swift。只需连接：","format":"每条消息都是包含 {event} 和 {data} 字段的 JSON 对象。数据干净、结构化，无需解析二进制。{link}","refLink":"完整 WebSocket API 参考"},"events":{"heading":"全部事件类型","intro":"TikTok LIVE API 可从任意直播间实时推送 {count} 种事件类型：","refLink":"查看包含示例 payload 的完整事件参考","list":{"chat":"观众发送的弹幕消息，包含用户信息、评论内容、表情和徽章。","gift":"观众赠送的虚拟礼物，包含礼物名称、钻石价值、连送次数和连击状态。","like":"观众为直播点赞，包含单次事件点赞数和累计点赞数。","member":"观众进入直播间，在用户进入时触发。","follow":"观众在直播期间关注了主播。","share":"观众将直播间分享给好友。","subscribe":"观众订阅了主播。","roomUserSeq":"观众数更新，包含当前观众数和观众贡献榜。","battle":"PK / 连线事件，包含 PK 状态、队伍、比分和参与者。","battleArmies":"PK 阵营更新，包含队伍比分和参与者排名。","roomPin":"主播置顶或标星了一条弹幕。","caption":"TikTok 原生直播自动字幕，每帧一个字幕窗口。","envelope":"直播间内的宝箱或红包事件。","emote":"观众在弹幕中发送的自定义表情。","liveIntro":"直播简介更新，即标题和描述的变更。","streamEnd":"直播已结束，包含原因代码。","connected":"已成功连接到 TikTok 直播间。","error":"发生连接错误，包含错误详情。"}},"useCases":{"heading":"你可以构建什么？","moreLink":"查看更多使用场景","chatAssistants":{"title":"弹幕助手","desc":"构建自动化弹幕助手，实时响应观众消息、指令和礼物。"},"analytics":{"title":"数据分析","desc":"跨直播间追踪观众数、互动率、礼物收入和弹幕活跃度。"},"games":{"title":"互动游戏","desc":"让观众通过礼物、弹幕指令和点赞控制游戏元素。"},"overlays":{"title":"直播叠加层","desc":"制作 OBS / Streamlabs 叠加层，展示弹幕、礼物提醒和观众数据。"},"scouting":{"title":"主播挖掘","desc":"跟踪主播排名、头部送礼用户和联赛排名，发现并培养人才。"},"mobile":{"title":"移动应用","desc":"构建可监控 TikTok LIVE 直播并与之互动的移动应用。"}},"compare":{"heading":"TikTool vs Euler Stream vs tiktok-live-connector","intro":"开源库 {connector}（Node.js）和 {tiktokLive}（Python）由运营 Euler Stream 的同一团队维护。二者共同构成了一个维护良好的生态：MIT 许可的客户端加托管签名后端。TikTool 是一款独立的托管替代方案，拥有自有签名基础设施，功能侧重点也不同。","feature":"功能","rows":{"managed":"托管服务","nodeSdk":"Node.js SDK","pythonSdk":"Python SDK","agencyIntel":"公会情报（排行榜、联赛）","gifterIntel":"送礼用户情报（LTV、用户画像）","liveLeaderboards":"实时排行榜","battleHistory":"PK 历史 + 时间线","leagueRankings":"联赛排名","alerts":"实时提醒","sniperGap":"Sniper Gap（实时 PK 追踪）","agencyCrm":"公会 CRM + 观察名单","profilePages":"公开主页（主播 + 送礼用户）","freeTier":"无需信用卡即可开始","websocketApi":"WebSocket API","captcha":"验证码处理"},"cells":{"selfHosted":"自托管客户端","managed":"托管","official":"官方","viaTikTokLive":"通过 TikTokLive","realTime":"实时","perMatch":"按场次","indexed":"已索引","reqPerDay":"{n} 次请求/天","mitLicensed":"MIT 许可","anyLanguage":"任意语言","pythonOnly":"仅 Python","nodeOnly":"仅 Node.js","builtIn":"内置","viaSigning":"通过签名后端"}},"pricing":{"heading":"价格与 7 天评估","intro":"先用 7 天评估 Key 开始，无需信用卡。之后为生产环境选择付费套餐。","tier":"套餐","price":"价格","concurrent":"{n} 个并发","concurrentDaily":"{n} 个并发（{daily}/24 小时）","plusFirehose":"{n} + Firehose","perDay":"{n}/天","perWeek":"{price}/周","sandboxTier":"Sandbox 套餐","viewPlans":"查看套餐","startFree":"开始 7 天评估"},"faq":{"heading":"常见问题","items":{"publicApi":{"q":"有没有获取直播数据的公开 API？","a":"目前没有专门针对直播事件的官方公开 API。TikTool 是一家独立的第三方托管 API 服务，让开发者实时获取弹幕、礼物、观众、PK 等数据。TikTool 与任何直播平台均无关联，也未获得其背书。"},"free":{"q":"TikTok LIVE API 免费吗？","a":"评估期结束后就不是了。TikTool 从 7 天 Sandbox 评估 Key 开始，包含 3 个并发 WebSocket 连接和每天 5,000 次 REST API 请求，无需信用卡。7 天后需要付费套餐：起价 {price}/周（Basic），每天 10,000 次请求、20 个并发连接。"},"languages":{"q":"TikTok LIVE API 支持哪些编程语言？","a":"TikTool 适用于任何语言。官方 SDK 支持 Node.js（npm：{'@'}tiktool/live）和 Python（pip：tiktok-live-api）。位于 wss://api.tik.tools 的原生 WebSocket API 可配合 Go、Rust、Java、C#、Ruby、PHP、Dart、Kotlin、Swift 以及任何支持 WebSocket 的语言使用。"},"difference":{"q":"TikTool 与开源直播库有什么不同？","a":"使用开源库需要自行维护连接基础设施，平台一更新就容易失效。TikTool 是托管式 API 服务，所有维护、验证挑战处理和直播间鉴权都在服务端完成，你的集成始终稳定、可用于生产环境。"},"data":{"q":"可以从 TikTok LIVE 直播中获取哪些数据？","a":"90+ 种事件类型：弹幕消息、虚拟礼物（含钻石价值）、点赞、关注、分享、观众数、PK 比分、置顶消息、直播状态等。"},"latency":{"q":"延迟是多少？","a":"实时。事件从 TikTok 到达后，TikTool 会立即通过专为低延迟传输打造的托管连接，把每个事件推送到你的 WebSocket。"},"chatAssistant":{"q":"可以构建 TikTok LIVE 弹幕助手吗？","a":"可以。TikTool 的实时弹幕事件包含完整的用户信息、消息内容、表情和徽章。许多开发者用 TikTool 构建互动弹幕助手、管理工具、指令系统和礼物自动回复。"},"streams":{"q":"可以同时监控多少个直播间？","a":"Sandbox：3 个连接。Pro（{proPrice}/周）：50 个。Ultra（{ultraPrice}/周）：250 个。Agency（{agencyPrice}/周）：500 个 + Live Gifter Firehose WS。更高用量可按需申请。"},"euler":{"q":"TikTool 与 Euler Stream 相比如何？","a":"TikTool 和 Euler Stream 都是独立的托管式 TikTok LIVE 服务，功能侧重点不同。Euler Stream 是开源库 tiktok-live-connector（Node.js）和 TikTokLive（Python）所使用的签名后端，由同一团队维护。TikTool 运营自有的独立签名基础设施，并提供 Euler 目前没有的功能，例如公会情报层。Euler Stream 提供免费套餐和付费套餐，TikTool 则先提供 7 天评估，之后为付费套餐。请直接在各自官网对比最新价格和限额。"},"tikfinity":{"q":"对开发者来说，TikTool 比 TikFinity 更好吗？","a":"TikFinity 是一款用于叠加层和提醒的直播工具，非常适合不懂技术的 TikTok 主播。TikTool 是面向开发者的 API，提供 WebSocket 端点、SDK 和 REST API，用于构建自定义应用。如果你需要构建自定义弹幕助手、数据分析看板或游戏集成，TikTool 是正确选择；如果你只想要无需写代码的现成叠加层，TikFinity 可能更适合你。"},"analytics":{"q":"可以用 TikTok LIVE API 做直播数据分析吗？","a":"可以。TikTool 提供实时观众数、互动率、礼物收入追踪、弹幕活跃度指标和 PK 比分。许多开发者用我们的 API 为主播、公会和经纪人搭建自定义数据分析看板。"},"obs":{"q":"TikTok LIVE API 能配合 OBS 和 Streamlabs 使用吗？","a":"可以。你可以使用 TikTool 的 WebSocket API，为 OBS、Streamlabs 和 TikTok Live Studio 构建自定义浏览器源叠加层，在直播画面上直接展示实时弹幕、礼物提醒、观众数和 PK 比分。"}}},"next":{"getStarted":"开始使用","getStartedSub":"30 秒获取 7 天评估 Key","wsRef":"WebSocket 参考","wsRefSub":"完整事件文档"},"schema":{"article":{"headline":"TikTok LIVE API - 完整开发者指南（2026）","description":"TikTok LIVE API 完整指南。通过 WebSocket 实时获取弹幕消息、礼物、观众数、PK 数据。支持 Node.js、Python 及任意语言，7 天评估 Key，无需信用卡。"},"app":{"name":"TikTok LIVE API","description":"面向开发者的实时 TikTok LIVE API。通过 WebSocket 获取弹幕、礼物、观众、PK 数据。提供 Node.js 和 Python SDK。","offer":"Sandbox 套餐，含 3 个并发 WebSocket 连接和每天 5,000 次 REST 请求"},"faq":{"publicApi":{"a":"目前没有专门针对直播事件的官方公开 API。TikTool 是一款独立的第三方托管 API，让开发者实时获取弹幕、礼物、观众等数据。TikTool 与任何直播平台均无关联，也未获得其背书。"},"free":{"a":"评估期结束后就不是了。TikTool 从 7 天 Sandbox 评估 Key 开始，包含 3 个并发 WebSocket 连接和每天 5,000 次 REST API 请求，无需信用卡。7 天后需要付费套餐：用于生产环境的套餐起价 {price}/周（Basic），每天 10,000 次请求、20 个并发连接。"},"languages":{"a":"TikTool 提供 Node.js（npm：{'@'}tiktool/live）和 Python（pip：tiktok-live-api）官方 SDK。原生 WebSocket API 适用于任何语言：Go、Rust、Java、C#、Ruby、PHP、Dart、Kotlin、Swift 等。"},"difference":{"q":"TikTool 与其他直播库有什么不同？","a":"使用开源库需要自行维护连接基础设施，平台一更新就经常失效。TikTool 是托管式 API 服务，连接维护与鉴权都在服务端完成，你的代码始终稳定。"},"data":{"a":"弹幕消息、虚拟礼物（含钻石价值）、点赞、关注、分享、观众数、PK 比分、置顶消息、直播状态，共 90+ 种事件类型。"},"latency":{"q":"TikTok LIVE API 的延迟是多少？","a":"事件从 TikTok 到达后，TikTool 会立即把每个事件推送到你的 WebSocket。托管 WebSocket 连接专为低延迟实时数据传输优化。"},"chatAssistant":{"q":"可以用 TikTok LIVE API 做弹幕助手吗？","a":"可以。TikTool 的实时弹幕事件包含完整的用户信息、消息内容、表情和徽章。许多开发者用它为 TikTok LIVE 直播构建互动弹幕助手、管理工具和自动回复。"},"streams":{"a":"Sandbox（7 天评估）：3 个连接。Pro：50 个。Ultra：250 个。Agency：500 个 + Live Gifter Firehose WS。更高用量可按需申请。"},"euler":{"a":"TikTool 和 Euler Stream 都是独立的托管式 TikTok LIVE 服务，功能侧重点不同。Euler Stream 是开源库 tiktok-live-connector 和 TikTokLive 所使用的签名后端，由同一团队维护。TikTool 运营自有的独立签名基础设施，并提供公会情报层等额外功能。Euler Stream 提供免费套餐和付费套餐，TikTool 则先提供 7 天评估，之后为付费套餐。请直接在各自官网对比最新价格和限额。"},"tikfinity":{"a":"TikFinity 是一款用于叠加层和提醒的直播工具，非常适合不懂技术的主播。TikTool 是面向开发者的 API，提供 WebSocket 端点、SDK 和 REST API，用于构建自定义应用。如果你需要构建自定义弹幕助手、数据分析看板或游戏集成，TikTool 是更好的选择；如果你只想要现成的叠加层，TikFinity 可能更适合你。"},"obs":{"a":"可以。你可以使用 TikTool 的 WebSocket API，为 OBS、Streamlabs 和 TikTok Live Studio 构建自定义浏览器源叠加层，展示实时弹幕、礼物提醒、观众数和 PK 比分。具体实现请参阅我们的叠加层指南。"}},"howTo":{"name":"如何接入 TikTok LIVE API","description":"30 秒内连接任意 TikTok 直播间并接收实时数据。","step1":{"name":"获取 7 天评估 Key","text":"在 tik.tools 注册并复制你的 API Key，无需信用卡。"},"step2":{"name":"安装 SDK","text":"运行：{npm}（Node.js）或 {pip}（Python）"},"step3":{"name":"连接并接收事件","text":"使用主播用户名和你的 API Key 创建客户端，添加事件监听器，然后调用 connect()。"}}}},"rankings":{"seo":{"title":"TikTok LIVE 各国排行榜 - 覆盖所有地区 {'|'} TikTool","description":"覆盖 {boards} 个地区和国家的 TikTok LIVE 排行榜：按钻石和直播状态排列的头部主播榜单全收录，并介绍榜单重置规则和全部 {count} 个联赛等级。","ogTitle":"TikTok LIVE 各国排行榜"},"hero":{"badge":"排行榜","title":"TikTok LIVE","titleHighlight":"各国排行榜","subtitle":"汇总所有地区和国家的 TikTok LIVE 排行榜链接，每个榜单展示今日按钻石排名的头部主播及正在直播的主播，并附上背后的联赛等级。","updated":"更新于 {time}。","refresh":"榜单持续刷新。"},"stats":{"regional":"地区榜单","country":"正在更新的国家榜单","countries":"已对应榜单的国家","leagueClasses":"联赛等级"},"regions":{"title":"地区排行榜","lead":"TikTok 将大多数市场划入地区赛区进行排名。每个赛区有一个榜单，列出在该赛区获得钻石最多的主播，大多数地区每日重置。"},"cardSub":"TikTok LIVE 排行榜","countryBoards":{"title":"国家排行榜","lead":"TikTok 单独排名、不属于任何赛区的市场。国家榜单更新期间会显示在这里。"},"countries":{"title":"查找你的国家","lead":"每个国家都链接到其主播所在的榜单。同一赛区的国家共用该赛区的榜单。"},"how":{"title":"榜单规则","diamonds":{"title":"按今日获得的钻石排名","body":"每个榜单按主播自上次重置以来通过 LIVE 礼物获得的钻石，列出最多前 100 名主播，并标注当前正在直播的主播。"},"resets":{"title":"每日重置","body":"大多数榜单每天在所在地区的重置时间重置一次，每个榜单上都有倒计时显示。{hourly} 则采用小时榜。"},"leagues":{"title":"日榜之外还有联赛","body":"除了日榜，主播还会参加联赛，联赛分为 {count} 个等级，从最高的 A1 到 D5。"}},"leagues":{"title":"TikTok LIVE 联赛等级","lead":"完整的等级阶梯，从最高等级开始。每个地区的榜单都链接到对应的联赛分组。","group":"{group} 组"},"faq":{"title":"常见问题","what":{"q":"什么是 TikTok LIVE 排行榜？","a":"TikTok 为每个地区发布 LIVE 日榜或小时榜，按主播自上次重置以来通过礼物获得的钻石排序。tik.tools 追踪每个榜单的前 100 名、当前正在直播的主播，以及各榜单近几天的变化。"},"coverage":{"q":"覆盖哪些国家和地区？","a":"目前共 {boards} 个榜单：{regions} 个地区赛区（如北美、拉美和巴尔干），以及 {countries} 个 TikTok 单独排名的国家。同一赛区内的国家共用该赛区的榜单。"},"updates":{"q":"排行榜多久更新一次？","a":"主播直播期间，榜单持续刷新。大多数榜单每天在所在地区的重置时间重置一次；{hourly} 采用每小时重置的小时榜。"},"leagues":{"q":"TikTok LIVE 联赛如何运作？","a":"联赛将主播分为 {count} 个等级：{ranges}，其中 {top} 为最高等级。同一等级内，主播被分入不同分组，在联赛周期内比拼钻石；大多数地区为周赛，{hourly} 为日赛。主播的最终名次决定其升级还是降级。"},"api":{"q":"可以通过 API 获取这些数据吗？","a":"可以。同样的日榜、联赛分组和送礼用户排名都可以通过 tik.tools 排行榜 API 获取，并提供 Node 和 Python SDK。"}},"next":{"title":"更多排行榜","global":{"title":"全球排行榜","sub":"一页查看所有地区的头部主播"},"gifters":{"title":"头部送礼用户","sub":"榜单背后的支持者"},"gaming":{"title":"游戏榜","sub":"各游戏的 LIVE 排名"},"api":{"title":"排行榜 API","sub":"面向开发者的同款榜单"}},"jsonLd":{"breadcrumbHome":"首页","breadcrumbLeaderboards":"排行榜","breadcrumbPage":"各国排行榜","name":"TikTok LIVE 各国排行榜","itemName":"{region} TikTok LIVE 排行榜"},"classRange":"{from} 至 {to}","regionNames":{"MENA":"中东和非洲"}},"bestTime":{"seo":{"title":"TikTok 最佳开播时间 - 实时热力图（按你的时区）{'|'} Tik.Tools","description":"TikTok LIVE 礼物量实时热力图。滚动统计近 28 天，按你所在时区的星期 x 小时分布，汇总我们追踪的所有地区数据。Tik.Tools 免费工具。","ogTitle":"TikTok LIVE 最佳开播时间 - 热力图（按你的时区）","ogDescription":"看看 TikTok LIVE 上哪些日子、哪些时段的钻石打赏最多。实时数据，滚动 28 天，按你的本地时区显示。"},"hero":{"eyebrow":"实时 · 每小时更新 · 按直播本地时间","title":"什么时候{accent}最好？","titleAccent":"在 TikTok 开播","sub":"汇总我们追踪的所有 TikTok LIVE 主播的钻石礼物量，按星期和小时（以{localTime}计）分组（日本晚上 9 点的礼物和美国晚上 9 点的礼物都计入 9 点这一列）。颜色越深，代表全球在该本地时段打赏的钻石越多。可作为你安排开播时段的参考基线。","subLocalTime":"每个事件各自的本地时间"},"gate":{"label":"登录查看最佳时段和日期","sub":"免费账号，解锁高峰时段、高峰日期和完整热力图。"},"conclusions":{"hour":{"eyebrow":"最佳时段","meta":"7 天累计 {value} 钻石"},"day":{"eyebrow":"最佳开播日","meta":"24 小时累计 {value} 钻石"},"slot":{"eyebrow":"高峰时段","meta":"仅该小时就有 {value} 钻石"}},"days":{"mon":"星期一","tue":"星期二","wed":"星期三","thu":"星期四","fri":"星期五","sat":"星期六","sun":"星期日"},"hourAm":"上午{h}点","hourPm":"下午{h}点","slotLabel":"{day} {hour}","loading":"正在加载 28 天汇总数据...","meta":{"window":"统计窗口：最近 {days} 天","bucketed":"按各地区本地时间分组","updated":"更新于 {when}","recently":"刚刚"},"relative":{"justNow":"刚刚","minutes":"{n} 分钟前","hours":"{n} 小时前","days":"{n} 天前"},"cta":{"title":"基于 TikTok LIVE 数据进行开发","api":{"eyebrow":"开发者 API","title":"实时礼物 + 弹幕数据流","sub":"WebSocket + REST。Sandbox 套餐。付费套餐 {price}/周起。"},"leaderboards":{"eyebrow":"排行榜","title":"{count} 个地区，实时排名","sub":"国家榜 + 联赛排名。PRO+ / ULTRA+ 起不脱敏。"},"agency":{"eyebrow":"GLOBAL AGENCY","title":"在所有地区挖掘主播","sub":"CRM + 观察名单 + Telegram 提醒。{price}/周。"}},"explainer":{"title":"如何解读这张热力图","p1":"我们汇总了基础设施在 {count} 个地区的 TikTok LIVE 主播中观测到的每一个{gift}。每个事件都带有送礼用户的国家信息，我们据此先把 UTC 时间戳换算为{clock}，再进行分组。因此，日本晚上 9 点的礼物和美国晚上 9 点的礼物都会计入 9 点这一列，尽管二者在 UTC 时间上相差约 14 小时。热力图直接以「直播本地时间」解读：无论你身在何处，如果你在晚上 8 点开播，就看 8 点这一列。","p1Gift":"有钻石价值的礼物","p1Clock":"该地区的本地时间","p2":"这是 LIVE 经济的{global}视图，你所在的细分领域或地区可能有所不同。如需针对特定地区的开播时段，请查看 {rankingLink} 页面并按国家筛选，或通过 {apiLink} 按小时拉取目标地区的数据。","p2Global":"全球","p2ApiLink":"排行榜数据 API"},"faq":{"title":"常见问题","bestTime":{"q":"TikTok 什么时候开播最好？","a":"全球钻石打赏高峰集中在周五和周六本地时间晚上 7 点到午夜，周日晚上 9 点左右还有一个次高峰。上方热力图展示的是实时滚动 28 天的数据。"},"timezones":{"q":"热力图考虑了不同主播的时区吗？","a":"考虑了。每个礼物事件都带有送礼用户的国家代码。我们先把 UTC 时间戳换算为该国家的标准本地时间再进行分组，因此日本晚上 9 点的礼物和美国晚上 9 点的礼物都计入 9 点这一列。整张表在全球任何地方都按「直播本地时间」解读，而不是某个观众的时钟。"},"fresh":{"q":"数据有多新？","a":"滚动统计近 28 天，定期更新。"},"niche":{"q":"细分领域有影响吗？","a":"有。这里展示的是全球整体情况。游戏主播、ASMR、音乐和舞蹈各有不同的高峰时段。请把它当作参考基线；如需细分领域的时段，可调用排行榜数据 API 并按你的地区筛选。"},"official":{"q":"Tik.Tools 的数据是官方数据吗？","a":"这些数据来自我们自己的 LIVE 基础设施，观测的是任何主播后台标签页都能看到的公开 WebSocket 礼物事件。数据未获得字节跳动（ByteDance）背书。"}},"jsonLd":{"bestTimeA":"全球钻石打赏高峰集中在周五和周六本地时间晚上 7 点到午夜，周日晚上 9 点左右还有一个次高峰。Tik.Tools 免费热力图按你的本地时区展示实时滚动 28 天的数据。","calculatedQ":"热力图是如何计算的？","calculatedA":"Tik.Tools 汇总我们的基础设施在 {count} 个地区、近 28 天内观测到的每一个有钻石价值的 TikTok LIVE 礼物，先把每个事件换算为送礼用户所在国家的本地时间，再按星期和小时进行分组。","peakQ":"应该在高峰时段直播吗？","peakA":"高峰时段观众消费最多，但竞争也最激烈。对于新主播，在高峰前 1-2 小时开播更容易积累观众关注；对于成熟主播，直接在高峰时段开播可最大化礼物收入。"}},"agencies":{"seo":{"title":"TikTok LIVE 公会名录 - TikTool","description":"按地区浏览已认证的 TikTok LIVE 主播公会，查看谁正在直播，私信联系公会，或为你自己的公会免费认领入驻。"},"hero":{"title":"TikTok LIVE 公会","new":"新","sub":"寻找一家能和你共同成长的 TikTok LIVE 公会，或免费入驻你自己的公会并认领旗下主播。","cta":"免费入驻公会"},"regions":{"scrollLeft":"向左滚动地区","scrollRight":"向右滚动地区","filter":"按地区筛选","all":"全部","selected":"已选 {count} 个","clear":"清除"},"updating":"更新中...","card":{"featured":"精选","viewAria":"查看 {name}","bannerAlt":"{name} 横幅","logoAlt":"{name} 标志","verified":"已认证公会","creators":"{count} 位主播","liveNow":"{count} 位正在直播","viewProfile":"查看主页","message":"私信"},"placeholder":{"title":"入驻你的公会","copy":"认领旗下主播，获得曝光，免费认证入驻。","foot":"创建入驻信息"},"jsonLd":{"name":"TikTok LIVE 公会名录","description":"已认证的 TikTok LIVE 主播公会，包含主播阵容、直播状态和私信功能。"}},"agencyCatalog":{"index":{"searchPlaceholder":"按名称搜索公会","searchLabel":"搜索公会","verifiedTitle":"已认证公会","loadMore":"显示更多（还剩 {count} 个）","allTitle":"全部公会","allSub":"我们收录的所有 TikTok LIVE 公会，附带所在地区和直接申请链接。你是其中某家公会的运营者？认领后即可获得认证资料页。","hubsTitle":"按地区浏览公会"},"card":{"viewAria":"打开 {name} 的资料页","logoAlt":"{name} 的标志","verified":"已认证公会","followers":"{count} 位粉丝","apply":"申请","viewProfile":"查看资料","claim":"认领公会","bannerSlot":"在此展示您的横幅","bannerSlotCta":"这是您的公会吗？免费认领"},"grid":{"empty":"没有符合这些筛选条件的公会。","gateTitle":"显示 {total} 个公会中的 {shown} 个","gateSub":"升级到 Agency Global 即可解锁完整名录：所有公会、所有地区，并支持全局搜索。","gateCta":"获取 Agency Global","gateSignIn":"已是会员？请登录","pagerLabel":"公会分页","prev":"上一页","next":"下一页","pageOf":"第 {page} 页，共 {pages} 页","searchLocked":"按名称搜索所有公会属于 Agency Global 的功能。当前显示的是前几家公会。"},"profile":{"breadcrumbLabel":"面包屑导航","breadcrumbDirectory":"公会名录","onboarded":"自 {date} 起在 TikTok LIVE","claimBanner":"这是你的公会吗？认领后可添加标志、网站和联系方式，并获得认证标识。","claimBannerCta":"认领这家公会","aboutTitle":"简介","noIntro":"{name} 还没有添加简介。","servicesTitle":"主播服务","statsTitle":"概览","stats":{"creators":"主播","agents":"经纪人","diamonds":"月度钻石","health":"健康评分"},"source":"详细信息来自 TikTok LIVE 公会的公开资料。tik.tools 与 TikTok 及该公会没有任何关联。","seoTitle":"{name}：TikTok LIVE 公会资料","seoDescription":"{name} 是一家 TikTok LIVE 公会。查看其服务并申请加入。","seoDescriptionRegion":"{name} 是位于 {region} 的 TikTok LIVE 公会。查看其服务并申请加入。","message":{"button":"私信这家公会","title":"私信 {name}","nameLabel":"公会看到的你的名字","shareEmail":"分享我的邮箱（{email}），让公会可以直接回复我","bodyLabel":"你的消息","placeholder":"介绍一下你自己：你是谁、你的 TikTok 账号，以及你在找什么。","count":"{count} / {max}","minHint":"至少 {min} 个字符","helper":"你的消息由 tik.tools 转交给公会。不允许包含链接。如果公会还没有公开联系方式，我们会替它保留消息，直到它认领这个页面。","send":"发送消息","sending":"发送中...","cancel":"取消","close":"关闭","success":"消息已发送。我们会转交给 {name}。","error":"消息发送失败，请稍后再试。"}},"hub":{"title":"{region} 的 TikTok LIVE 公会","sub":"在 {region} 招募主播的已认证和已收录 TikTok LIVE 公会，附带直接申请链接。","empty":"{region} 暂时还没有收录公会。","seoTitle":"{region} 的 TikTok LIVE 公会","seoDescription":"查找 {region} 的 TikTok LIVE 公会：已认证名录、主播服务和直接申请链接。"},"services":{"1_on_1_support":"一对一支持","live_skills_training":"LIVE 技能培训","manager_live_review":"经理 LIVE 复盘","guaranteed_salary":"保底薪资","live_equipment":"LIVE 设备"},"claim":{"title":"认领这家公会","sub":"证明你运营这家公会，即可管理其资料页。通过认证后，你可以添加标志、网站和联系方式。","inReview":"我们的团队正在审核这家公会的认领申请。","signIn":"登录后认领","success":"认证成功。该公会已关联到你的账号。","openListing":"编辑你的资料页","busy":"其他人正在认证这家公会。请稍后再试。","methodsLabel":"认证方式","methods":{"email":"邮箱验证码","domain":"网站验证","evidence":"截图审核"},"domainLabel":"公会网站","domainPlaceholder":"youragency.com","working":"处理中...","checking":"检查中...","verify":"验证","copy":"复制","copied":"已复制","email":{"help":"我们会向你公会网站域名下的邮箱发送验证码，例如 hello{'@'}youragency.com。免费邮箱不被接受。","label":"该域名下的邮箱","placeholder":"you{'@'}youragency.com","send":"发送验证码","sent":"我们已向 {email} 发送验证码，30 分钟后失效。","codeLabel":"验证码","change":"使用其他邮箱"},"domain":{"help":"在你的网站域名下发布一个令牌。两种方式任选其一。","getToken":"获取我的令牌","optionDns":"方式 A：DNS TXT 记录","optionFile":"方式 B：网站上的文件","recordType":"类型","recordName":"名称","recordValue":"值","or":"或","fileUrl":"URL","fileContent":"内容","check":"立即检查","change":"使用其他域名"},"evidence":{"help":"上传一张显示公会名称的 TikTok 公会后台截图。我们的团队会进行审核，通常在两个工作日内完成。","continue":"继续使用截图"},"errors":{"rateLimited":"尝试次数过多，请稍后再试。","taken":"这家公会已被认领或正在审核中。","hasListing":"你的账号已有一个已发布的资料页。请改用邮箱或网站验证。","otherListing":"你的账号已在名录中管理另一家公会。","expired":"该认领已过期，请重新开始。","badEmail":"请使用你公会网站域名下的邮箱地址。","badDomain":"请输入你自己公会的网站，而不是邮箱服务或社交媒体网站。","wrongCode":"验证码不正确。","notFound":"暂时还找不到令牌。DNS 更改可能需要几分钟才能生效。","generic":"出了点问题，请重试。","hasListingLive":"你的资料已经上线。请联系支持团队，将其关联到这家公会。"},"successReview":"已收到证明。该域名与公会名称不一致，因此上线前需要我们的团队审核该链接。"},"dispute":{"open":"举报所有权","title":"举报 {name} 的所有者","sub":"请告诉我们为什么这个账号并未运营该公会。所有者有 48 小时提交证据，我们的团队会审核结果。","reportLabel":"资料归属争议"}},"gifterLevels":{"seo":{"title":"TikTok 送礼等级 - 完整对照表（2026 金币、美元、特权）{'|'} Tik.Tools","description":"TikTok 送礼等级从 Level 1 到 Level 50+ 全收录：所需累计金币、美元花费、送出钻石和徽章特权。2026 年更新的免费参考表。","ogTitle":"TikTok 送礼等级 - 2026 参考表","ogDescription":"完整的 TikTok 送礼等级进阶表：金币、美元、钻石、特权。"},"hero":{"eyebrow":"TikTok 送礼等级 · 2026","title":"TikTok {accent}：完整进阶表","titleAccent":"送礼等级","sub":"TikTok 每个送礼等级所需的累计金币及大致美元花费。等级在不同主播间通用，可解锁徽章（头像框 + 进场光效），送礼用户进入任何直播间时都会随身显示。"},"lookup":{"label":"查询任意送礼用户的等级","placeholder":"输入 TikTok {'@'}用户名","hint":"查询任意 TikTok 账号的等级、所属地区和累计送礼。","apiKey":"获取 7 天评估 Key","leaderboards":"实时送礼用户排行榜"},"table":{"scrollHint":"左右滑动表格查看美元花费和特权","ariaLabel":"TikTok 送礼等级表","level":"等级","name":"名称","coins":"所需金币","usd":"美元花费","perks":"特权","levelPill":"Lv{level}","foot":"美元数据为 tiktok.com/coin 上的 TikTok 官方充值价格（2025 年九月快照）。由于平台手续费，通过 App Store / Play Store 购买通常要贵 30% 左右。各等级所需金币为 TikTok 送礼等级计划公布的门槛：达到 Level N 表示该送礼用户在所有曾送过礼的直播间累计消费了表中所列的金币总数。"},"levelNames":{"1":"新人 I","2":"新人 II","3":"新人 III","4":"新人 IV","5":"青铜 I","6":"青铜 II","7":"青铜 III","8":"青铜 IV","9":"白银 I","10":"白银 II","11":"白银 III","12":"白银 IV","13":"黄金 I","14":"黄金 II","15":"黄金 III","16":"黄金 IV","17":"铂金 I","18":"铂金 II","19":"铂金 III","20":"铂金 IV","21":"钻石 I","22":"钻石 II","23":"钻石 III","24":"钻石 IV","25":"皇冠 I","26":"皇冠 II","27":"皇冠 III","28":"皇冠 IV","29":"至尊皇冠 I","30":"至尊皇冠 II","31":"至尊皇冠 III","32":"至尊皇冠 IV","33":"国王 I","34":"国王 II","35":"国王 III","36":"国王 IV","37":"帝王 I","38":"帝王 II","39":"帝王 III","40":"帝王 IV","41":"星辰 I","42":"星辰 II","43":"星辰 III","44":"星辰 IV","45":"宇宙 I","46":"宇宙 II","47":"宇宙 III","48":"宇宙 IV","49":"传奇","50":"神话"},"levelPerks":{"1":"默认徽章","2":"首个等级徽章","3":"解锁评论颜色","4":"青铜级进场特效","5":"解锁青铜徽章","6":"青铜头像框","7":"青铜动态头像框","8":"青铜精英头像框","9":"解锁白银徽章","10":"白银头像框 + 评论光效","11":"白银动态头像框","12":"白银精英头像框","13":"解锁黄金徽章","14":"黄金头像框 + 进场高亮","15":"黄金动态头像框","16":"黄金精英头像框","17":"解锁铂金徽章","18":"铂金头像框","19":"铂金动态头像框","20":"铂金精英头像框 + 自定义进场特效","21":"解锁钻石徽章","22":"钻石头像框","23":"钻石动态头像框","24":"钻石精英 + 送礼榜优先展示","25":"解锁皇冠徽章","26":"皇冠头像框","27":"皇冠动态头像框","28":"皇冠精英 + 高级进场特效","29":"解锁至尊皇冠徽章","30":"至尊皇冠头像框","31":"至尊皇冠动态头像框","32":"至尊皇冠精英头像框","33":"解锁国王徽章","34":"国王头像框","35":"国王进场动画","36":"国王精英头像框 + 星辰光环","37":"解锁帝王徽章","38":"帝王头像框","39":"帝王动态头像框","40":"帝王精英头像框","41":"解锁星辰徽章","42":"星辰头像框","43":"星辰动态光环","44":"星辰精英光环","45":"解锁宇宙徽章","46":"宇宙头像框","47":"宇宙动态光环","48":"宇宙精英光环","49":"传奇等级：所有送礼用户中前 0.001%","50":"神话等级：公开送礼等级上限"},"cta":{"heading":"跨主播追踪送礼用户","rankings":{"eyebrow":"送礼用户排行","title":"实时大哥排行榜","sub":"{count} 个地区，日榜 / 周榜 / 总榜。PRO+ 起不脱敏。"},"firehose":{"eyebrow":"FIREHOSE WS","title":"实时礼物数据流","sub":"所有礼物，所有地区。{price}/周。"},"api":{"eyebrow":"开发者 API","title":"搭建送礼用户看板","sub":"开箱即用的 SDK。WebSocket + REST。{price}/周起。"}},"explainer":{"heading":"TikTok 送礼等级如何运作","p1":"TikTok 会统计你在所有曾送过礼的直播间中的{coinsSpent}。每达到一个门槛，就会解锁新的{gifterLevel}，附带专属徽章、发光的弹幕颜色，以及进入任何主播直播间时触发的进场特效。等级全局通用，不会重置，无论你观看哪位主播都会显示。","p1CoinsSpent":"累计金币消费","p1GifterLevel":"送礼等级","p2":"在更高等级（Level 25+），TikTok 会增加{vip}、自定义评论框，以及在你进入的每个直播间送礼榜中优先展示。Level 36+ 解锁稀有的{cosmicAura}；Level 45+ 解锁{universe}等级；Level 49-50 是公开上限的{legend}和{mythic}等级。主播在你送出的每一份礼物上都能看到你的等级。","p2Vip":"VIP 进场动画","p2CosmicAura":"星辰光环","p2Universe":"宇宙","p2Legend":"传奇","p2Mythic":"神话","faqHeading":"常见问题"},"faq":{"howWork":{"q":"TikTok 送礼等级如何运作？","a":"TikTok 会统计你在所有曾送过礼的直播间中累计消费的金币。每达到一个门槛就解锁一个送礼等级，附带徽章、光效颜色和进场特效，进入任何主播直播间都会随身显示。"},"worth":{"q":"每个送礼等级需要花多少钱？","a":"按 TikTok 实际充值价格：Level 10（白银 II）= 530 金币 ≈ $5.52。Level 20（铂金 IV）= 27,800 金币 ≈ $289。Level 30（至尊皇冠 II）= 637,000 金币 ≈ $6,625。Level 40（帝王 IV）= 8.78M 金币 ≈ $91K。Level 50（神话）= 97.5M 金币 ≈ $1.01M。"},"reset":{"q":"TikTok 送礼等级会重置或过期吗？","a":"不会。送礼等级全局通用且永久有效。一旦达到 Level 25，你就会永久保留该徽章，包括在你从未看过的主播直播间里。"},"highest":{"q":"TikTok 送礼等级最高是多少级？","a":"TikTok 公开显示的最高等级为 Level 50（神话）。达到该等级需要累计约 97.5M（九千七百五十万）金币（按官方充值价格约合 $1.01M）。"},"carry":{"q":"送礼等级在不同主播间通用吗？","a":"通用。等级绑定的是你的 TikTok 账号，而不是主播。无论你进入的是小主播的直播间，还是 50K 观众的 PK，显示的都是同一个徽章。"},"creatorSees":{"q":"主播能看到自己直播间里等级最高的送礼用户是谁吗？","a":"能。TikTok 会显示送礼榜及每位观众的等级。Tik.Tools 公会控制台提供更丰富的细节：累计钻石、近期送礼记录、跨主播送礼足迹。"}},"jsonLd":{"level30":{"q":"达到 Level 30 需要多少金币？","a":"Level 30（至尊皇冠 II）需要累计 637,000 金币，按 TikTok 官方充值价格计算为 $6,624.80 美元。由于 App Store / Play Store 手续费，通过 iOS / Android 购买大约要贵 30%。"},"reset":{"q":"TikTok 送礼等级会重置吗？","a":"不会。等级全局通用，在不同主播间保留，且不会重置。一旦达到某个等级，就会一直保留。"},"highestA":"TikTok 公开显示的等级最高到 Level 50+，精英等级（星辰光环）从 Level 36 开始。"}},"diamondsCalculator":{"seo":{"title":"TikTok 钻石计算器 - 钻石换算美元（2026 汇率）{'|'} Tik.Tools","description":"免费 TikTok 钻石计算器。实时在 TikTok 钻石和美元之间双向换算。包含 2026 年金币兑钻石比例、主播收益（1 钻石 = $0.005）以及完整礼物价格表。","ogTitle":"TikTok 钻石计算器 - 实时美元换算","ogDescription":"按 2026 汇率将 TikTok 钻石换算为美元。详解 TikTok 手续费、主播收益和平台分成。"},"hero":{"eyebrow":"免费计算器 · 2026 汇率","title":"TikTok 钻石{accent}","titleAccent":"计算器","sub":"实时将 TikTok 钻石换算为美元。在任意一侧输入，另一侧会按 TikTok 公布的比例即时更新（$1 = 200 金币，1 钻石 = $0.005 主播收益）。"},"converter":{"diamonds":"钻石","usd":"美元（主播收益）","split":"观众支付 {paid} · TikTok 保留 {kept}"},"presets":{"universe":"宇宙（44,999 ◇）","lion":"狮子（29,999 ◇）"},"lookup":{"label":"查看任意主播的钻石","placeholder":"输入主播 {'@'}用户名","hint":"查询任意 TikTok 主播的钻石、送礼用户和直播记录。","apiKey":"获取 7 天评估 Key","leaderboards":"主播排行榜"},"cta":{"heading":"让 TikTok LIVE 数据为你所用","api":{"eyebrow":"开发者 API","title":"实时弹幕、礼物、PK","sub":"REST + WebSocket。开箱即用的 SDK。{price}/周起。"},"leaderboards":{"eyebrow":"排行榜","title":"{count} 个地区，覆盖所有主播","sub":"日榜 / 小时榜 / 总榜。PRO+ 起不脱敏。"},"agency":{"eyebrow":"GLOBAL AGENCY","title":"Live Gifter Firehose + Telegram","sub":"挖掘所有地区的主播。{price}/周。"}},"explainer":{"heading":"TikTok 钻石、金币和主播分成如何运作","p1":"观众购买金币时，TikTok 网页端的价格大约是 {rate}（移动端价格因应用商店手续费而异，由于 App Store 抽成，在 iOS / Android 上 $1 通常只能买到 70-100 金币）。每个 LIVE 礼物需要观众花费固定数量的金币，礼物送到主播直播间后会转换为{diamonds}，即 TikTok 的内部结算货币。","p1Rate":"$1 兑 200 金币","p1Diamonds":"钻石","p2":"主播按 {rate}（半美分）提现钻石。也就是说，TikTok 大约保留观众所付金额的 {share}，另一半支付给主播。一个 1,000 钻石的礼物，观众花费约 $10，主播获得 $5。这一分成比例自 2020 年以来一直保持稳定。","p2Rate":"1 钻石 = $0.005","p2Share":"50%","callout":"{important}主播收益是在 TikTok 自身平台扣除项（LIVE 主播计划分成、地区系数、签约主播的公会抽成）{before}的金额。根据公会合同条款，主播账户的最终到手收入可能比钻石总值乘以 $0.005 低 20-40%。","calloutImportant":"重要提示：","calloutBefore":"之前"},"rates":{"heading":"常用换算一览","diamonds":"钻石","viewerPaid":"观众支付 ≈","creatorPayout":"主播收益 ≈","commonGifts":"常见礼物","gifts":{"d5":"玫瑰 · 1 金币，送出后折合 5 钻石","d99":"香水 · TikTok","d100":"比心 · 墨镜","d1000":"银河 · 跑车","d5000":"绣球花 · 高级跑车","d10000":"戏精女王 · 游艇","d29999":"狮子","d44999":"宇宙 · TikTok 宇宙"}},"faqHeading":"常见问题","faq":{"oneDiamond":{"q":"1 个 TikTok 钻石值多少美元？","a":"1 钻石 = $0.005（半美分）主播收益。观众为产生这 1 钻石支付了约 $0.01。"},"hundredUsd":{"q":"$100 等于多少钻石？","a":"$100 主播收益 = 20,000 钻石。观众花费约 $200 的金币。"},"fiftyPercent":{"q":"TikTok 会抽走 50% 的钻石吗？","a":"是的，大约是 50/50 分成。观众每钻石支付约 $0.01，主播每钻石获得约 $0.005。"},"cheapest":{"q":"最便宜的 TikTok 礼物是什么？","a":"玫瑰，1 金币（观众花费约 $0.005，转换后主播收益 $0.0025）。"},"mostExpensive":{"q":"最贵的 TikTok 礼物是什么？","a":"宇宙 / TikTok 宇宙，44,999 钻石（观众花费约 $450，主播收益 $225）。狮子为 29,999 钻石。"},"taxable":{"q":"TikTok 钻石收入需要缴税吗？","a":"需要。在美国，一旦超过 IRS 申报门槛，TikTok 会开具 1099 表格。其他地区遵循当地规定。"},"payout":{"q":"钻石什么时候结算？","a":"TikTok 按月批量结算，并设有最低提现门槛（美国为 $50）。资金在结算周期结束后 30-60 天到账。"}},"jsonLd":{"oneDiamondA":"1 个 TikTok 钻石 = $0.005（半美分）主播收益。观众为购买产生这 1 钻石的金币支付了约 $0.01，另一半由 TikTok 保留。","hundredUsd":{"q":"$100 等于多少钻石？","a":"$100 主播收益相当于 20,000 钻石。观众一方为此花费了约 $200 的金币。"},"fiftyPercentA":"是的，TikTok 大约抽取礼物总收入的 50%。观众每钻石以金币形式支付约 $0.01；主播每钻石获得约 $0.005 收益。","taxable":{"q":"钻石收益需要缴税吗？","a":"需要。在大多数司法管辖区，TikTok 主播收益都属于应税收入。在美国，一旦超过 IRS 门槛，TikTok 会开具 1099 表格；其他地区遵循当地规定。"}}},"gifts":{"seo":{"title":"TikTok 直播礼物 - 完整图鉴 + 免费下载","description":"所有 TikTok LIVE 虚拟礼物汇集于一个可搜索的图鉴。钻石价格（每钻石 $0.01）、美元价值、透明 PNG 下载。数据来自 tik.tools 上的真实礼物事件，tik.tools 是面向开发者和公会的直播 API。","socialDescription":"所有 TikTok LIVE 虚拟礼物一站汇集。搜索、按价值排序、下载透明 PNG。"},"hero":{"title":"TikTok 直播{accent}","titleAccent":"礼物","sub":"所有 TikTok LIVE 虚拟礼物一站汇集。钻石价格、美元价值、免费下载。数据实时来自驱动 tik.tools SDK 的同一数据流。","count":"{count} 个礼物"},"searchPlaceholder":"按名称搜索礼物...","sort":{"valueDesc":"从高到低","valueAsc":"从低到高","name":"名称 A-Z","recent":"最近"},"captcha":{"title":"快速验证","sub":"选择匹配的图块即可继续浏览。{question}","loadError":"验证加载失败，请刷新。","wrongAnswer":"答案错误，请再试一次。"},"empty":"没有与「{search}」匹配的礼物。","viewDownload":"查看 + 下载","pager":{"prev":"上一页","next":"下一页","info":"第 {page} 页，共 {total} 页"},"cta":{"title":"想实时获取每一个礼物事件？","body":"同一份图鉴数据也为 tik.tools API 提供支持。接入你的应用，即可实时收到每一个礼物、弹幕、点赞和关注。","primary":"了解 API","secondary":"7 天评估"}},"pricing":{"seo":{"title":"TikTok LIVE API 价格","description":"TikTok LIVE API 价格：Sandbox，Basic {symbol}{basic}/周，Pro {symbol}{pro}/周，Ultra {symbol}{ultra}/周，Agency {symbol}{agency}/周。实时 WS 事件（弹幕/礼物/点赞/关注/进房/PK）、签名 REST、联赛 + 排行榜数据。","ogDescription":"TikTok LIVE API 价格：Sandbox，Basic {symbol}{basic}/周，Pro {symbol}{pro}/周，Ultra {symbol}{ultra}/周，Agency {symbol}{agency}/周。"},"hero":{"title":"适合每个{accent}的价格方案。","titleAccent":"团队","subtitle":"TikTools 从 Sandbox Key 开始，提供 7 天评估，无需信用卡，之后需要付费套餐。付费套餐 {symbol}{price}/周起。"},"keySelector":{"label":"选择要管理的 API Key","createNew":"新建 Key","newKeyPlaceholder":"为新 Key 命名（例如 Production、Assistant 2...）","unnamed":"未命名","renews":"{date} 续费","choose":"选择一个 API Key..."},"leadHeading":"免费评估 7 天，然后选择套餐","billing":{"ariaLabel":"计费周期","weekly":"按周","monthly":"按月","saveUpTo":"最高省 {percent}%"},"period":{"weekly":"周","monthly":"月","weekFull":"周","monthFull":"月"},"cycleName":{"weekly":"周付","monthly":"月付"},"card":{"save":"省 {percent}%","monthlyOnly":"仅限月付","mostPopular":"最受欢迎","basic":{"desc":"个人项目和小型机器人，入门所需一应俱全","foot":"社区与文档支持 · 适合个人项目 + 小型机器人"},"pro":{"desc":"适合构建生产级应用的开发者","foot":"完整不脱敏的排行榜 API · Feed Discovery · 优先在线客服"},"ultra":{"desc":"适合团队和大用量企业使用","foot":"礼物目录 + 不脱敏联赛排名 · 峰值观众 / 高价值礼物 Webhook 事件"},"starter":{"desc":"适合每次在一个地区招募的公会：公会控制台加 API 权限","foot":"公会控制台：主播名单、招募漏斗、分地区招募、主播简报、提醒、团队 · 标准榜、联赛榜 + 游戏榜及你所在地区的送礼榜不脱敏 · 已包含，无需积分"},"global":{"desc":"适合挖掘和管理 TikTok LIVE 主播的公会","foot":"包含 Ultra 全部功能 + 游戏榜（所有地区） · Live Gifter Firehose WS · VIP Telegram + Web Vault · 不脱敏送礼用户排行榜 · CRM + 观察名单 · 粉丝里程碑 Webhook · IP 白名单"}},"stats":{"requestsPerDay":"请求 / 天","wsConnections":"WS 连接","accountChecksPerDay":"账号查询 / 天","webhook":"Webhook · {perDay}/天","webhooks":"Webhook · {perDay}/天","seatsIncluded":"包含席位"},"chips":{"leaderboards":"排行榜","leagues":"联赛","gamingRanks":"游戏榜","gifters":"送礼用户"},"cta":{"subscribeTo":"订阅 {plan}","subscribe":"订阅","startFree":"开始 7 天评估","currentPlan":"当前套餐","changing":"切换中...","switchToCycle":"切换为{cycle}","switchTo":"切换到 {plan}","upgradeTo":"升级到 {plan}","downgradeTo":"降级到 {plan}","get":"获取 {plan}"},"weekendPass":{"tag":"3 天通行证","line":"一次性支付 {price} 体验 3 天 Pro，之后转为按周 Pro。可随时取消。","starting":"处理中...","cta":"获取 3 天 Pro 通行证 · {price}"},"enterprise":{"badge":"企业版","heading":"需要更多？欢迎联系我们。","desc":"为你的团队提供自定义限额、专属基础设施和批量价格。请通过右下角的在线客服联系我们，{strong}。","descStrong":"我们通常会即时回复","cta":"在线咨询"},"comparison":{"heading":"各 TikTok LIVE API 套餐包含哪些功能？","glossary":{"maskedTerm":"脱敏 / 不脱敏","maskedDef":"脱敏会隐藏真实用户名和头像（显示占位符）；不脱敏则显示主播或送礼用户的真实身份。","diamondsTerm":"钻石","diamondsDef":"TikTok 的礼物价值单位，每个约 $0.005。我们用它在排行榜上对消费进行排名。","wsTerm":"WS 会话 / 连接","wsDef":"实时 WebSocket 连接，每个需要实时获取事件的 TikTok LIVE 直播间占用一个。"},"hint":"左右滑动对比所有套餐","tableAriaLabel":"套餐对比表，可左右滚动","featureHeader":"功能","badges":{"proOnly":"仅限 PRO+","ultraOnly":"仅限 ULTRA+","agencyOnly":"AGENCY","unmaskedProPlus":"PRO+ 不脱敏","unmaskedUltraPlus":"ULTRA+ 不脱敏","unmaskedAgency":"AGENCY GLOBAL 不脱敏"},"included":"包含","notIncluded":"不包含","rows":{"accessPeriod":{"feature":"使用期限","tooltip":"Sandbox Key 用于评估 API，自账号创建起 7 天内有效。之后每个请求都会返回 \"Evaluation period ended\"，直到你选择付费套餐。付费 Key 在订阅有效期内持续可用。"},"requestsPerDay":{"feature":"每日请求数","tooltip":"你的 Key 每天可发起的最大 API 请求数（按 UTC 重置）。Sandbox 每日重置；付费套餐按计费周期配额计算。"},"rateLimit":{"feature":"速率限制","tooltip":"按分钟限流。即使是 Agency 也保留硬性上限，避免客户脚本中失控的 while(true) 占满共享基础设施。"},"wsSessionTokens":{"feature":"每日 WS 会话令牌","tooltip":"足够构建和调试一个小型机器人或多直播间看板。高强度并发监控会耗尽每日 50 个会话；生产环境应用必须升级。"},"wsMaxDuration":{"feature":"WS 最长时长","tooltip":"Sandbox 会话满 2 小时即被强制关闭，并返回 \"Daily Demo Limit Reached\" 帧，同时消耗每日 50 个会话中的一个。Basic 8 小时，Pro 12 小时，Ultra + Agency 24 小时并支持自动重连。"},"datacenterProxies":{"feature":"托管连接","tooltip":"Sandbox 直接从你自己的 IP 连接。付费套餐通过我们的托管基础设施连接。"},"accountChecks":{"feature":"账号查询（resolve_user_ids）","tooltip":"POST /webcast/resolve_user_ids：通过我们的基础设施将 TikTok 数字用户 ID 解析为用户名。配额经过测算，确保批量端点（Pro 每次 50 个、Ultra 每次 100 个、Agency 每次 200 个）在一天内都能实际可用。"},"maxConcurrentStreams":{"feature":"最大并发直播间","tooltip":"每个 API Key 在任意时刻可同时连接的实时 WebSocket 直播间数。Community 上限为 3 个并发直播间（使用你自己的 IP 运行）；TikTok 限制每个 IP 约 5 个连接，因此超出后需要 Basic+ 套餐。500 以上可定制企业方案。"},"leaderboardApi":{"feature":"排行榜数据 API","tooltip":"POST /webcast/ranklist/regional：所有付费套餐均不脱敏显示前 10 名（开发沙盒，可上线你的客户端和 UI）。每条记录均显示钻石数。PRO+ 不脱敏显示全部 {regions} 个地区的完整榜单。"},"giftCatalogApi":{"feature":"礼物目录 API","tooltip":"GET /webcast/gift_info + /webcast/gifts_by_country：TikTok 礼物目录（gift_id、名称、钻石价格、图标 URL、是否可连击，按国家区分）。Free + Basic 可获得只读的 50 个礼物样本，足以制作 OBS 叠加层并映射常见礼物。Pro + Ultra + Agency 可获得任意地区的完整实时目录并持续同步（TikTok 会定期上新礼物，一次性拉取的数据很快就会过时）。"},"liveShopApi":{"feature":"直播电商动态 API","tooltip":"GET /webcast/live-shop?unique_id=X（或 ?region=US）：卖家直播间的实时 TikTok LIVE Shop 动态，包括展示的商品（标题、价格、图片、商品详情页链接）、实时库存、售罄事件、销售速度和直播拍卖状态。Free + Basic 可获得只读的数据结构样本。Pro + Ultra + Agency 可获取任意美国/全球卖家直播间的实时电商数据。不包含订单/买家/中标数据，这些不属于公开直播流，公开直播流中只有商品和库存动态。每小时 60 次调用。"},"gifterLeaderboardApi":{"feature":"送礼用户排行榜 API","tooltip":"GET /webcast/gifters/leaderboard（按地区）和 /webcast/agency/events?type=gifters（单个主播的头部送礼用户，仅限 Agency）：跨主播的送礼用户情报。API 上：Sandbox 和 Basic 不可用；Pro、Ultra 和 Agency Starter 看到的是脱敏名称；Agency Global 不脱敏。在网站的送礼榜上，所有套餐都能看到前 3 名送礼用户，Agency Starter 可查看自己所在地区的完整榜单。更深入的送礼用户画像仅在控制台提供。"},"leagueRankingsApi":{"feature":"联赛排名 API","tooltip":"POST /webcast/ranklist/regional rank_type=16：Diamond Rush 联赛排名（A1-D5 分组）。完整不脱敏的联赛榜单是 ULTRA 和 Agency 功能。Sandbox、Basic 和 Pro 每个分组只能看到一行预览，用于确认榜单存在；升级到 Ultra 或 Agency 即可实时解锁所有分组的完整不脱敏数据。"},"gamingRanks":{"feature":"游戏榜","tooltip":"GET /webcast/ranklist/gaming：按地区提供 TikTok LIVE 游戏排行榜（App 内的实时游戏榜），持续记录，完整不脱敏，并附钻石数 + 预估收入。也可在网站 /tiktok-live-gaming-ranks 实时查看。仅限 Agency，其他套餐只能看到 3 个名字的脱敏预览。"},"popularLive":{"feature":"热门 LIVE 榜单","tooltip":"GET /webcast/ranklist/popular：按地区提供 TikTok 实时热门 LIVE 排行（TikTok 当前在搜索中推荐的主播），持续刷新，完整不脱敏，并附直播状态 + 钻石数。也可在网站 /popular-live 实时查看。仅限 Agency，其他套餐只能看到 3 个名字的脱敏预览。"},"teamsClubs":{"feature":"团队 / 俱乐部榜单","tooltip":"按地区，根据成员钻石总和对 TikTok 俱乐部进行排名。包含俱乐部名称、等级、成员数以及各俱乐部挂靠的主播。Agency 专属。"},"regionalLeaderboard":{"feature":"地区排行榜访问","tooltip":"POST /webcast/ranklist/regional：返回一个签名 URL，由客户端使用自己的 TikTok 会话 Cookie 获取。Community + Basic 不可用。"},"feedDiscovery":{"feature":"Feed Discovery","tooltip":"GET /webcast/feed：发现当前正在直播的直播间（For You / Suggested / Following）。Community + Basic 不可用。"},"bulkAccountChecks":{"feature":"批量账号查询","tooltip":"POST /webcast/resolve_user_ids：单次请求最多解析 N 个 TikTok 用户 ID。单次请求上限可确保响应快速。请在循环中对数组分批处理，上方的每日配额（Pro 2k、Ultra 20k、Agency 50k）足以覆盖任何公会的工作量。"},"bulkCopy":{"feature":"批量复制（主播名单、送礼用户、观察名单）","tooltip":"一键将整个榜单（主播、送礼用户、观察名单或已勾选列表）复制到剪贴板，可直接粘贴到你自己的表格或 CRM。仅限 Agency。"},"gifterFirehose":{"feature":"Live Gifter Firehose WS","tooltip":"实时礼物事件流。可按地区、联赛或全球 + 最低钻石门槛筛选。仅限 Agency。"},"vipTelegram":{"feature":"VIP Telegram 提醒","tooltip":"通过专属 Telegram 频道，自动向公会老板和星探推送提醒。"},"vipWebVault":{"feature":"VIP Web Vault","tooltip":"不脱敏查看送礼用户和主播的完整历史可视化数据。仅限 Agency。"},"support":{"feature":"客户支持","tooltip":"Sandbox + Basic：Discord 机器人 AI 支持 + 完整文档（自助）。Pro：应用内在线客服。Ultra + Agency：优先在线客服，响应更快。升级到 Pro 即可通过邮件/在线客服直接排查问题。"},"outgoingWebhooks":{"feature":"外发 Webhook","tooltip":"当观察名单中的主播开播 / 下播时，向你的端点发送 HMAC 签名的 HTTPS POST 请求。在 /webhooks 中配置。"},"webhookDeliveries":{"feature":"每日 Webhook 投递数","tooltip":"每个用户的每日投递上限。不计入你的 API 请求配额。"},"webhookLiveEvents":{"feature":"Webhook 事件：live.start / live.end","tooltip":"检测观察名单中的主播何时开播和下播。"},"webhookPeakGifts":{"feature":"Webhook 事件：峰值观众 + 高价值礼物","tooltip":"live.peak_viewers（同时在线人数里程碑 100..1M）+ live.gift.high_value（≥ 1000 钻石的礼物）。仅限 Ultra 和 Agency。"},"webhookFollowerMilestone":{"feature":"Webhook 事件：粉丝里程碑","tooltip":"当观察名单中的主播粉丝数突破 1K / 5K / 10K / 25K / 50K / 100K / 250K / 500K / 1M / 2M / 5M / 10M / 50M / 100M 时触发 creator.follower_milestone。仅限 Agency。"},"hmacSigning":{"feature":"HMAC 签名 + 重试 + 30 天重放","tooltip":"HMAC-SHA256（X-Tiktool-Signature）。重试间隔 0 秒 / 30 秒 / 2 分钟 / 10 分钟 / 1 小时 / 6 小时（共 6 次，约 7 小时）。30 天投递审计 + 手动重放。"}},"cells":{"perDay":"{n}/天","perMin":"{n}/分钟","per24h":"{n} / 24 小时","hours":"{n} 小时","perReq":"{n}/次","target":"{n} 个目标","targets":"{n} 个目标","sevenDayEvaluation":"7 天评估","whileSubscribed":"订阅期内","max2hPerSession":"每次会话最长 2 小时","ownIpOnly":"仅限自有 IP","top10Unmasked":"前 10 名不脱敏","full100Unmasked":"100% 完整不脱敏","sampleReadOnly":"样本（只读）","fullLiveSync":"完整 · 实时同步","fullLive":"完整 · 实时","maskedNames":"名称脱敏","unmasked":"不脱敏","previewOnly":"仅预览","full100UnmaskedRealtime":"100% 完整不脱敏 · 实时","fullBoardOneRegion":"完整榜单 · 每次一个地区","fullBoardAllRegions":"完整榜单 · 所有地区","fullBoardAllRegionsRealtime":"完整榜单 · 所有地区 · 实时","agencyDashboard":"公会控制台","fullDashboardAccess":"完整控制台权限","communityDocs":"社区与文档","chat":"在线客服","priorityChat":"优先在线客服","unlimited":"无限制"}},"included":{"heading":"所有付费套餐均包含","allInclusive":{"title":"全包价格","body":"签名、请求签名、优先路由和高级直播流通道均已包含在每个付费套餐中，没有附加项，也没有意外收费。每个套餐的公开价格即全部费用。"},"beyondChat":{"title":"不止弹幕和礼物","body":"公会情报功能（排行榜、联赛、主播挖掘）、礼物目录和直播电商动态，这些原本需要你从多家供应商拼凑。"},"predictable":{"title":"价格可预期","body":"硬性每日上限意味着没有超额费用，也没有意外账单。需要更多余量？一键升级到更高套餐，立即生效。可随时取消，取消后仍可使用到当期结束。"}},"faq":{"heading":"常见问题","items":{"switchPlans":{"q":"可以切换套餐吗？","a":"可以。你可以随时在价格页面升级、降级或更改计费周期。变更立即生效：当前套餐的未使用时长会折算抵扣，差额当天扣除，计费周期从切换当天重新开始。"},"exceedLimit":{"q":"超出每日限额会怎样？","a":"达到每日上限后，请求会被停止。没有超额费用，也没有意外账单。如需更多余量，可在价格页面升级到更高套餐，立即生效。"},"refunds":{"q":"支持退款吗？","a":"API 套餐和 Agency 套餐不予退款：我们提供 7 天 Sandbox 评估，就是为了让你在付款前确认产品。如果我们这边的服务被证实出现故障（持续宕机），或你被重复扣款、误扣款，我们会退还或以额度补偿受影响的金额。唯一的例外是 TTS 应用的朗读时长：每个账户可就未使用的时长获得一次退款。完整规则见服务条款第 5 节和第 16 节。"},"apiKeys":{"q":"API Key 如何使用？","a":"订阅后，你的 API Key 会自动生成，可在控制台中查看。每个账号一个 Key，套餐和用量限额都绑定在这个 Key 上。"},"cancel":{"q":"可以随时取消吗？","a":"当然可以。在账单页面取消后，你的订阅会持续到当期结束。没有违约金，也没有手续费。"},"manage":{"q":"如何管理我的订阅？","a":"一切都在账单页面管理：查看订阅、更新付款方式、下载发票和取消套餐。无需跳转外部门户。"},"sandbox":{"q":"什么是 Sandbox 套餐？","a":"Sandbox 是 7 天评估，自账号创建当天起算。7 天后每个请求都会返回 \"Evaluation period ended\"，直到你选择付费套餐。评估期间你可获得每天 5,000 次请求、每分钟 20 次请求、每 24 小时 50 个 WS 会话、最多 3 个并发直播间、每次会话最长 2 小时，无需信用卡。Sandbox 连接从你自己的 IP 发起。部分数据端点（resolve_user_ids、公会级送礼用户排行榜）仅限付费使用。Community 是同一套餐的旧称。"}}},"checkout":{"discountNamed":"折扣（{name}）","discount":"折扣","subtotal":"小计","total":"合计","loadingKeys":"正在加载 Key...","upgradeKeyLabel":"升级 API Key","unnamedKey":"未命名 Key","apiKeyLabel":"API Key：","appliedToExisting":"该套餐将应用到你现有的 API Key。","haveCoupon":"有优惠码？","couponPlaceholder":"优惠码","checking":"校验中...","apply":"使用","remove":"移除","couponApplied":"优惠码已生效！","businessPurchase":"企业采购","companyPlaceholder":"公司名称","payCardLabel":"银行卡订阅","payOnceLabel":"一次性付款 · 不自动续费","payOnceTitle":"单次付款，不自动续费","payOnceSub":"支付宝 · 微信 · 加密货币 · 银行卡 · iDEAL · Pix · OXXO","paypalLabel":"PayPal 订阅","paypalSub":"PayPal 余额 · 绑定的银行卡 · Venmo · 在弹窗中打开","settingUp":"正在准备付款...","addCompany":"添加公司名称（可选）","paymentMethod":"付款方式","oneTimeTag":"一次性付款 · 单{period}有效","autoRenewTag":"每{period}自动续费","oneTimeMethods":"银行卡 · 银联 UnionPay · 支付宝 · 微信支付 · PayPal · iDEAL · Pix · OXXO · 加密货币 · Apple Pay · Google Pay","processing":"处理中...","pay":"支付 {amount}","back":"返回订单摘要","successTitle":"订阅已激活！","successBody":"你的 API Key 已升级到 {plan}。前往控制台开始使用吧。","goDashboard":"前往控制台","secured":"由 Stripe 提供安全保障。我们从不保存你的银行卡信息。","signedInAs":"已登录为 {email}"},"planModal":{"keepCurrent":"保留当前套餐"},"agencyUpgrade":{"title":"升级到 Agency {cycle}","body":"你当前已开通 {current}。我们会直接升级你现有的订阅：只有一个订阅，不会重复扣费。Stripe 会抵扣当前套餐的未使用时长，今天只收取差额。","credit":"当前套餐未使用时长抵扣","lineItem":"Agency {cycle}","tax":"税费","chargedToday":"今日从你的银行卡扣款","chargedOnFile":"从已绑定的银行卡扣款，可随时取消。","confirm":"确认升级 · {amount}","cancel":"取消","footer":"按比例折算由 Stripe 计算，不会重复扣费。","current":"{plan}（{cycle}）"},"weekendPassModal":{"title":"开发者{pass}","passName":"周末通行证","lineItem":"Pro · 3 天通行证","oneTime":"一次性 {price}","autoRenewNote":"3 天后自动续费为按周 Pro，可随时取消。","successTitle":"周末通行证已激活！","successBody":"已获得 3 天 Pro 权限，正在跳转..."},"planChange":{"creditLine":"当前套餐未使用时长抵扣：-{amount}","newPrice":"新套餐 {plan}（{cycle}）：{amount}","firstCharged":"，首次扣款日期 {date}","paypalNote":"将打开 PayPal 以确认新套餐；确认后，你当前的 PayPal 套餐会被取消。","continuePaypal":"前往 PayPal","taxLine":"税费：{amount}","chargedToday":"今日从你的银行卡扣款：{amount}","creditedNext":"抵扣到下一张账单：{amount}","nothingToday":"今日无需付款。","inPlace":"同一个订阅直接变更，不会重复扣费。","noPreview":"你将切换到 {plan}。当前套餐的未使用时长会折算抵扣，差额将通过已绑定的银行卡结算。","confirmCharge":"确认 · 扣款 {amount}"},"errors":{"noClientSecret":"未返回 clientSecret","paymentFormFailed":"付款表单加载失败，请刷新后重试。","weekendPassStartFailed":"无法开始周末通行证结账","cardDeclined":"银行卡被拒","commitFailed":"提交失败","paymentFailed":"付款失败","alreadyOnPlan":"你已经在使用该套餐。","paymentReceivedPending":"已收到付款。款项确认后套餐会立即更新，无需重复付款。","paymentConfirmedPlanUpdated":"付款已确认，套餐已更新。","paypalNoApproval":"PayPal 未返回确认链接，请重试。","subscriptionCancelled":"订阅已取消","planUpdated":"套餐已更新","couldNotUpdatePlan":"无法更新套餐，请重试或联系客服。","failedUpdatePlan":"套餐更新失败，你的套餐未发生变化。","upgradeNeedsConfirmation":"升级需要确认，请重试。","agencyCheckoutFailed":"无法开始公会套餐结账，请稍后再试。","openCheckoutFailed":"无法打开结账页面","loadKeysFailed":"API Key 加载失败，请重试。","fixCoupon":"请先修改或移除无效的优惠码再继续。","paymentSystemNotLoaded":"支付系统未加载，请重试。","oneTimeFailed":"一次性付款结账失败","paymentInitFailed":"付款初始化失败，请重试。","createSubscriptionFailed":"创建订阅失败","invalidCoupon":"优惠码无效","couponValidateFailed":"无法校验优惠码","paypalFailed":"PayPal 结账失败，请重试或改用银行卡。","paymentSystemNotLoadedRefresh":"支付系统未加载，请刷新页面后重试。","paymentFormNotReady":"付款表单尚未就绪，请刷新页面后重试。","paymentFailedCheckCard":"付款失败，请检查你的银行卡后重试。","renewKeyNotFound":"找不到要续费的 Key，请在下方选择。","paymentFailedNotCharged":"付款失败，你未被扣款，请重试。","subscriptionActivated":"订阅已激活！正在生成你的 API Key。","checkoutCanceled":"已取消结账，你可以随时重试。","appOtherAccount":"此浏览器已登录另一个 tik.tools 账号。请先退出登录，然后在应用中再次点击升级。"},"appPlan":{"title":"完成 {plan} 套餐订阅","perWeek":"每周","perMonth":"每月","account":"已登录：{email}","totalWithTax":"今日 {total}，含税","renewsWeekly":"每周自动续订，直至你取消。","renewsMonthly":"每月自动续订，直至你取消。","otherWays":"使用银行卡或 PayPal 支付","payCard":"支付 {amount}","preparing":"正在准备支付...","processing":"正在确认付款...","successTitle":"一切就绪","successBody":"你的 {plan} 套餐已生效，正在返回应用。","pendingTitle":"已收到付款","pendingBody":"付款成功。你的套餐将在几分钟内生效。","backToApp":"返回应用","failedTitle":"付款未成功","tryAgain":"重试","applePayDescription":"TikTools {plan} 套餐","applePayLabelWeekly":"{plan} 套餐，按周","applePayLabelMonthly":"{plan} 套餐，按月","agreementWeekly":"TikTools 每周收取 {amount}，直至你取消。税费可能因所在地区而异。可随时在 tik.tools/billing 取消。","agreementMonthly":"TikTools 每月收取 {amount}，直至你取消。税费可能因所在地区而异。可随时在 tik.tools/billing 取消。","errors":{"generic":"付款未成功，你未被扣费。","startFailed":"无法开始支付，未产生任何扣费。请重试。"}}},"home":{"seo":{"title":"TikTok LIVE API 与排行榜 {'|'} TikTools","description":"TikTools（也写作 Tik Tools）是 TikTok LIVE API：通过 WebSocket 实时获取弹幕、礼物、点赞、观众和 PK 数据，提供 Node.js 和 Python SDK，并覆盖 {regions} 个地区的地区榜和联赛排名。","ogDescription":"基于 TikTok 直播开发所需的一切。实时事件、礼物、PK。","jsonLdDescription":"TikTools 是 TikTok LIVE 开发者 API + 排行榜平台。为构建弹幕助手、OBS 叠加层、数据分析看板、AI 集成和游戏的开发者，提供实时 WebSocket 事件（弹幕、礼物、点赞、观众、PK）和主播排行榜。"},"hero":{"quickLinksLabel":"跳转到排行榜","quickLinks":{"gifters":"送礼用户","leaderboard":"排行榜","popularLive":"热门 LIVE","gaming":"游戏","teams":"团队","shopping":"电商"},"liveNowLabel":"所有地区正在直播的主播","liveNow":"正在直播","openWord":"打开{word}","words":{"api":"API","websockets":"WebSocket","webhooks":"Webhook","liveEvents":"直播事件","ranksData":"排名数据","giftsEvents":"礼物与事件","earnings":"收益","newCreators":"新主播","creatorRanks":"主播排名","gamingRanks":"游戏榜","shopRanks":"电商榜","scoutingBoard":"星探看板","telegramBot":"Telegram 机器人"},"subAgency":"实时主播排名、收益和主播挖掘，覆盖所有地区。","subDev":"实时获取任意直播间的弹幕、礼物和观众数据。一个 API 全搞定。","discoverTalents":"发现主播","manageTeam":"管理团队","agencyPlans":"公会套餐","openDashboard":"打开控制台","getApiKey":"获取 7 天评估 Key","apiDocs":"API 文档","viewPricing":"查看价格","browseTalents":"浏览主播","installLabel":"安装命令","copyInstall":"复制安装命令","copiedInstall":"已复制安装命令","copy":"复制","copied":"已复制","pool":{"label":"位主播已追踪","exclusive":"Agency 专属","cta":"开通公会权限"},"digest":{"title":"主播简报","badge":"新","pitch":"在你的地区发现的新主播，以可直接复制的用户名加 CSV 表格发送到邮箱。频率从每 6 小时到每周可选。","price":"Agency {price}/月起","ctaSetup":"设置你的简报","ctaLearn":"了解运作方式"},"mcp":{"label":"MCP 服务器配置","kicker":"MCP 服务器","setup":"配置"}},"tutorials":{"kicker":"教程","watchOnYoutube":"在 YouTube 上观看：{title}","play":"播放教程：{title}","choose":"选择教程","close":"关闭视频","iframeTitle":"TikTools 教程"},"liveDemo":{"liveNow":"正在直播","waiting":"正在等待直播频道","watching":"{n} 人观看","watchingInRegion":"{region} {n} 人观看","sent":"送出 {gift}","diamonds":"{n} 钻石","liked":"点赞","joined":"进入直播间","viewers":"{n} 位观众","empty":"事件在 TikTok 上发生的瞬间就会显示在这里。","count":"自你打开本页以来共 {count} 个事件","perMinute":"{n} / 分钟","status":{"open":"已连接","retry":"重新连接中","paused":"页面隐藏时已暂停","connecting":"连接中"},"ago":{"now":"刚刚","seconds":"{n}秒","minutes":"{n}分"}},"liveVideo":{"label":"演示频道的直播画面","live":"直播中","tapToPlay":"点击播放","offline":"演示频道开播时会显示画面","mute":"静音","unmute":"取消静音"},"events":{"eyebrow":"探索所有事件","title":"查看 WebSocket 推送的真实 JSON","sub":"{count} 种直播事件类型。任选其一，查看真实 payload。","fullReference":"完整 WebSocket 参考"},"showcase":{"eyebrow":"一站式平台","dev":{"title":"开发者所需的一切","sub":"WebSocket、带类型的 SDK、事件参考、Webhook、Discord 机器人。","items":{"websocket":{"tag":"WebSocket","title":"WebSocket API","desc":"通过一条长连接实时获取弹幕、礼物、点赞和观众事件。"},"guides":{"tag":"指南","title":"开发者指南","desc":"手把手教你构建弹幕助手、叠加层和各类集成。"},"sdks":{"tag":"SDK","title":"SDK 与 REST","desc":"Node.js 和 Python 的带类型客户端，以及六种语言的签名 REST 端点。"},"events":{"tag":"事件","title":"事件参考","desc":"{count} 种实时事件类型（弹幕、礼物、PK、点赞），附完整 payload 结构。"},"webhooks":{"tag":"Webhook","title":"Webhook","desc":"开播和下播通知以签名 HTTPS 请求推送到你的服务器。"},"discord":{"tag":"机器人","title":"Discord 机器人","desc":"将直播提醒、观察名单和主播数据直接推送到你的服务器。"}}},"agency":{"title":"公会所需的一切","sub":"排行榜、游戏榜、新主播、送礼用户情报、直播电商。","items":{"ranks":{"tag":"排名","title":"排行榜与排名","desc":"地区和全球主播排名，在所有市场实时更新。"},"gaming":{"tag":"游戏","title":"游戏榜","desc":"按游戏和地区划分的实时游戏排行榜，看看谁正在领先。"},"creators":{"tag":"主播","title":"新主播","desc":"各地区实时排行榜上崭露头角的新主播，可随时检测资格并招募。"},"gifters":{"tag":"送礼用户","title":"头部送礼用户","desc":"任意主播的大哥依赖度、头部送礼用户和真实收益。"},"agency":{"tag":"公会","title":"公会套件","desc":"认领主播，管理地区和主播名单，在名录中获得曝光。"},"shops":{"tag":"电商","title":"直播电商","desc":"按地区实时查看直播带货动态、商品和拍卖。"}}}},"integration":{"liveBadge":"LIVE","dev":{"eyebrow":"运作方式","title":"所有直播数据，一次集成","sub":"连接、追踪、上线：三步打造直播产品。","steps":{"connect":{"title":"连接 WebSocket","desc":"建立一条长连接，实时接收弹幕、礼物、点赞、关注和观众数。","cta":"连接"},"track":{"title":"追踪礼物、弹幕和排名","desc":"用我们的 SDK 解析事件：钻石价值、连击、PK 比分和实时榜单名次，端到端类型完备。","cta":"查看文档"},"ship":{"title":"上线你的应用","desc":"上线叠加层、助手、提醒或看板。先评估 7 天，再为生产流量选择付费套餐。","cta":"开始使用"}}},"agency":{"eyebrow":"面向公会","title":"所有直播数据，一套公会工作流","sub":"发现、追踪、招募：三步组建签约主播阵容。","steps":{"discover":{"title":"发现新主播","desc":"挖掘各地区实时排行榜上崛起的主播，已按公会签约上限筛选，可直接进行资格检测。","cta":"寻找主播"},"track":{"title":"追踪钻石和送礼用户","desc":"查看任意主播的真实收益、头部送礼用户和大哥依赖度：谁在打赏，打赏了多少。","cta":"查看送礼用户"},"recruit":{"title":"招募与管理","desc":"将主播认领到你的公会，管理地区和主播名单，并在公会名录中获得曝光。","cta":"打开套件"}}}},"carousel":{"eyebrow":"探索","title":"适用于各类 TikTok LIVE 开发","controlsLabel":"轮播控制","previous":"上一个","next":"下一个","learnMore":"了解更多","positionLabel":"轮播位置","goTo":"前往 {title}","cards":{"websocket":{"tag":"WEBSOCKET","title":"实时事件流","blurb":"通过一条实时连接获取弹幕、礼物、点赞、关注、观众数和 PK。{count} 种事件类型，支持任意语言。"},"rankings":{"tag":"排行榜","title":"地区排行榜","blurb":"覆盖 {regions} 个地区的实时主播排名及联赛榜，从数据源持续刷新。"},"gaming":{"tag":"游戏","title":"游戏排行榜","blurb":"按游戏、按地区的实时游戏排行榜，附排名变动和差距信号，助力主播挖掘。"},"agency":{"tag":"公会","title":"主播挖掘与情报","blurb":"为管理主播阵容的公会提供送礼用户情报、资格检测工具和团队工具。"},"docs":{"tag":"文档","title":"SDK 与文档","blurb":"MIT 许可、TypeScript 优先的 Node 和 Python SDK，附快速开始指南和完整事件参考。"}}},"lockup":{"eyebrow":"平台","title":"一个 API，覆盖所有 TikTok LIVE 信号。","sub":"事件、排行榜、Webhook、送礼用户情报，一个端点全搞定。","tiles":{"api":"API / WebSocket","leaderboards":"排行榜","gaming":"游戏榜","shopping":"电商榜","webhooks":"Webhook","gifters":"送礼用户情报"}},"actions":{"eyebrow":"探索平台","title":"一站式平台","sub":"直达开发者最常用的排行榜、实时工具和参考文档。","learnMore":"了解更多","items":{"guides":{"tag":"指南","title":"指南","desc":"Node、Python、叠加层和机器人的快速入门教程。"},"rankings":{"tag":"排行榜","title":"排行榜与排名","desc":"覆盖 {regions} 个地区的地区榜和联赛主播排名。"},"gaming":{"tag":"游戏","title":"游戏榜","desc":"按地区查看实时游戏榜和电商榜。"},"agency":{"tag":"公会","title":"公会","desc":"为主播公会提供主播挖掘、情报和团队工具。"},"pricing":{"tag":"价格","title":"价格","desc":"先用 7 天评估 Key 开始，再选择生产级付费套餐。开始使用无需信用卡。"},"gifters":{"tag":"送礼用户","title":"送礼用户情报","desc":"头部送礼用户、大额礼物动态，以及他们支持的主播。"},"discord":{"tag":"DISCORD","title":"Discord 机器人","desc":"在你的服务器中接收开播提醒并使用排名指令。"},"scoutingBoard":{"title":"星探看板","desc":"挖掘主播，并在你的服务器中接收开播提醒。"},"websocket":{"tag":"WEBSOCKET","title":"WebSocket API","desc":"通过一条实时连接获取全部 {count} 种直播事件类型。"}}},"examples":{"badge":"复制即用的示例","title":"三个可直接运行的文件。选一种语言，运行即可。","desc":"换上你的评估 Key，然后复制并运行。需要更高限额：{link}。","descLink":"获取 7 天评估 Key","titles":{"liveEvents":"直播事件监控","liveVideo":"直播视频播放器","topChannels":"热门直播频道（公开，无需鉴权）"},"summaries":{"liveEvents":"通过 WebSocket 实时获取任意 TikTok LIVE 主播的弹幕、礼物、点赞、关注 + 观众数。","liveVideo":"在标准 {tag} 标签中播放任意 TikTok LIVE 直播。直播流 URL 已包含在公开数据中，无需额外鉴权调用。","topChannels":"列出全球 10 位正在直播的 TikTok 主播。无需 Key，每个 IP 限 5 分钟 1 次调用。"},"copyLabels":{"liveEvents":"复制直播事件监控代码","liveVideo":"复制直播视频播放器代码","topChannels":"复制热门直播频道（公开，无需鉴权）代码"},"languagesLabel":"可用语言","langLlm":"LLM 提示词","noSignup":"换上你的评估 Key","footnote":"{tag}：每个 IP 1 个 WebSocket / 10 分钟会话 / 每小时 6 次连接。需要更多？{link}。","footnoteTag":"演示限制","footnoteLink":"获取 7 天评估 Key"},"agencyDir":{"title":"入驻你的公会","sub":"免费入驻。认领主播，获得曝光。","cta":"免费入驻公会","browse":"浏览公会"},"faq":{"badge":"常见问题","title":"关于 {accent} 的常见问题","titleAccent":"TikTok LIVE API","desc":"协议、签名、价格、语言支持，快速解答。","items":{"official":{"q":"有官方的 TikTok LIVE API 吗？","a":"没有。TikTok 并未提供用于获取弹幕、礼物、观众数等直播数据的公开 API。TikTok Business API 仅覆盖广告和电商分析。如需获取实时直播数据，开发者会使用 Tik.Tools 这类第三方 API，由服务端处理连接和鉴权。"},"libraries":{"q":"tiktok-live-connector 这类 TikTok LIVE 库免费吗？","a":"免费。开源客户端 tiktok-live-connector（Node.js）和 TikTokLive（Python）采用 MIT 许可，可免费安装。TikTok 要求使用必须在服务端生成的签名参数（msToken、X-Bogus），因此这些库把签名交给后端处理；默认后端是 Euler Stream，它有自己的免费套餐和面向更大用量的付费套餐。Tik.Tools 是一款独立的托管替代方案，内置自有签名基础设施。"},"eulerStream":{"q":"Tik.Tools 和 Euler Stream 有什么区别？","a":"Euler Stream 是开源库 tiktok-live-connector（Node）和 TikTokLive（Python）所使用的付费签名后端，三者均由同一团队打造。这是一个维护良好、成熟的生态，提供 TypeScript 类型、官方 npm 包和免费套餐。Tik.Tools 是一款独立替代方案，拥有自有签名基础设施，并提供 Euler 生态目前没有的额外功能，例如可选的公会情报层（主播挖掘、排行榜、联赛排名）。两者都能稳定推送 TikTok LIVE 事件，请根据功能组合和生态选择更适合你项目的一方。"},"connect":{"q":"如何连接 TikTok LIVE 直播间？","a":"使用 Tik.Tools：安装 SDK（npm i {'@'}tiktool/live），用你的 API Key 和主播用户名创建客户端，然后调用 connect()。只需三行代码。你将通过 WebSocket 实时接收弹幕、礼物、点赞、关注、观众数、PK 等事件。先用 7 天评估 Key 开始，无需信用卡；之后需要付费套餐。"},"data":{"q":"可以从 TikTok LIVE 直播中获取哪些数据？","a":"实时获取 90+ 种事件类型：弹幕消息、虚拟礼物（含钻石价值）、点赞、关注、观众进出、观众数、直播间信息、分享、PK / 连线以及订阅。"},"languages":{"q":"哪些编程语言可以使用 TikTok LIVE API？","a":"Tik.Tools 适用于任何支持 WebSocket 的语言。提供 Node.js/TypeScript 官方 SDK。Python、Go、Rust、Java、C#、C++、PHP 及其他任何语言都可以通过原生 WebSocket（wss://api.tik.tools）连接，包括用于互动游戏的游戏引擎。"}}},"guides":{"badge":"指南","title":"TikTok LIVE API {accent}","titleAccent":"开发者指南与资源","desc":"快速开始、机器人、叠加层、事件，上线所需的一切。","items":{"gettingStarted":{"tag":"快速开始","title":"入门指南","desc":"使用免费 SDK，30 秒内接入 TikTok LIVE。"},"chatBot":{"tag":"弹幕机器人","title":"构建 TikTok 弹幕助手","desc":"响应指令、追踪弹幕，以及运行互动弹幕游戏。"},"overlay":{"tag":"叠加层","title":"直播叠加层指南","desc":"为 OBS 提供实时弹幕、礼物提醒和观众数。"},"python":{"tag":"PYTHON","title":"Python TikTok LIVE API","desc":"用 Python 连接 TikTok LIVE 直播，支持异步。"},"websocket":{"tag":"WEBSOCKET","title":"WebSocket 事件参考","desc":"全部 {count} 种事件类型：弹幕、礼物、点赞、关注、PK 等。"},"leaderboard":{"tag":"排行榜","title":"排行榜与联赛 API","desc":"覆盖所有活跃地区的地区主播排名和联赛榜。"}},"ctas":{"startBuilding":"开始开发","readGuide":"阅读指南","viewEvents":"查看事件"},"allGuides":"全部指南","about":"关于 Tik.Tools","websocketApi":"WebSocket API","apiDocs":"API 文档"},"cta":{"dev":{"title":"如何开始使用 TikTok LIVE API {accent}？","titleAccent":"进行开发","desc":"7 天评估 Key，无需绑卡，每天 5,000 次请求。Pro（{price}/周）每天 75,000 次请求，适合生产环境。","primary":"获取 API 权限","secondary":"快速开始指南"},"agency":{"title":"在 TikTok LIVE 上找到你的下一位{accent}","titleAccent":"主播","desc":"实时排名，不脱敏情报。Agency Global {price}/周起。","primary":"发现主播","secondary":"查看公会套餐"}}},"event":{"bar":{"label":"限时优惠","endsIn":"距结束","cta":"立即抢购"},"countdown":{"endsIn":"距优惠结束","days":"天","hours":"时","minutes":"分","seconds":"秒","compact":"{d}天 {h}时 {m}分 {s}秒","remaining":"距优惠结束还有 {d} 天 {h} 小时 {m} 分钟","ends":"{ends} {time} UTC 结束","perMonth":"/月，按年计费"},"annual":{"switchAria":"计费周期","monthly":"按月","yearly":"按年","badge":"年付","perMonth":"/月","billedYearlyShort":"按年计费","manage":"你正在使用 {plan} 年付 · 管理套餐","fine":"按年自动续费。","modalBadgeStarter":"AGENCY STARTER 年付","modalBadgeGlobal":"AGENCY GLOBAL 年付","orderLabel":"{plan} 年付","yearlyShort":"年付：{monthly}/月","emptyHeading":"或按年付费","eyebrow":"{plan} · 年付","switchButton":"{plan} 年付 · {monthly}/月，按年计费","switchTitle":"切换为 {plan} 年付","aYear":"/年","pricingCtaFirstYear":"选择年付 · 首年 {total}","ctaFirstYear":"获取 {plan} 年付 · 首年 {total}","ctaUpgradeFirstYear":"升级到 {plan} 年付 · 首年 {total}","ctaSwitchFirstYear":"切换为年付 · 首年 {total}"},"offer":{"ended":"本次优惠已结束，未产生任何扣款。","used":"你的账号已使用过此优惠，未产生任何扣款。","subline":"今日扣款 {total}，之后按 {renews}/年续费。每位客户限一次。","monthlyStrike":"按月 {price}/月","monthlyPlanSr":"按月方案价格 {price}/月","perMonthYearly":"{monthly}/月，按年计费","save":"节省 {percent}%","continueMonthly":"改为按月付费继续"},"checkout":{"samePlan":"你已在使用该年付套餐，可在公会账单中管理。","refreshing":"正在刷新价格...","initFailed":"无法加载安全银行卡表单，请重试。","failed":"付款失败，你的套餐未发生变化。","saleDiscount":"优惠折扣","previewFailed":"无法计算此次变更的价格，你的套餐未发生变化。"},"halloween":{"bar":"万圣节特惠：Agency Global {monthly}/月，按年计费。付 8 个月，享 12 个月。{ends} 结束。","badge":"惊喜好价","terms":"特惠价仅适用于第一年。优惠于 {ends} 23:59 UTC 结束。"}},"rankingExperiment":{"live":"直播中","unlock":"解锁","unlockAria":"正在直播。解锁即可查看谁在直播。"},"chrome":{"skipLink":"跳到主要内容","og":{"subtitle":"实时获取任意 TikTok LIVE 直播间的弹幕、礼物、点赞和观众数据"},"logo":{"badgeDocs":"文档","badgeLive":"LIVE"},"audience":{"switchAria":"在开发者模式和公会模式之间切换","developer":"开发者","agency":"公会"},"footer":{"homeAria":"{brand} 首页","tagline":"获取 TikTok LIVE API 的最新动态：SDK、排行榜和真正用得上的更新。","navAria":"页脚","columns":{"product":"产品","resources":"资源","company":"公司","support":"支持"},"links":{"sdks":"SDK","pricing":"价格","webhooks":"Webhook","mcp":"MCP + AI 工具","gifterIntel":"送礼用户情报","docs":"文档","guides":"指南","agencyGuides":"公会指南","leaderboards":"排行榜","gamingRanks":"游戏榜","methodology":"数据方法论","compare":"对比","updates":"更新日志","agencies":"公会","about":"关于我们","useCases":"使用场景","help":"帮助","trust":"信任与账单"},"terms":"条款与条件","privacy":"隐私政策","status":"服务状态","disclaimer":"{brand} 是独立的第三方平台，与 TikTok 或字节跳动（ByteDance）无关联，也未获得其认可或赞助。"},"mobileTabs":{"navAria":"移动端主导航","goBackAria":"返回","openMenuAria":"打开菜单","back":"返回","menu":"菜单","ranks":"榜单","talents":"新主播","gifters":"送礼用户","board":"看板","docs":"文档","guides":"指南","pricing":"价格"},"staleSession":{"title":"登录已过期","message":"请重新登录以查看完整数据。","signIn":"登录","dismissAria":"关闭"},"banners":{"trialEndsIn":"使用期剩余","timeRemainingAria":"剩余时间","upgradeNow":"立即升级","dismissAria":"关闭"},"header":{"nav":{"aria":"主导航","guides":"指南","features":"功能","ranks":"榜单","gifters":"送礼用户","agency":"公会","docs":"文档","pricing":"价格"},"guides":{"groupHead":"指南与文档","viewAll":"查看全部指南","items":{"gettingStarted":{"title":"快速入门","desc":"注册、生成 Key、发出第一个请求"},"websocket":{"title":"WebSocket API","desc":"实时事件数据流接口规范"},"chatBot":{"title":"弹幕助手机器人","desc":"为主播提供弹幕指令与互动响应"},"overlays":{"title":"直播叠加层","desc":"适用于 OBS / 浏览器的礼物 + 弹幕叠加层"},"python":{"title":"Python 指南","desc":"异步 Python SDK + 事件处理"},"events":{"title":"事件参考","desc":"所有事件类型 + payload 结构"},"leaderboardApi":{"title":"排行榜与联赛 API","desc":"覆盖所有活跃地区，滚动排名窗口"},"tts":{"title":"文字转语音","desc":"弹幕语音播报 + 礼物播报"},"migrateConnector":{"title":"从 Connector 迁移","desc":"从 TikTok-Live-Connector 迁移"},"migrateTikapi":{"title":"从 TikAPI 迁移","desc":"端点相同，只需更换 base URL"},"migrateEuler":{"title":"从 Euler Stream 迁移","desc":"切换到我们的 SDK，保留处理函数"}}},"features":{"groups":{"rank":"排行榜与排名","agency":"公会与招募","live":"直播工具","reference":"参考与工具"},"items":{"ranks":{"title":"排行榜与排名","desc":"所有榜单产品一览"},"creators":{"title":"主播排行榜","desc":"按钻石排名的头部主播，覆盖所有地区"},"gifters":{"title":"送礼用户排行榜","desc":"按送出钻石排名的头部大哥"},"gamingRanks":{"title":"游戏榜","desc":"实时游戏排行榜 + 各游戏周榜"},"newCreators":{"title":"新主播","desc":"公会招募信息流，每次 30 个用户名"},"pulseBot":{"title":"Telegram Pulse 机器人","desc":"星探提醒直接推送到你的私信"},"creatorDigest":{"title":"主播简报","desc":"可招募的新主播，以用户名 + CSV 发送到邮箱"},"rising":{"title":"飙升情报","desc":"基于增速的送礼用户 + 主播信息流"},"popularLive":{"title":"热门 LIVE","desc":"各地区实时头部主播"},"team":{"title":"团队管理","desc":"邀请成员 + 管理席位"},"agencySuite":{"title":"公会套件","desc":"公会所需的套餐、工具和一切"},"scoutingBoard":{"title":"星探看板","desc":"在你的服务器里挖掘主播"},"bestTime":{"title":"最佳开播时间","desc":"全球礼物实时热力图"},"giftCatalog":{"title":"礼物图鉴","desc":"全部 TikTok LIVE 礼物 + PNG 下载"},"diamondsCalculator":{"title":"钻石计算器","desc":"钻石 {arrow} 美元实时换算"},"gifterLevels":{"title":"送礼等级","desc":"Lv1 → Lv50+ 金币 + 美元对照表"},"wsDecoder":{"title":"WebSocket 解码器","desc":"粘贴 base64 帧，查看 protobuf 结构"},"webhooks":{"title":"Webhook","desc":"将直播事件推送到你的端点"},"mcp":{"title":"MCP + AI 工具","desc":"可在 Claude、Cursor、VSCode 和 GPT 中使用"},"updates":{"title":"平台更新","desc":"实时更新日志 + 路线图"}},"promo":{"title":"开始追踪 TikTok LIVE","desc":"一个 Key，搞定所有排行榜和直播工具。","cta":"开始使用"}},"cta":{"ranks":"榜单","loginRegister":"登录 / 注册","login":"登录","boards":"榜单","dashboard":"控制台"},"menuAria":"菜单","profile":{"openAria":"打开个人菜单","picAlt":"头像","userFallback":"用户","account":"账号","apiDashboard":"API 控制台","dashboard":"控制台","billing":"账单","signOut":"退出登录"},"drawer":{"aria":"网站菜单","liveChat":"与团队在线沟通","agencyDashboard":"公会控制台","apiDashboard":"API 控制台","account":"账号","billing":"账单","signOut":"退出登录","getStarted":"开始使用","registerLogin":"注册 / 登录","getApiKey":"获取 API Key","groups":{"leaderboards":"排行榜","agencyRecruiting":"公会与招募","liveToolsReference":"直播工具与参考","learn":"学习","build":"开发","data":"数据","plans":"套餐"},"items":{"platformUpdates":"平台更新","pricing":"价格","allLeaderboards":"全部排行榜","creatorsLeaderboard":"主播排行榜","giftersLeaderboard":"送礼用户排行榜","gamingLeaderboard":"游戏排行榜","newCreators":"新主播","risingIntel":"飙升情报","popularLive":"热门 LIVE","pulseBot":"Telegram Pulse 机器人","creatorDigest":"主播简报","teamManagement":"团队管理","agencySuite":"公会套件","scoutingBoard":"星探看板","bestTime":"最佳开播时间","giftCatalog":"礼物图鉴","diamondsCalculator":"钻石计算器","gifterLevels":"送礼等级","agencyGuides":"公会指南","docs":"文档","guides":"指南","webhooks":"Webhook","mcp":"MCP + AI 工具","wsDecoder":"WebSocket 解码器","migrateConnector":"从 Connector 迁移","apiStatus":"API 状态"}}},"errorPage":{"status":"错误 {status}","notFoundTitle":"页面未找到","notFoundBody":"此页面不存在或已移动。请在下方搜索主播或送礼用户，或返回首页。","errorTitle":"出了点问题","errorBody":"无法加载此页面，请稍后重试。","searchLabel":"搜索主播和送礼用户","home":"返回首页","rankings":"LIVE 排行榜"}},"overlays":{"upgradeModal":{"signIn":{"title":"登录后订阅","sub":"创建免费账号或登录，即可解锁排行榜、主播历史和直播数据的全部权限。","cta":"登录 / 创建账号 →","free":"免费注册，无需信用卡。"},"compareAll":"对比全部功能 →","success":{"title":"订阅已激活！","body":"你的账号已升级到 {tier}，正在重新加载..."},"step1":{"title":"解锁全部权限","sub":"实时排行榜、主播历史和直播数据"},"cycles":{"weekly":"按周","monthly":"按月"},"period":{"wk":"周","mo":"月"},"features":{"reqPerDay":"{count} 次请求/天","ws":"{count} 个 WS","unmaskedBoards":"不脱敏榜单","leagueRanks":"联赛排名","proLevelApi":"API：与 Pro 相同的每日请求量，直播接入数翻倍","leagueGamingRanks":"联赛 + 游戏榜","agencyDashboard":"公会控制台"},"select":"选择","selected":"已选择","discount":"折扣（{name}）","subtotal":"小计","taxNote":"税费将在下一步计算","coupon":{"toggle":"有优惠码？","placeholder":"优惠码","apply":"使用","remove":"移除"},"subscribe":"订阅","payOnce":{"title":"仅为本周期一次性付款，不会自动续费","label":"一次性付款 · 支付宝 / 微信 / PayPal / 加密货币 / 银行卡","hint":"不自动续费 · 下一步选择支付方式"},"step2":{"paymentMethod":"支付方式","oneTimeTag":"一次性 · 可用一{period}","autoRenewsTag":"每{period}自动续费","acceptedOneTime":"银行卡 · 银联 UnionPay · 支付宝 · 微信支付 · PayPal · 加密货币 · Apple Pay · Google Pay","total":"合计","processing":"处理中...","pay":"支付 {amount}","back":"返回"},"secure":"由 Stripe 提供安全保障。我们从不保存你的银行卡信息。","errors":{"invalidCoupon":"优惠码无效","couponCheckFailed":"无法验证优惠码","stripeLoad":"支付系统加载失败。","initFailed":"无法初始化付款。","setupFailed":"付款设置失败","paymentFailed":"付款失败"},"reasons":{"bulkCopy":"一键复制整个榜单的用户名是 Agency 套餐功能。"}},"paypalButton":{"loading":"正在加载 PayPal...","loadError":"PayPal 加载失败。{retry}或改用银行卡。","retry":"重试","errors":{"noSubscriptionId":"PayPal 未返回订阅 ID","checkoutFailed":"PayPal 结账失败，请重试或改用银行卡。","sdkLoad":"PayPal SDK 加载失败"}},"keyWelcome":{"dismiss":"关闭","choose":{"eyebrow":"欢迎来到 TIK.TOOLS","title":"你来这里是想做什么？","sub":"选一个，我们带你去对应的页面。","developer":{"title":"我是开发者","desc":"获取 API Key，用数据进行开发"},"agency":{"title":"我是公会","desc":"追踪和管理旗下主播"}},"agency":{"eyebrow":"公会专属主播名单","title":"获取所有地区的主播名单及其送礼用户，推送到你的邮箱、Telegram 和 Discord。邀请你的经纪人一起用。就这么简单。","shotAlt":"按地区划分的主播名单及其头部送礼用户","cta":"打开名单"},"key":{"eyebrow":"你的 API KEY","sub":"你的 Sandbox Key 已就绪。每个请求都靠它鉴权，请妥善保管。","copied":"已复制","copy":"复制 KEY","dashboard":"前往 API 控制台","docs":"先看看文档"}},"multiAccount":{"title":"多账号警告","body":"我们检测到此设备或网络下创建了多个账号。通过创建重复账号规避使用限制违反我们的{terms}，并可能导致{suspension}。","terms":"服务条款","suspension":"所有关联账号被封停","info":"如果你的正当项目需要多个 Key，可以考虑支持更多 API Key 名额的{plans}。","paidPlans":"付费套餐","dismiss":"我知道了"},"slowDown":{"close":"关闭","title":"慢一点","sub":"你正在用免费 Day Pass 评估。想要不限量的完整榜单？现在升级，即可锁定{offer}。","offer":"终身 {pct}% 折扣","badge":"终身 {pct}% 折扣","weekly":"按周","monthly":"按月","perWeek":"周","perMonth":"月","opening":"正在打开...","startWeekly":"开通按周 →","startMonthly":"开通按月 →","keepTesting":"暂时继续评估"},"supportChat":{"launcher":{"unread":"{count} 条未读消息","open":"打开在线客服","welcomeBlurb":"与开发者在线沟通","dismiss":"关闭"},"header":{"title":"开发者真人客服，不是 AI。","online":"在线 · 通常几分钟内回复","offline":"请留言，我们会尽快回复你","close":"关闭对话"},"auth":{"title":"登录后开始对话","google":"使用 Google 继续","or":"或","email":"邮箱地址","password":"密码","submit":"登录","errors":{"required":"请输入邮箱和密码","failed":"登录失败，请重试。"}},"welcome":{"title":"你好","desc":"选择下方的常见问题，或直接输入你的问题。","quick":{"technical":"我遇到了技术问题","agent":"我想联系人工客服","other":"我有其他问题"}},"pass":{"twoHour":"2 小时 Agency Pass","dayPass":"Agency Day Pass","body":"你的账号已开通完整的 Agency Global 权限。","cta":"打开公会控制台","expired":"已过期","activeDays":"大约还剩 {count} 天","activeHours":"大约还剩 {count} 小时"},"messages":{"imageAlt":"图片","notSent":"未发送","typing":"TikTools 正在输入"},"input":{"sendPhoto":"发送图片","emoji":"表情","placeholder":"输入消息...","aria":"输入消息","send":"发送消息"},"blurb":{"passSent":"你收到了一张 Agency Pass","newMessage":"客服发来新消息"},"script":{"transferred":"已将你的请求转给人工客服，请稍候。","agencyQuestion":"你好，请问你的公会名称、所在地区和使用场景是什么？"}},"intelCard":{"aria":{"gifterIntel":"送礼用户情报","creatorIntel":"主播情报","close":"关闭","prev":"本榜单上一位","next":"本榜单下一位"},"hero":{"active":"活跃","live":"LIVE","offline":"未开播","level":"Lv. {level}"},"unmask":{"eyebrow":"GLOBAL AGENCY","text":"解锁{usernames}、送礼用户账号和完整情报。","usernames":"真实用户名","cta":"查看价格"},"tabs":{"overview":"概览","topCreators":"头部主播","behavior":"行为","ranks":"排名","topGifters":"头部送礼用户"},"creator":{"liveScore":"实时分数","boardScore":"榜单分数","peakRank":"最高排名","allTime":"历史","peakEarnings":"最高收益","noOverview":"暂无表现数据。","history":{"date":"日期","rank":"排名","diamonds":"钻石","loading":"正在加载排名历史...","empty":"暂无排名历史。"},"gifters":{"privateGifter":"匿名送礼用户","private":"匿名","loading":"正在加载头部送礼用户...","empty":"暂无送礼用户数据。"}},"copyHandle":"复制 {handle}","gifter":{"totalDiamonds":"总钻石","estSpent":"预估消费","creators":"主播","totalGifts":"礼物总数","noOverview":"暂未追踪到送礼数据。","noCreators":"暂未追踪到支持的主播。","behavior":{"sessions":"场次","avgPerSession":"场均","rhythm":"节奏","topShare":"最高占比","empty":"暂无行为画像。"}},"fullProfile":"查看完整主页","teaser":{"hiddenCreator":"隐藏主播","ranked":"上榜","loading":"正在加载完整情报...","anonNote":"数据都是真实的。用 7 天评估 Key 就能追踪。","maskedNote":"Sandbox 评估期间身份信息已脱敏，数据是真实的。","getFreeKey":"获取评估 Key","unlock":"解锁完整情报","load":"加载完整情报"},"error":{"warming":"情报正在准备中。","retry":"重试"},"seed":{"rank":"排名","diamonds":"钻石","estValue":"预估价值","region":"地区"},"someone":"某用户"},"gifterArchetype":{"whale":{"label":"大哥","tooltip":"以大额礼物为主，财力威胁最大"},"lateSniper":{"label":"压哨狙击","tooltip":"超过 50% 的礼物在直播后段送出，擅长压哨绝杀"},"earlyFlexer":{"label":"开场立威","tooltip":"超过 50% 的礼物在开播阶段送出，靠早期出手定基调"},"spammer":{"label":"刷屏型","tooltip":"超过 80% 是小额礼物，频率高、单次价值低"},"loyalFan":{"label":"铁粉","tooltip":"超过 70% 的消费集中在一位主播，专一、可预测"},"wanderer":{"label":"游走型","tooltip":"在 5 位以上主播间消费，没有明显偏爱，注意力容易分散"},"rhythmGifter":{"label":"规律型","tooltip":"节奏可预测，送礼间隔固定"}},"more":{"payment":{"confirming":"正在确认付款...","processing":"付款处理中，到账后你的套餐会立即更新。","notCompleted":"付款未完成，你的套餐未发生变化。","failed":"付款失败，你的套餐未发生变化。","notLoaded":"支付系统未加载，请重试。"}},"chat":{"more":{"agencyAccessRequest":"申请 Agency 2 小时访问权限","agencyHelp":"需要了解公会套餐","agencyListing":"关于我的公会入驻审核的问题"}}},"rankingBoard":{"notFound":{"title":"未找到","body":"暂无排行榜数据。","back":"返回所有地区","error":"未找到该排行榜"},"nav":{"creators":"主播","gifters":"送礼用户","gaming":"游戏"},"breadcrumb":{"rankings":"排行榜"},"dropdown":{"searchRegion":"搜索地区...","searchRegionAria":"搜索地区","searchCountry":"搜索国家...","searchCountryAria":"搜索国家","noResults":"无结果"},"poolBadge":"{code} 地区","stats":{"estEarnings":"预估收益","liveInRegion":"本地区直播中","liveNow":"正在直播","dayEnds":"今日结束","leagueReset":"联赛重置","weeklyReset":"每周重置","hourlyReset":"每小时重置","dailyReset":"每日重置","rollingWindow":"滚动窗口","last7Days":"近 7 天"},"updated":"更新于 {time}","anonBanner":{"text":"分数为近似值 - {strong}","strong":"登录查看精确钻石数和完整排名"},"regionIncludes":"{region} 地区包括：","poolLink":{"partOf":"所属：","pool":"（{code}）排行榜分区"},"cadence":{"daily":"日榜","hourly":"小时榜"},"tabs":{"estimatedDaily":"预估日榜","estimatedWeekly":"预估周榜","new":"新","popular":"热门","gaming":"游戏","shopping":"电商","loadingLeagues":"正在加载联赛..."},"alt":{"loading":{"estimateDaily":"正在加载预估日榜...","estimateWeekly":"正在加载预估周榜...","shopping":"正在加载电商榜...","gaming":"正在加载游戏榜...","league":"正在加载联赛排名..."},"liveCount":"{count} 人直播中","badgeEstimate":"预估","heading":{"estimateDaily":"预估日榜（今日出现过的所有主播）","estimateWeekly":"预估周榜（本周出现过的所有主播）","shopping":"直播电商榜","gamingNamed":"{game} 排行榜","gaming":"游戏排行榜","league":"联赛排名"},"score":{"estimate":"预估钻石","shopping":"销售分","diamonds":"钻石"},"hidden":{"ofListed":"{listed} 个名称中有 {hidden} 个已隐藏","all":"{hidden} 个名称已隐藏"},"shareTitle":{"estimateDaily":"预估日榜 - {region}","estimateWeekly":"预估周榜 - {region}","shopping":"直播电商 - {region}","game":"{game} - {region}","league":"{division} 联赛 - {region}"}},"counts":{"creators":"{count} 位主播","sellers":"{count} 位卖家","movers":"进出榜 {count} 位"},"actions":{"copyAll":"全部复制","share":"分享","liveToggle":"实时","unlock":"解锁","freeKey":"评估 Key","unlockUltra":"开通 Ultra 解锁","unlockAgency":"开通 Agency 解锁"},"diaFilter":{"title":"按月钻石数筛选","from":"从","to":"到","fromAria":"钻石数下限","toAria":"钻石数上限","bandTitle":"月钻石数（粗略区间）"},"estimateNote":{"dailyStrong":"这是预估值，不是 TikTok 官方日榜。","dailyBody":"{region} 每小时重置一次，TikTok 不公布该地区的每日总榜，因此本视图汇总了每位主播自 UTC 00:00 起在各个小时榜上的最高值。它会显示今天所有有收益的主播，而不只是当前小时可见的约 {size} 位。","weeklyStrong":"这是预估值，不是 TikTok 官方周榜。","weeklyBody":"TikTok 不公布周总榜。本视图基于我们过去 7 天对 {region} 的快照汇总而成，累加每位主播在各个榜期中的最高值。","hoursTitle":"今日上榜小时数及达到的最高排名","hoursRanked":"上榜 {hours} 小时","bestRank":"最高 #{rank}","weekTitle":"本周上榜天数、上榜榜期数及达到的最高排名","daysRanked":"上榜 {days} 天","periods":"{count} 个榜期"},"table":{"streamer":"主播","status":"状态","revenue":"收入","earnings":"收益","verified":"已认证主播","passPrivate":"PASS 私密"},"status":{"live":"LIVE","offline":"未开播"},"anon":{"revealRow":"今日 {count} 位上榜 - 获取评估 Key 即可深入查看","moreText":"更多：完整榜单、实时、API 获取"},"empty":{"noneLive":"目前没有主播在直播。","noData":"暂无数据。"},"footer":{"lastUpdated":"最后更新 {ago} · 每 60 秒自动刷新","recently":"刚刚","secondsAgo":"{n} 秒前","minutesAgo":"{n} 分钟前"},"movers":{"title":"今日曾上榜","tag":"目前已掉榜","note":"今天曾在本地区榜单上占有一席之地、但目前低于当前门槛（{cutoff}）的主播。这是 TikTok 从不展示的重置期榜单变动。","cols":{"peakRank":"最高 #","creator":"主播","peakScore":"最高分","toReenter":"重新上榜还差"},"locked":"已锁定","ctaStrong":"今天有 {count} 位主播上榜后又掉榜，现在就去重新招募。","ctaBody":"分数和排名是真实的，名称已隐藏。解锁所有地区的全部名称。","upsellTitle":"查看今天所有上榜后又掉榜的主播","upsellBody":"分数和排名是真实的，名称已隐藏。{strong}，即可查看所有地区完整的不脱敏变动名单。","upsellStrong":"在 tik.tools 开通 Agency 解锁"},"numbers":{"heading":"{region} {board}：数据一览","liveInRegion":"本地区直播中","liveNow":"正在直播","liveInDivision":"本级别直播中","liveOnBoard":"本榜单直播中","sellersRanked":"上榜卖家","creatorsRanked":"上榜主播","leaderShopping":"第 1 名销售分","leaderDiamonds":"第 1 名钻石","topShareShopping":"前 {size} 名销售分占比","topShareDiamonds":"前 {size} 名钻石占比","otherBoards":"{region} 其他榜单","leagueDivisions":"联赛级别","moreFor":"{region} 更多内容"},"links":{"dailyRanking":"日榜","hourlyRanking":"小时榜","estimatedDaily":"预估日榜","estimatedWeekly":"预估周榜","gaming":"游戏榜","liveShopping":"直播电商榜","popularLive":"热门直播","league":"{division} 联赛","topGifters":"头部送礼用户","allRegions":"所有地区","topGiftersIn":"{region} 头部送礼用户","teamsIn":"{region} 团队"},"browse":{"eyebrow":"地区分区","title":"本地区包含的国家"},"titleRow":{"leaderboard":"TikTok LIVE 排行榜","estimateDaily":"TikTok LIVE 预估日榜","estimateWeekly":"TikTok LIVE 预估周榜","league":"TikTok LIVE {division} 联赛排名","daily":"TikTok LIVE 日榜","hourly":"TikTok LIVE 小时榜"},"seo":{"titleBase":"{region} TikTok LIVE 排行榜 · {board}","titleWithDay":"{title}，{day}","cadenceLower":{"daily":"每日","hourly":"每小时"},"lead":"{region} TikTok LIVE 排行榜（{board}）。","leadWithDay":"{region} TikTok LIVE 排行榜（{board}），{day}。","leaderShoppingNamed":"{'@'}{handle} 以 {score} 销售分领跑。","leaderShopping":"第 1 名卖家的销售分为 {score}。","leaderNamed":"{'@'}{handle} 以 {score} 钻石领跑。","leader":"第 1 名主播拥有 {score} 钻石。","tailShoppingLong":"按销量排名的前 {count} 位卖家，附直播状态。","tailShoppingShort":"每位卖家的直播状态。","tailLong":"前 {count} 位主播，附直播状态和预估收益。","tailMedium":"前 {count} 位主播、直播状态、收益。","tailShort":"直播状态和收益。","emptyShopping":"按销量排名的卖家，附直播状态。","empty":"按钻石排名的主播，附直播状态和预估收益。","crumbHome":"首页","crumbRankings":"TikTok LIVE 排行榜","measuredShopping":"销售分","measuredDiamonds":"收到的钻石","ogTitle":"{region} TikTok LIVE 排行榜","ogSubtitle":"按钻石排名的头部主播，实时刷新","ogBadge":"排行榜"},"agencyCta":{"title":"解锁完整排行榜情报。","body":"观察名单、联赛深度数据、头部送礼用户拆解、批量复制、Telegram 提醒。","cta":"开通 Agency 权限","dismiss":"关闭"},"share":{"title":"分享","defaultTitle":"Tik.Tools - TikTok LIVE 排行榜","copy":"复制","copied":"已复制！","nativeShare":"分享到...","email":"邮件"},"copyUsername":{"copied":"已复制！","title":"复制 {'@'}{name}","aria":"复制用户名 {'@'}{name}"},"tierBadge":{"pro":"不脱敏排行榜 - PRO+ {price}/周起","ultra":"不脱敏联赛 - ULTRA+ {price}/周起","agencyStarter":"{plan} 已包含","agency":"开通 Agency 解锁","global":"实时礼物数据流 - GLOBAL {price}/周"},"watch":{"addedTitle":"已将 {'@'}{username} 加入观察名单","addTitle":"将 {'@'}{username} 加入你的公会观察名单","added":"已添加","add":"添加","failed":"失败"},"requestAccess":{"aria":"申请地区权限","title":"向公会负责人申请权限","sub":"你的团队权限不包含{region}。请让公会负责人为你开通，即可在此查看完整数据。","thisRegion":"该地区","button":"申请权限"}},"profile":{"creator":{"maskedName":"某用户","hidden":"已隐藏","copiedToast":"已将 {handle} 复制到剪贴板","notFound":{"degradedTitle":"该主页加载时间比平时长","degradedBody":"暂时无法加载 {handle}，请刷新页面重试。","title":"未找到该主播","body":"{handle} 还没有出现在 TikTok LIVE 排行榜上，请在下次更新后再来看看。","viewUsLeaderboard":"查看美国排行榜"},"breadcrumb":{"rankings":"排行榜","creator":"主播"},"hero":{"passPrivate":"PASS 私密","passCreator":"PASS 主播","verifiedCreator":"已认证主播","copyHandle":"复制 {handle}","liveNow":"正在直播","offline":"未开播","lastSeen":"最近出现：{when}","peak":"最高 #{rank}","shareTitle":"{name} 的 TikTok LIVE 数据","website":"网站","alsoGifter":"同时也是送礼用户","revenueHidden":"收入已隐藏"},"daysAgo":{"today":"今天","one":"1 天前","many":"{count} 天前"},"earnHero":{"label":"{month} 收益","hiddenByCreator":"主播已隐藏","unavailable":"暂时无法获取收益","none":"本月暂无排行榜收益"},"authCta":{"line":"免费追踪 {handle}：关注其排名变化并接收开播提醒。","google":"使用 Google 继续"},"upgradeCta":{"line":"开通 Agency，查看 {handle} 的全部送礼用户、完整排名历史和真实名称。","button":"查看 Agency 套餐"},"codeCta":{"title":"3 行代码实时获取 {handle} 的直播事件","sub":"通过 WebSocket 实时获取弹幕、礼物、点赞和观众数。换上你的 7 天评估 Key 即可运行。","copy":"复制代码","exampleTitle":"获取 {handle} 的直播事件"},"liveBar":{"liveNow":"正在直播","watching":"{count} 人观看","note":"上榜后将显示排行榜收益"},"topGifters":{"title":"{name} · 头部送礼用户","globalRank":"全球 #{rank}","private":"匿名","pctToday":"今日","pctWeek":"本周","pctMonth":"本月","pctLifetime":"累计","seeAll":"查看 {name} 的全部送礼用户"},"gifterAnalytics":{"title":"送礼用户分析","periods":{"today":"今日","week":"7 天","month":"30 天","lifetime":"累计"},"colGifter":"送礼用户","colEarnings":"收益","colShare":"占比","privateGifter":"匿名送礼用户","empty":"该时段暂无送礼用户。","showTop":"显示前 {count} 名","seeAll":"查看全部 {count} 位"},"stats":{"liveScore":"实时分数","todaysEarnings":"今日收益","peakRank":"最高排名","peakDiamonds":"最高钻石","peakEarnings":"最高收益（预估）","totalEarnings":"总收益（预估）","daysInLeaderboard":"上榜天数"},"performance":{"title":"表现历史","hiddenBadge":"主播已隐藏","hiddenMsg":"该主播已隐藏其表现历史。","lockedMsg":"历史表现是 Agency 功能，下方显示今日数据。","unlock":"开通 Agency 解锁","diamondsChartTitle":"每日获得钻石","diamondsChartSub":"按排行榜日累计","noHistory":"暂无历史数据","rankChartTitle":"排名历史","rankChartSub":"数值越小越好","noRank":"暂无排名数据","tooltipDiamonds":"{value} 钻石","tooltipRank":"排名 #{rank}"},"insights":{"avgRank":"平均排名（活跃日）","bestDay":"单日最高钻石","streakDays":"{days} 天","activeStreak":"连续活跃","rankTrend":"排名趋势","trend":{"improving":"上升","declining":"下滑","stable":"稳定"}},"daily":{"title":"每日明细","colDate":"日期","colRank":"排名","colDiamonds":"钻石","colEarnings":"预估收益","empty":"暂无排名数据。"},"region":{"title":"{region} 排行榜分区","desc":"{name} 参与 TikTok {region} 商业市场的排名竞争，该市场汇总了 {countries} 的排名。","andMore":"{list} 及另外 {count} 个","seeFull":"查看完整的 {region} 排行榜"},"liveNearby":{"title":"{region} 正在直播","thisRegion":"本地区"},"about":{"title":"关于 {handle} 的 TikTok LIVE 表现","introRanked":"{name} 是一位 TikTok LIVE 主播，{date} 在 {region} 市场排名第 {rank}。","introPeak":"{name} 是一位 TikTok LIVE 主播，最高排名曾达到第 {rank}。","introPlain":"{name} 是一位 TikTok LIVE 主播。","peakScore":"其最高分为 {diamonds} 钻石，约合 {earnings} 的主播收益。","marketWithPool":"{name} 在 {country} 市场直播，该市场属于 TikTok {region} 商业分区，包括 {countries}。","market":"{name} 在 {country} 市场直播。","track":"在 TikTool 上追踪其实时排名、收益预估和表现历史。"},"faq":{"notRecorded":"暂无记录","earn":{"q":"{handle} 在 TikTok LIVE 上赚多少钱？","a":"TikTok LIVE 主播收益按每钻石 $0.005 估算。{name} 有记录的最高分为 {diamonds} 钻石，约合 ${earnings}。实际收益取决于 TikTok 的兑换比例和主播所在地区。在 TikTool Pro 上可追踪每日预估。"},"rank":{"q":"{handle} 在 TikTok LIVE 上排名第几？","aRanked":"{name} {date} 在 {region} 排行榜上排名第 {rank}，历史最高排名为 {peak}。","aUnranked":"{name} 目前不在排行榜上，历史最高排名为 {peak}。请在下次排行榜更新后再来看看。"},"lastLive":{"q":"{handle} 最近一次在 TikTok 开播是什么时候？","aSeen":"{name} 最近一次被记录到开播是在 {date}。TikTool 实时监控排行榜动态，订阅 Pro 或 Ultra 即可接收开播状态提醒。","aUnknown":"我们暂时还没有 {name} 确认的最近开播日期。TikTool 追踪的是排行榜上榜记录，{name} 在之后的直播中上榜后就会显示在这里。"}},"footerCta":{"title":"实时追踪 TikTok LIVE 排名","body":"TikTool 让公会和品牌即时获取 TikTok LIVE 数据：排行榜、礼物追踪、收益情报和 WebSocket 事件。","leaderboard":"{region} 排行榜"},"sidebar":{"title":"排行榜","global":"全球","updating":"{region} 实时榜单更新中...","empty":"该地区暂无实时排行榜。"},"seo":{"title":"{who} 的 TikTok LIVE 收益与数据 {'|'} TikTools","descRankedIn":"{who} 今日在 {country} TikTok LIVE 排名第 {rank}，获得 {diamonds} 钻石（≈{earnings}）。在 TikTool 上追踪开播状态和收益。","descRanked":"{who} 今日在 TikTok LIVE 排名第 {rank}，获得 {diamonds} 钻石（≈{earnings}）。在 TikTool 上追踪开播状态和收益。","descTrackedPeak":"{who} 是 TikTool 追踪的 TikTok LIVE 主播，最高排名第 {rank}。查看排名历史、钻石收益和开播状态。","descTracked":"{who} 是 TikTool 追踪的 TikTok LIVE 主播。查看排名历史、钻石收益和开播状态。","profilePageName":"{name} 的 TikTok LIVE 主页","crumbHome":"首页","crumbRankings":"TikTok LIVE 排行榜","crumbCountry":"{country} 排行榜","ogSubtitle":"TikTok LIVE 主播数据","ogBadgeCreator":"主播"}},"gifter":{"notFound":{"title":"未找到该送礼用户","body":"我们的礼物追踪中还没有出现 {'@'}{handle}。","back":"送礼用户排行榜"},"breadcrumb":"TikTok 送礼用户排行榜","passPrivate":"PASS 私密","badge":{"pass":"PASS 送礼用户","verified":"已认证送礼用户"},"shareTitle":"{name} 的 TikTok 送礼用户主页","activeNow":"当前活跃","watching":"正在观看 {handle}","alsoCreator":"同时也是主播","chatParticipant":"弹幕参与者","status":{"gifting":"正在送礼","offline":"离线"},"stats":{"level":"送礼等级","levelValue":"Lv. {level}","levelSpend":"在 TikTok 上已消费 {amount}","region":"地区","totalDiamonds":"总钻石","estSpent":"预估消费","creatorsSupported":"支持的主播","totalGifts":"礼物总数"},"privateNotice":"该送礼用户已将送礼数据设为私密。","coverage":{"trackedSince":"自 {date} 起追踪。我们只记录送给观察名单内主播的礼物（头部排行榜、联赛、通过 /watch 添加的主播）。","noGifts":"暂无追踪到的礼物：还没有发现该用户给观察名单内的主播送礼。通过我们的{link}添加其喜爱的主播即可开始记录。"},"unmask":{"text":"查看{usernames}、真实账号、真实 CRM 和 VIP 情报。月度订阅即可解锁全部内容。","realUsernames":"真实用户名","cta":"查看价格"},"behavior":{"title":"送礼画像","giftSize":"礼物档位","dropTiming":"场内送礼时机","early":"前段","mid":"中段","late":"后段","sessions":"场次","avgGifts":"场均礼物数","rhythm":"节奏分","topShare":"最高主播占比","basedOn":"基于最近 {count} 个追踪到的礼物"},"sizes":{"tiny":"极小额（<500◇）","small":"小额（500-5K◇）","medium":"中额（5K-30K◇）","big":"大额（30K+◇）"},"regional":{"title":"地区排行榜","copyAll":"全部复制","seeAll":"查看全部"},"creators":{"title":"支持的主播","shareOfSpend":"占消费 {pct}%"},"seeAllCreators":"查看 {name} 支持的全部主播","someone":"某用户","scope":{"totalSince":"自开始追踪以来的累计（首次记录于 {date}）。仅统计送给我们追踪的主播的礼物。","total":"自开始追踪以来的累计。仅统计送给我们追踪的主播的礼物。","dropsSince":"自开始追踪以来的礼物（首次记录于 {date}）。仅列出送给我们追踪的主播的礼物。","drops":"自开始追踪以来的礼物。仅列出送给我们追踪的主播的礼物。"},"seo":{"title":"{name} - 送礼用户主页 {'|'} TikTool","ogSubtitle":"TikTok LIVE 送礼用户主页","ogBadge":"送礼用户"}},"intelModal":{"close":"关闭","eyebrow":"公会情报","title":"解锁完整的主播与送礼用户情报","sub":"只有一个套餐，按需选择时长。","sandbox":{"label":"Sandbox 套餐：","note":"可浏览全部内容，用户名已脱敏，无需绑卡。","signUp":"登录"},"freePlan":{"note":"你当前使用的是{plan}，用户名已脱敏。开通周付或月付即可查看真实用户名。","plan":"Sandbox 评估"},"weekly":{"name":"Global 周付","desc":"完整情报，门槛更低。","cta":"开通周付 · ${price}"},"monthly":{"name":"Global 月付","desc":"同样的情报，长期管理主播最划算。","cta":"开通月付 · ${price}"},"perWeek":"/周","perMonth":"/月","bestPrice":"最划算","perks":{"leagueAccess":"完整联赛权限，覆盖所有活跃地区","topGifterIntel":"头部送礼用户情报 · 真实名称","rankHistory":"90 天排名历史图表","creatorFinder":"新主播发现工具","radarBot":"Telegram 雷达机器人","dmAlerts":"私信提醒","ultraApi":"Ultra API","wsAccess":"WebSocket 权限","bulkCopy":"批量复制","wholeBoard":"一键复制整个榜单","everythingWeekly":"包含周付全部内容，另加：","regionalChannels":"地区频道 + 私信提醒","wsIncluded":"包含 WebSocket 权限","massCopy":"批量复制用户名","gifterGraph":"跨主播送礼用户关系图","prioritySupport":"优先支持 · 公会控制台","bestPriceRosters":"长期管理主播最划算 · 可随时取消"},"footnote":"价格以美元计 · 由 Stripe 提供安全保障 · 可随时取消","back":"返回","badgeWeekly":"周付","badgeMonthly":"月付","preparing":"正在准备安全结账...","processing":"处理中...","pay":"支付 ${amount}","payFootnote":"由 Stripe 提供安全保障 · 可随时在 /agency/billing 取消","confirming":"正在确认付款...","success":{"title":"权限已解锁","weekly":"Global 周付已激活。","monthly":"Global 月付已激活。","cta":"查看你的分析"},"errors":{"init":"无法初始化付款，请重试。","startFailed":"无法开始结账","payFailed":"付款失败。"}},"agencyNotes":{"title":"经纪人备注","clickToAdd":"点击添加备注","status":{"saving":"保存中...","saved":"已保存","unsaved":"未保存","synced":"已同步"},"loading":"加载中...","crmStatus":"CRM 状态","crm":{"newTarget":"新目标","outreachSent":"已联系","inTalks":"洽谈中","signed":"已签约","cold":"无意向"},"eligibilityVerified":"资格已验证","verified":"已验证","unverified":"未验证","score":"评分 {score}","actions":{"adding":"添加中...","watching":"观察中","addToWatchlist":"加入观察名单","onRoster":"已在主播名单","addToRoster":"加入主播名单"},"placeholder":"仅团队可见的备注：联系记录、负责人情报、分成条款、回复习惯...","dashboard":"控制台","saveNow":"立即保存","errors":{"watchlist":"加入观察名单失败","roster":"加入主播名单失败","save":"保存失败"}},"widgets":{"diamondHistory":{"title":"钻石历史","subtitle":"每月获得钻石 · 公会情报","loading":"正在加载历史...","lockedAgency":{"title":"钻石历史是 Agency 功能","body":"在投入招募名额之前，先看清主播的月度收益趋势。","cta":"开通 Agency 解锁"},"lockedDailyCap":{"title":"已达到每日历史查看上限","body":"你今天查看的主播历史已达上限，24 小时后重置。"},"avgPerMonth":"月均","monthsTracked":"已追踪 {count} 个月","liveDays":"{days} 天","footnote":"数据为区间范围，并非精确总数。"},"wdrGauge":{"title":"大哥依赖度","subtitle":"前 3 名送礼用户 · 历史钻石占比","tips":{"captive":"前 3 名送礼用户贡献了大部分收入，他们一走，主播收入就会崩盘。","dependent":"高度集中，少数几位大哥就能大幅影响收入。","diversified":"支持者分布广泛，失去一位大哥影响不大。","independent":"社群支持广泛，几乎不依赖任何单一送礼用户。"},"verdicts":{"CAPTIVE":"高度绑定","DEPENDENT":"依赖较重","DIVERSIFIED":"来源分散","INDEPENDENT":"独立"}},"churnGraph":{"title":"大哥留存 · 90 天","subtitle":"平均 {pct}% · {verdict}","tip":"每周前 20 名大哥中，在最近一周仍然活跃的比例（%）。越高说明社群黏性越强。","verdicts":{"LOYAL_COMMUNITY":"忠实社群","STEADY":"稳定","BLEEDING":"持续流失","CHURNING":"高流失","UNKNOWN":"未知"},"tooltip":{"week":"{week} 当周","retained":"留存 {pct}%","stillActive":"{total} 位中仍有 {retained} 位活跃"}},"sniperGap":{"target":"目标 · {region} · 排名 #{rank}","overtake":"即可从 #{rank} 反超"},"recentDrops":{"title":"近期送礼","subtitle":"速查表：花了多少、送给了谁","today":"今天","loading":"加载中...","empty":"暂未追踪到送礼记录。","sends":"送出 {count} 次","scrollMore":"滚动查看更多","ago":{"seconds":"{n} 秒","minutes":"{n} 分钟","hours":"{n} 小时","days":"{n} 天"}},"walletFatigue":{"title":"钱包疲劳度","subtitleMasked":"30 天消费走势 · 升级到 Agency 查看具体数值","subtitleUsd":"30 天消费 · 日均 ${usd} · 峰值 ◇{peak}","subtitleDiamonds":"30 天消费 · 日均 ◇{avg} · 峰值 ◇{peak}","movingAvgLabel":"7 日均线"},"loyaltyDonut":{"title":"送礼分散度","subtitleOne":"支持 {count} 位主播 · {verdict}","subtitleMany":"支持 {count} 位主播 · {verdict}","others":"其他","verdicts":{"loyal":"专一","focused":"集中","split":"分散","scattered":"零散"},"tooltipShare":"占消费 {pct}%"},"lockedValue":{"title":"Agency 功能","ariaLabel":"已锁定，Agency 功能","label":"已锁定"}},"fin":{"eyebrow":"财务","title":"财务分析","subtitleCreator":"{handle} 的预估收入","subtitleGifter":"{handle} 的预估支出","estimated":"预估","basisCreator":"按每颗钻石 {rate} 估算的主播收入。实际收入因地区、公会分成和提现手续费而异。","basisGifter":"按每枚金币 {rate} 估算的支出，即最低标准金币价格。在应用商店购买的金币套餐价格更高。","periodLabel":"时间段","range":{"today":"今天","yesterday":"昨天","7d":"7 天","30d":"30 天","mtd":"本月","lm":"上月","90d":"90 天","12m":"12 个月","custom":"自定义"},"granLabel":"分组方式","gran":{"day":"按天","week":"按周","month":"按月"},"from":"开始","to":"结束","apply":"应用","vsPrevRange":"对比 {from} - {to}","noCompare":"该时间段暂无对比数据","noCompareShort":"无对比","partial":"礼物记录保留 90 天，因此数据从 {date} 开始。","kpiLabel":"关键数据","kpi":{"usdCreator":"收入","usdGifter":"支出","diamonds":"钻石","gifts":"礼物","counterpartsCreator":"送礼用户数","counterpartsGifter":"支持的主播","streamsCreator":"直播场次","streamsGifter":"参与的直播","liveHoursCreator":"直播时长","liveHoursGifter":"活跃时长","usdPerStream":"每场","usdPerHour":"每直播小时"},"up":"上升","down":"下降","liveHoursNote":"时长按每场直播第一份礼物到最后一份礼物之间计算。","liveHoursNoteSessions":"直播时长来自我们为每场直播记录的会话时间。","liveHoursNoteMixed":"直播时长来自我们记录的会话时间；没有记录的直播按第一份到最后一份礼物计算。","chartTitleCreator":"收入趋势","chartTitleGifter":"支出趋势","chartCurrent":"本期","chartPrevious":"上期","chartOther":"其他礼物","chartAria":"{total} 在 {n} 个时段内的图表，按礼物拆分，上期以虚线显示。","heatmapTitle":"收入何时到来","heatmapSub":"按星期和小时，UTC","topGifters":"送礼排行","topCreators":"支持最多的主播","topGifts":"热门礼物","recentStreams":"最近直播","colName":"名称","colUsd":"USD","colShare":"占比","colChange":"变化","colGift":"礼物","colQty":"数量","colStarted":"开始时间","colCreator":"主播","colDuration":"时长","colGifts":"礼物","colGifters":"送礼用户","colGiftersIn":"本场送礼用户","colPeak":"峰值分钟","anonymous":"匿名送礼用户","hiddenName":"私密","new":"新","showAll":"查看全部 {n} 条","empty":"该时间段没有礼物","export":"导出 CSV","loading":"正在更新","error":"分析数据暂时不可用，请稍后再试。","retry":"重试","private":"该送礼用户已将分析数据设为私密。","minutes":"{n} 分钟","hoursMinutes":"{h} 小时 {m} 分钟","lockTitle":"解锁财务分析","lockBodyCreator":"查看任意主播的预估美元收入、送礼排行、礼物构成和每场直播收入，可按天、周或月查看。","lockBodyGifter":"查看任意送礼用户的预估美元支出、支持的主播、礼物构成和每场直播活动，可按天、周或月查看。","priceFrom":"Agency 套餐每月 {price} 起","lockCta":"查看 Agency 套餐","sampleNote":"示例图形预览，并非真实数据。","sourceBoard":"本期收入来自每日排行榜分数。礼物未逐条记录，因此礼物数量、送礼者和按小时视图不可用。","sourceMixed":"收入结合了已记录的礼物和每日排行榜分数。已记录的礼物占总额的{pct}；送礼者和礼物表格只显示已记录的礼物。","notCaptured":"未记录","emptyNoGifts":"本期礼物未逐条记录","untimed":"没有记录时长的直播不计入直播时长：{n} 场。","boardStream":"礼物未记录","giftsOnly":"（仅已记录的礼物）"}},"shared":{"polygonalSignTotem":{"carouselAria":"TikTok Live 演示轮播","previousSlide":"上一张","nextSlide":"下一张","loading":"正在加载 3D 演示轮播...","eligible":{"title":"发现 {region} 新主播","badge":"公会新功能","cta":"复制 30 个用户名"},"gifters":{"title":"送礼用户情报","badge":"LIVE","topToday":"今日头部送礼用户 - {region}","line":"头部送礼用户、大额礼物动态，以及他们支持的主播。","sub":"按地区划分，全天候刷新。","cta":"查看送礼用户"},"leagues":{"title":"榜单：联赛 + 游戏","creatorLeagueRanks":"主播与联赛排名","regions":"个地区","brackets":"个分组","liveNow":"正在直播","regionLive":"{n} 人直播中","openCreator":"打开主播 {'@'}{handle}","gamingRanks":"游戏榜","new":"新","gamingCopy":"App 内实时游戏排行榜，覆盖所有地区。Agency 专属。","open":"打开","cta":"打开 /ranking"},"regionNames":{"balkans":"巴尔干","japan":"日本","unitedStates":"美国","dach":"德国及 DACH 地区","brazil":"巴西"},"player":{"title":"直播播放器","finding":"正在寻找直播频道...","meta":"FLV 播放 + 自动恢复 + 5 秒起播","cta":"打开观看演示"},"events":{"title":"直播事件","connecting":"正在连接直播数据流...","cta":"WebSocket 参考"}},"liveVideoPlayer":{"live":"LIVE","connectingTo":"正在连接 {user} 的直播","offline":"直播已下线","offlineSub":"在上方输入正在直播的 TikTok 用户名","liveDemo":"直播演示","demoEnded":"演示已结束","tryItNow":"立即体验 →","mute":"静音","unmute":"取消静音","switchToLandscape":"切换到 16:9","switchToPortrait":"切换到 9:16","fullscreen":"全屏","streamQuality":"画质","closeEsc":"关闭（Esc）","closeFullscreen":"关闭全屏","exitFullscreen":"退出全屏","qualityAuto":"自动"},"liveDemo":{"monitorLabel":"直播监控","usernamePlaceholder":"TikTok 用户名...","usernameLabel":"TikTok 用户名","connecting":"连接中","stop":"停止","connect":"连接","eventsLog":"直播事件","eventsCount":"{n} 条事件","viewersCount":"{n} 位观众","dismissError":"关闭错误提示","connectionFailed":"连接失败，正在切换频道","status":{"connecting":"连接中...","live":"直播中","offline":"未开播"},"feed":{"userFallback":"用户","giftFallback":"礼物","sent":"送出 {gift} x{count}","followed":"关注了主播","joined":"进入直播间","likedBurst":"点赞 +{n}（连击合并）","liked":"点赞 +{n}","viewersUser":"观众","viewersNow":"当前 {n}","battleUser":"PK","battleStarted":"PK / 连线已开始","battleEnded":"PK 已结束","subscribed":"订阅了主播（{months} 个月）","envelope":"红包（{n} 钻石）","systemUser":"系统","pinned":"置顶消息"}},"homeGamingRanksBar":{"title":"游戏榜","tag":"新 · AGENCY 专属","regionGaming":"{region} 游戏榜","defaultRegion":"美国","regionAria":"游戏榜地区","allRegions":"所有地区","top5Now":"当前前 5 名","fullBoard":"完整榜单","live":"LIVE","empty":"该地区目前没有实时游戏榜。","lockNote":"开通任意 Agency 套餐即可解锁隐藏的名称。","seePlans":"查看套餐"},"homeHeroTabs":{"tablistAria":"产品模块","tabs":{"intel":"公会情报","api":"直播 API"},"intelEyebrow":"实时数据面板","intelSubs":{"creators":"主播","gifters":"送礼用户","rankings":"排行榜","gaming":"游戏","shop":"电商"},"liveCount":"{n} 人直播中","liveNow":"正在直播","warmingUp":"正在准备实时榜单...","apiEyebrow":"基于直播流开发","apiSubs":{"gifts":"礼物","events":"事件","websocket":"WebSocket","webhooks":"Webhook"},"yourApp":"你的应用","openDocs":"打开文档"},"bookLiveDemo":{"brand":"预约在线演示","closeAria":"关闭演示预约","stepOf":"第 {step} 步，共 {total} 步","back":"返回","persona":{"title":"我是...","developer":{"label":"开发者","sub":"基于 API 进行开发"},"liveAgency":{"label":"直播公会","sub":"管理 LIVE 主播"},"shopAgency":{"label":"电商公会","sub":"推动电商带货与销售"}},"interest":{"title":"感兴趣的内容","enterprise":"企业版","customRequest":"定制需求"},"trial":{"tag":"3 天通行证","title":"不用约电话，直接体验 Pro","lede":"我们为 Ultra 及以上套餐提供在线演示，但想看 {plan} 的实际效果并不需要约电话。领取 3 天 Pro 通行证，自己体验全部功能。可随时取消。","cta":"开通 3 天 Pro 通行证"},"details":{"title":"补充一些信息","firstName":"名字","agencyName":"公会名称","email":"邮箱","region":"地区","optional":"选填","regionPlaceholder":"US、EU、SEA...","callDetails":"关于这次沟通的一些说明","callDetailsPlaceholder":"你希望聊哪些内容？","bestTime":"方便的时间","bestTimePlaceholder":"工作日上午、下午 3 点以后...","timezone":"时区","usingAccountEmail":"使用你的账号邮箱","invalidEmail":"请输入有效的邮箱。"},"done":{"title":"已收到你的预约","lede":"我们已收到你的请求，团队成员会尽快与你联系。谢谢！","close":"关闭"},"sending":"发送中...","submit":"提交预约","submitError":"提交时出了点问题，请重试。"}},"tools":{"giftDetail":{"notFound":"未找到该礼物。","backToCatalog":"返回礼物图鉴","allGifts":"← 全部礼物","fallbackName":"TikTok LIVE 礼物","hero":{"titleSub":"TikTok LIVE 礼物","titleSubPriced":"TikTok LIVE 礼物，{coins}","subPriced":"送出一个{gift}需要 {coins}，按每 $1 兑 {rate} 金币的参考汇率约合 {buyerUsd}。主播获得 {diamonds}，约合 {creatorUsd} 收益。","subUnpriced":"TikTok LIVE 上的虚拟礼物。我们暂时还没有该礼物经过确认的金币价格。"},"stats":{"coin":"金币","coins":"金币"},"buyerCost":"送礼花费（约）","creatorPayout":"主播收益（约）","cta":{"download":"下载 PNG","overlays":"制作 TikTok LIVE 叠加层"},"breakdown":{"title":"{gift}的{costs}与主播收益","titleAccent":"价格","giftsSent":"送出礼物数","diamondsToCreator":"主播获得钻石","qtyRow":"{qty} x {gift}","note":"送礼花费按每 $1 兑 {rate} 金币的参考汇率计算。TikTok 以充值包形式出售金币，单个金币的价格取决于充值包大小、购买渠道和所在地区；网页充值和 App 内购买（含应用商店手续费）通常比这个汇率更贵。主播收益按每钻石 ${payout} 计算，未扣除公会分成。{link}。","calculatorLink":"用钻石计算器换算任意数量"},"pitch":{"api":{"title":"TikTok LIVE API","body":"通过 WebSocket 连接任意 TikTok LIVE 直播间，实时收到每一个礼物事件，包括{gift}。7 天评估 Key，无需信用卡。","link":"阅读文档 →"},"gifters":{"title":"查看头部送礼用户","body":"浏览全球送礼用户排行榜：覆盖 {count} 个地区，送出{gift}及其他各类礼物的真实用户，持续更新。","link":"送礼用户排行榜 →"},"sdk":{"title":"生产级 SDK","body":"一条 npm install -> 终端里即可看到直播事件。官方支持 Node.js + Python。","link":"快速入门 →"}},"related":{"title":"{price}相近的礼物","titleAccent":"价格"},"units":{"coin":"{count} 金币","coins":"{count} 金币","diamond":"{count} 钻石","diamonds":"{count} 钻石"},"faq":{"title":"{gift}礼物{faq}","titleAccent":"常见问题","price":{"q":"TikTok 上的{gift}礼物多少钱？","a":"{gift}需要 {coins}。按每 $1 兑 {rate} 金币的参考汇率，约合 {usd}。实际结账价格取决于充值包、购买渠道和地区，App 内购买因含应用商店手续费通常更贵。"},"earn":{"q":"主播收到一个{gift}能赚多少？","a":"主播获得 {diamonds}。按每钻石 ${payout} 的收益比例，约合 {usd}，未扣除公会分成。"},"ten":{"q":"10 个{gift}礼物需要多少金币？","a":"10 个{gift}礼物需要 {coins}（约 {buyerUsd}），主播获得 {diamonds}（约 {creatorUsd}）。"},"similar":{"q":"哪些 TikTok 礼物和{gift}价格差不多？","a":"价格相近的礼物有{list}。"},"listAnd":"{items}和{last}"},"final":{"title":"想要{realTime}获取每一个礼物事件？","titleAccent":"实时","body":"把免费 SDK 接入你的应用，即可从任意 TikTok LIVE 直播间获取礼物、弹幕、点赞、关注和 PK 事件。","getKey":"获取 7 天评估 Key","gifters":"查看送礼用户排行榜"},"seo":{"titleMissing":"TikTok LIVE 礼物","titleUnpriced":"TikTok {gift}礼物","titlePricedOne":"TikTok {gift}礼物：{count} 金币（约 {usd}）","titlePricedMany":"TikTok {gift}礼物：{count} 金币（约 {usd}）","descriptionMissing":"TikTok LIVE 礼物详情：金币价格、主播钻石收益和相近礼物。","descriptionUnpriced":"{gift}是 TikTok LIVE 虚拟礼物。免费下载透明 PNG，并可通过 tik.tools API 获取实时礼物事件。","descriptionLong":"TikTok {gift}礼物需要 {coins}（约 {buyerUsd}），主播获得 {diamonds}，约合 {creatorUsd}。附价格表和相近礼物。","descriptionMedium":"TikTok {gift}礼物需要 {coins}（约 {buyerUsd}），主播获得 {diamonds}，约合 {creatorUsd}。","descriptionShort":"{gift}：{coins}（约 {buyerUsd}）；主播获得 {diamonds}（约 {creatorUsd}）。"},"jsonLd":{"breadcrumbHome":"首页","breadcrumbGifts":"TikTok 礼物"},"og":{"subtitle":"{coins} / 约 {usd}","badge":"礼物"}},"guidesHub":{"hero":{"badge":"开发者指南","title":"TikTok LIVE API","titleHighlight":"开发者指南","subtitle":"手把手教程，帮你基于 TikTok LIVE 数据进行开发。从第一次连接到生产级应用，全程覆盖。"},"more":{"title":"更多资源","docs":{"title":"API 文档","desc":"完整的 SDK 参考、WebSocket 事件、REST 端点和代码示例。"},"useCases":{"title":"使用场景","desc":"看看开发者都在做什么：助手、叠加层、数据分析、AI 集成等等。"}},"seo":{"title":"TikTok LIVE API 开发者指南 - 教程与快速入门","description":"TikTok LIVE API 分步教程：快速入门、制作弹幕助手、创建 OBS 直播叠加层、用 Python 连接、WebSocket API 参考。7 天评估 Key，无需信用卡。","ogTitle":"TikTok LIVE API 开发者指南 - 教程与快速入门","ogDescription":"快速入门、弹幕助手教程、直播叠加层教程、事件参考，一步步学会基于 TikTok LIVE 数据开发。"},"og":{"title":"TikTok LIVE API 指南","subtitle":"基于 TikTok LIVE 开发的教程与快速入门。","badge":"指南"},"minRead":"阅读约 {count} 分钟","levels":{"beginner":"入门","intermediate":"进阶","allLevels":"不限水平"},"badges":{"quickStart":"快速入门","guide":"指南","tutorial":"教程","reference":"参考","migration":"迁移","troubleshooting":"故障排查","automation":"自动化"},"guides":{"gettingStarted":{"title":"TikTok LIVE API 快速入门","desc":"安装 SDK、获取 7 天评估 Key、连接任意直播间，30 秒内即可收到实时事件。"},"websocket":{"title":"TikTok LIVE WebSocket API","desc":"通过 WebSocket 连接任意 TikTok LIVE 直播间，实时接收弹幕、礼物、观众数和 PK。"},"webhooks":{"title":"TikTok LIVE Webhook","desc":"主播开播或下播时，收到一条带签名的 HTTPS POST。live.start 和 live.end 支持重试、重放和签名校验。"},"chatAssistant":{"title":"5 分钟打造 TikTok Live 弹幕助手","desc":"创建一个功能完整的弹幕助手：响应指令、追踪礼物、维护排行榜、欢迎观众。"},"overlay":{"title":"制作 TikTok LIVE 直播叠加层","desc":"创建兼容 OBS 的浏览器源叠加层，包含实时弹幕、礼物动画提醒和观众数显示。"},"python":{"title":"TikTok LIVE API Python 指南","desc":"用 Python 通过 WebSocket 连接任意 TikTok LIVE 直播间。实时弹幕、礼物、观众数，可替代 TikTokLive 库的生产级方案。"},"events":{"title":"TikTok LIVE API 事件参考","desc":"所有实时 WebSocket 事件的完整参考：弹幕、礼物、点赞、关注、观众数、PK、订阅等。"},"tts":{"title":"TikTok Live 文字转语音（TTS）","desc":"了解如何在 TikTok Live 直播中使用文字转语音。打造 TTS 助手、朗读弹幕，创造互动语音体验。"},"migrate":{"title":"从 TikTok-Live-Connector 迁移","desc":"从 tiktok-live-connector 迁移到托管 API：修改 import 和构造函数，事件处理函数保持不变。"},"troubleshooting":{"title":"修复 TikTok LIVE 连接器的常见错误","desc":"SignatureRateLimitError、Failed to sign request、user_not_found、2026 年九月的签名服务中断，以及只能通过 VPN 使用的问题：每个错误的含义和解决方法。"},"migrateOpenSource":{"title":"从 TikTok-Live-Connector 或 TikTokLive 切换","desc":"Node 和 Python 代码并排对照，原库写法和我们的写法，附事件名对照表。每段代码都在真实直播中运行过。"},"recipes":{"title":"适用于 n8n 和 Claude 的自动化方案","desc":"现成的 n8n 工作流，用于开播提醒、每日招募名单和每周旗下主播报告，另附 TikTok LIVE MCP 服务器的提示词合集。"}}},"agencyGuidesHub":{"hero":{"badge":"面向公会","title":"TikTok 公会","titleHighlight":"指南","subtitle":"基于实时收益、地区和增长数据，教你如何发现、筛选和签约 TikTok LIVE 主播的实战手册。"},"guides":{"findCreators":{"title":"如何为你的 TikTok 公会寻找主播","desc":"完整手册：排行榜、正在直播、飙升榜、资格检测和背景核查。"},"byCountry":{"title":"按国家寻找 TikTok 主播","desc":"借助 28+ 个国家排行榜，逐个地区挖掘主播。"},"eligibility":{"title":"检测 TikTok 主播资格","desc":"从候选名单中筛选出真正可以加入公会的主播。"}},"cta":{"title":"要在多个地区招募？","body":"Agency PASS 解锁完整榜单、联赛等级和历史数据。","button":"查看 Agency PASS"},"seo":{"title":"TikTok 公会指南 - 寻找并签约主播 {'|'} TikTool","description":"TikTok 直播公会指南：如何按国家和垂类寻找主播、检测资格，并在签约前核实收益。基于 tik.tools 实时数据。","ogTitle":"TikTok 公会指南","ogDescription":"基于实时数据，发现、筛选和签约 TikTok LIVE 主播的实战手册。"},"jsonLd":{"breadcrumbHome":"首页","breadcrumbPage":"公会指南"},"og":{"title":"TikTok 公会指南","subtitle":"发现、筛选、签约主播。","badge":"面向公会"}},"wsDecoder":{"hero":{"eyebrow":"开发者工具","title":"TikTok LIVE {accent}","titleAccent":"WebSocket 解码器","subtitle":"粘贴从 TikTok WebCast WebSocket 抓取的 base64 或 hex 帧。我们会解码 protobuf 编码格式，自动 gunzip 内层 payload，并渲染字段树。基于 TikTool 的签名基础设施运行，无需上传 schema。"},"input":{"label":"输入","placeholder":"在此粘贴 base64 编码的 WebCast 帧...","decode":"解码","decoding":"解码中...","loadSample":"加载示例帧","clear":"清空"},"output":{"label":"解码结果","bytes":"{count} 字节","gzipped":"gzip 压缩的 payload","copyJson":"复制 JSON","empty":"解码后的 protobuf 字段树将显示在这里。","outerFrame":"外层帧","innerPayload":"内层 payload（已自动 gunzip）"},"howto":{"title":"如何抓取 WebCast 帧","steps":{"open":"在 Chrome 中打开一个 TikTok LIVE 直播间。","devtools":"DevTools > Network > WS，点击 {code} WebSocket。","pick":"选择任意一条消息帧，右键 >「Copy message」。","paste":"粘贴到这里。base64 和 hex 两种格式都支持。"},"tail":"从你自己的客户端抓取？官方 Node.js + Python SDK 会通过 {code} 事件暴露每一帧原始数据，记录一次，粘贴到这里即可查看。{link}","docsLink":"完整 WebSocket 文档"},"errors":{"decodeFailed":"解码失败"},"seo":{"title":"TikTok LIVE WebSocket 解码器","description":"解码来自 TikTok WebCast 推送接口的 base64 WebSocket 帧。粘贴抓取的消息，自动 gunzip payload，查看 protobuf 字段树。","ogTitle":"TikTok LIVE WebSocket 解码器","ogDescription":"解码来自 TikTok WebCast 推送接口的 base64 WebSocket 帧。粘贴、gunzip、查看 protobuf 字段树。"},"protoTree":{"fieldOne":"{count} 个字段","fieldMany":"{count} 个字段"}},"agencyNames":{"seo":{"title":"TikTok 直播公会名称","description":"新主播、新送礼用户、排行榜、联赛、游戏榜、直播电商。","ogTitle":"TikTok 直播公会名称"},"jsonLd":{"name":"TikTok 直播公会名称","about":"TikTok LIVE 公会"},"og":{"title":"TikTok 直播公会名称"},"hero":{"eyebrow":"TikTok LIVE · 公会","title":"TikTok Live 数据，{accent}","titleAccent":"专为公会打造"},"pillarsTitle":"公会要追踪的一切，尽在一处","pillars":{"newCreators":{"title":"新主播","copy":"在 LIVE 排行榜上崭露头角的新主播，可随时检测资格并招募。"},"newGifters":{"title":"新送礼用户","copy":"所有地区正在崛起的大哥和头部送礼用户。"},"leaderboards":{"title":"排行榜","copy":"地区和全球 TikTok LIVE 主播排名，实时更新。"},"leagues":{"title":"联赛","copy":"各地区 A1 至 D5 的 Diamond Rush 联赛梯队。"},"gamingRanks":{"title":"游戏榜","copy":"按游戏和地区划分的实时游戏排行榜。"},"liveShops":{"title":"直播电商","copy":"实时查看直播带货动态、商品和拍卖。"}},"links":{"title":"探索平台","agencyDirectory":"公会名录","agencyDashboard":"公会控制台","agencyPulse":"公会动态","newCreators":"新主播","risingCreators":"飙升主播","regionalLeaderboards":"地区排行榜","leagues":"联赛","topGifters":"头部送礼用户","gamingRanks":"游戏榜","giftCatalog":"礼物图鉴","bestTime":"最佳开播时间","diamondsCalculator":"钻石计算器","gifterLevels":"送礼等级","api":"TikTok LIVE API","docs":"开发者文档","pricing":"价格"},"cta":{"title":"免费入驻你的 TikTok LIVE 公会","body":"认领你的公会名称，展示旗下头部主播，率先被发现。","button":"入驻你的公会 →"}},"gamingRanks":{"nav":{"creators":"主播","gifters":"送礼用户","gaming":"游戏"},"hero":{"badge":"公会功能","badgeIncluded":"已包含在 {plan} 中","badgeGlobal":"Agency Global 功能","badgeNew":"新","title":"TikTok LIVE {accent}","titleAccent":"游戏榜","subtitle":"TikTok App 内展示的实时游戏排行榜，覆盖所有地区，持续刷新。看看哪些主播此刻登顶游戏榜，按钻石排名，并附预估收益。Agency 专属。","login":"登录","unlock":"开通 Agency 解锁"},"regionGlobal":"全球","tabs":{"overall":"{region} 游戏榜","shopping":"电商"},"titles":{"shopping":"电商排行榜","gaming":"游戏排行榜","gameWeekly":"{game} · 周榜","gameFallback":"游戏"},"meta":{"ranked":"上榜","updated":"更新于 {time}","justNow":"刚刚","minutesAgo":"{n} 分钟前","hoursAgo":"{n} 小时前"},"reset":{"nextUpdate":"下次更新","resetsIn":"距离重置","dailyResetIn":"距离每日重置","weeklyResetIn":"距离每周重置"},"resetTitle":{"weekly":"{region} 每周重置","hourly":"{region} 每小时重置","daily":"{region} 每日重置"},"countdown":{"now":"现在","daysHours":"{d} 天 {h} 小时","hoursMinutes":"{h} 小时 {m} 分"},"copyUsernames":"复制用户名","shareTitle":"{region} TikTok LIVE 游戏榜","share":"分享","loading":{"shopping":"正在加载电商榜...","gaming":"正在加载游戏榜..."},"table":{"creator":"主播","gmv":"GMV","diamonds":"钻石","estEarnings":"预估收益","peakRank":"最高 #","peakDiamonds":"最高钻石","toReenter":"重新上榜还差","then":"当时","now":"现在","bestRank":"最佳 #","diamondsGained":"新增钻石"},"empty":{"shopping":"该地区暂无电商榜。","gaming":"该地区暂无游戏榜。","sub":"主播开播后榜单会自动填充，可以看看其他地区，或稍后再来。"},"upsell":{"board":{"titleShopping":"解锁完整电商榜，覆盖所有地区","titleGaming":"解锁所有游戏榜，覆盖所有地区","bodyShopping":"你看到的是 3 个名称的预览：GMV 分数是真实的，名称已隐藏。{plan} 可解锁所有地区不脱敏的完整电商榜，另含招募信息流、送礼用户情报和私密 Telegram 机器人。","bodyGaming":"你看到的是 3 个名称的预览：分数是真实的，名称已隐藏。{starterPlan} 和 {plan} 均可解锁不脱敏的完整榜单，另含招募信息流和私密 Telegram 机器人。"},"movers":{"titleShopping":"解锁完整电商变动名单","titleGaming":"解锁完整变动名单","bodyShopping":"名称已隐藏，最高排名和 GMV 分数是真实的。{plan} 可查看本周所有地区在电商榜上进出的每一位卖家的真实名称，助力实时招募。","bodyGaming":"名称已隐藏，最高排名和分数是真实的。任意 Agency 套餐均可查看今天在榜单上进出的每一位主播的真实名称，并显示重新上榜所需钻石，助力实时招募。"},"rewind":{"title":"解锁完整回放","body":"名称已隐藏，排名、峰值和钻石增量是真实的。任意 Agency 套餐均可查看最多 3 天内每个时间窗口里新上榜、掉榜或攀升的每一位主播的真实名称。"},"shoppingFeature":"电商榜","upgradeTo":"升级到 {plan}","seePlans":"查看 Agency 套餐"},"movers":{"titleShopping":"本周出现过","tagShopping":"目前在前 99 之外","titleGaming":"今日进入过前 99","tagGaming":"目前已掉榜","count":"进出榜 {count} 位","noteShopping":"本周曾出现在 {region} 电商榜、但目前不在前 99 的卖家。这是 TikTok 从不展示的重置周期榜单变动。","noteGaming":"在今天的周期内曾进入前 99、但目前低于第 99 名门槛（{cutoff} 钻石）的主播。这是 TikTok 从不展示的重置期榜单变动。"},"rewind":{"title":"回放","note":"展示榜单在最近一个时间窗口内的变化，而不只是现在的样子。{best} 是主播在该窗口内任意时刻实际达到的最高排名，所以即使在你查看之前就已冲高回落，也会显示出来。","replaying":"正在回放榜单...","noHistory":"该榜单在此时间窗口内暂无可用历史。","nobody":"最近 {window}内该列表中没有人。","since":"自 {time} 起","windows":{"h2":"2 小时","h6":"6 小时","h12":"12 小时","h24":"24 小时","d3":"3 天"},"views":{"movers":"攀升","entered":"新上榜","left":"掉榜"}},"links":{"creators":"主播排行榜","gifters":"送礼用户排行榜","newCreators":"新主播","pulseBot":"Telegram Pulse 机器人"},"seo":{"title":"TikTok LIVE 游戏榜 · {region}","description":"{region} TikTok LIVE 游戏榜：App 内实时游戏排行榜，{count} 位主播按钻石排名，附预估收益。Agency 专属，所有地区持续刷新。","ogTitle":"TikTok LIVE 游戏榜"},"og":{"title":"TikTok LIVE 游戏榜","subtitle":"各地区头部游戏主播，实时刷新。","badge":"游戏"}}},"agencyGuides":{"common":{"badge":"公会指南","ogBadge":"公会指南","faqHeading":"常见问题","relatedHeading":"相关公会指南","onThisPage":"本页目录","sidebarDemo":"实时榜单演示","sidebarFaq":"常见问题","loadingLeaderboard":"正在加载实时排行榜...","agencyPass":"Agency PASS","breadcrumbHome":"首页","breadcrumbGuides":"公会指南"},"regions":{"unitedStates":"美国","uk":"英国","brazil":"巴西","balkans":"巴尔干","indonesia":"印度尼西亚","latam":"拉美"},"leaderboardDemo":{"regionLabel":"地区","liveNow":"{count} 位正在直播","loading":"正在加载实时榜单...","liveBadge":"LIVE","diamondsToday":"今日钻石","empty":"暂无榜单数据，换个地区试试。","upsell":"免费视图仅显示前两名，其余条目已脱敏。{link}可实时解锁所有地区的完整前 100 名，全部不脱敏。","upsellLink":"Agency 套餐","openBoard":"打开{region}实时榜单"},"findCreators":{"hero":{"title":"如何为","titleHighlight":"你的 TikTok 公会寻找主播","subtitle":"公会发现、筛选和签约 TikTok LIVE 主播的实战手册：按国家、按垂类、按增长、按真实收益。以下每种方法都基于 tik.tools 实时数据。"},"lead":"如果你经营一家 TikTok LIVE 公会，难点不在于管理主播，而在于{strong}。判断一个主播值不值得签，最可靠的信号是公开且可量化的：谁真正在赚钻石、在哪个国家、增长有多快、现在是否正在直播。tik.tools 把这些信号变成可排序、可筛选的名单，让你每天都能直接开工。下面告诉你具体怎么用。","leadStrong":"抢在竞争对手之前找到对的主播","tldr":{"text":"{label}先打开目标国家的{ranking}，筛选{live}，关注{rising}以捕捉早期增长，自行确认{eligibility}，然后在联系前查看每位主播主页上的收益历史。公会用 {pass} 来规模化执行这套流程。","label":"简短回答：","ranking":"地区排行榜","live":"正在直播的主播","rising":"飙升主播","eligibility":"公会签约资格"},"demo":{"heading":"试一试：此刻正在赚钱的直播主播","body":"这是一个真实榜单，实时更新。选择一个地区，看看今天收益最高的 TikTok LIVE 主播。免费视图显示前两名；公会套餐可解锁所有地区的完整前 100 名。"},"methodsHeading":"公会在 tik.tools 上寻找主播的六种方法","methods":{"regional":{"title":"地区排行榜：你所在国家谁赚得最多","body":"{link}按今日钻石收益，为 {count} 个地区分别列出前 100 名 TikTok LIVE 主播。这是最好的起点：高收益主播已经证明了自己把礼物转化为收入的能力。打开目标国家，按今日或总榜排序，把长期稳居前列的主播加入候选名单。","link":"国家排行榜","tip":"适合：已验证的高收益主播、成熟主播、按国家摸清市场格局。"},"liveNow":{"title":"正在直播：趁主播开播时联系","body":"{link}展示此刻正在直播的所有主播，按当前直播间活跃度排序。在主播开播当天、他们能看到自己数据的时候联系，效果远好于一周后的冷消息。筛选你的地区和品类，实时逐个跟进。","link":"热门直播","tip":"适合：把握时机的邀约、在主播势头正旺时出手。"},"rising":{"title":"飙升主播：在爆红之前签下","body":"{link}展示的是收益增长最快的主播，而不只是已经做大的那些。这正是公会取胜的地方：快速上升的主播签约成本更低，也更愿意谈合作。每天看一次，对增长最猛的主播果断出手。","link":"飙升榜","tip":"适合：提前签约、降低获客成本、长期增长空间。"},"category":{"title":"品类榜和游戏榜：找到你垂类的主播","body":"如果你的公会专注某个垂类，就用品类榜。{link}按地区和游戏列出直播游戏主播，近乎实时更新。当你需要契合特定垂类的主播时，垂类发现比泛泛的前 100 名更有效。","link":"游戏排行榜","tip":"适合：垂类公会、细分主播阵容、品类匹配。"},"eligibility":{"title":"资格检测：确认主播真的能加入公会","body":"在花时间联系之前，先确认主播具备公会签约资格。从{link}榜单复制用户名，用 Chrome 资格检测插件或在公会后台批量粘贴自行检测，免得追着签不了的主播跑。光这一步就能省下大量无效沟通的时间。","link":"新主播","tip":"适合：筛选候选名单、避免无效邀约。"},"vet":{"title":"联系前先核查收益历史","body":"每位主播都有主页，展示钻石历史、所属地区、开播频率和近期排名。偶尔冲高一次的主播，和每周稳定赚钱的主播完全不同。先看历史，确认趋势真实，再发出量身定制的邀约。用 {link} 视图长期跟踪整份候选名单。","link":"Agency Pulse","tip":"适合：尽职调查、个性化邀约、避开昙花一现的主播。"}},"scale":{"heading":"规模化执行","body":"起步阶段手动跟进几个国家完全没问题。当你开始跨多个地区招募，或需要完整的不脱敏榜单、联赛（等级）数据和历史数据时，公会会升级到 {pass}：在一个地方解锁所有地区完整前 100 名、联赛等级、增长历史和多地区跟踪。通过程序化方式招募的团队，可以用{api}获取同样的数据。","apiLink":"排行榜 API"},"cta":{"title":"准备好建立候选名单了吗？","text":"打开实时榜单，从你的目标国家开始。","button":"打开实时排行榜"},"faq":{"best":{"q":"为 TikTok 公会寻找主播，最好的方法是什么？","a":"从目标国家的地区排行榜开始：它们按钻石收益列出前 100 名 TikTok LIVE 主播，你看到的都是已经证明变现能力的主播。再对照飙升榜提前发现快速增长的主播，筛选正在直播的主播以把握联系时机，确认公会签约资格，并在联系前核查每位主播的收益历史。"},"country":{"q":"如何寻找特定国家的 TikTok 主播？","a":"打开{link}并选择你的地区。tik.tools 覆盖 {count} 个地区，包括美国、英国、巴尔干、东南亚、拉美和巴西。每个地区都有独立的前 100 名榜单，列出今天在当地收益最高的主播。","link":"国家排行榜"},"early":{"q":"如何在 TikTok 主播走红之前找到他们？","a":"使用{link}。它不按总收益排名，而是展示收益增长最快的主播。提前签下快速上升的主播，成本更低、潜力更大，比追逐已经成名的主播划算。","link":"飙升主播榜"},"eligible":{"q":"怎么知道一个 TikTok 主播能不能加入公会？","a":"从{link}榜单复制用户名，用 Chrome 资格检测插件或在 TikTok 公会后台批量粘贴自行检测。先筛选候选名单，你的邀约时间就只会花在真正能签约的主播身上。","link":"新主播"},"vet":{"q":"签约前如何核查一个 TikTok 主播？","a":"查看主播主页上的钻石历史、所属地区、开播频率和近期排名。每周稳定赚钱的主播，比只冲高过一次的主播更值得签。持续、可复制的收益才是你要找的信号。"},"paid":{"q":"寻找主播需要付费套餐吗？","a":"不需要。排行榜、飙升榜和正在直播视图都可以自由浏览，榜单头部条目免费可见。{link} 为规模化招募的公会解锁所有地区完整不脱敏的前 100 名、联赛等级、增长历史和多地区跟踪。"},"fresh":{"q":"主播数据有多新？","a":"地区榜和直播榜全天持续更新，游戏等品类榜近乎实时刷新，所以你看到的就是此刻正在赚钱、正在直播的主播，而不是过时的每周快照。"}},"next":{"byCountry":{"title":"按国家寻找主播","text":"逐个地区的主播发现手册"},"eligibility":{"title":"检测主播资格","text":"联系前先筛选候选名单"},"leaderboards":{"title":"实时排行榜","text":"{count} 个地区的收益前 100 名"},"pass":{"text":"完整榜单、联赛、历史、规模化"}},"sidebar":{"regional":"1. 地区排行榜","liveNow":"2. 正在直播","rising":"3. 飙升主播","category":"4. 品类榜","eligibility":"5. 资格检测","vet":"6. 核查收益历史"},"seo":{"title":"如何为你的 TikTok 公会寻找主播（2026 指南） {'|'} TikTool","description":"TikTok 直播公会寻找主播的实战手册：地区排行榜、正在直播、飙升主播、品类榜、资格检测和收益核查，全部基于 tik.tools 实时数据。","ogTitle":"如何为你的 TikTok 公会寻找主播","ogDescription":"按国家、垂类、增长和真实收益，发现、筛选并签约 TikTok LIVE 主播。基于实时数据的六种方法。"},"og":{"title":"为你的 TikTok 公会寻找主播","subtitle":"基于实时数据发现、筛选、签约。"},"jsonLd":{"name":"如何为你的 TikTok 公会寻找主播","description":"公会利用实时收益、地区和增长数据，发现、筛选并签约 TikTok LIVE 主播的分步方法。","steps":{"regional":{"name":"从地区排行榜开始","text":"打开目标地区的国家排行榜，按今日钻石收益把头部 TikTok LIVE 主播加入候选名单。"},"liveNow":{"name":"筛选正在直播的主播","text":"使用正在直播视图，在主播开播时联系，邀约回复率会高得多。"},"rising":{"name":"关注飙升榜","text":"每天查看飙升主播榜，抢在竞争对手之前签下快速增长的主播。"},"category":{"name":"用品类榜匹配垂类","text":"使用游戏榜和品类榜，寻找你所在垂类的主播。"},"eligibility":{"name":"确认公会签约资格","text":"在花时间联系之前，先在公会后台检测候选名单的公会签约资格。"},"vet":{"name":"核查收益历史","text":"联系前查看每位主播的钻石历史和开播频率，确认收益稳定、可持续。"}}}},"byCountry":{"hero":{"title":"按国家寻找","titleHighlight":"TikTok 主播","subtitle":"TikTok LIVE 收益按地区排名。下面介绍公会如何借助 28+ 个国家排行榜摸清市场、组建本地主播阵容。"},"lead":"TikTok LIVE 送礼有极强的地域性：巴西、巴尔干和东南亚的头部主播完全是不同的阵容。如果你的公会在特定市场运营，找主播最快的方法就是打开该市场的排行榜，从上往下逐个跟进。下面每个榜单都是实时的。","demo":{"heading":"选择你的市场，把头部主播加入候选名单","body":"每个地区都有独立的前 100 名榜单，按今日钻石收益排名。在这里切换地区，然后打开你招募所在地区的完整榜单。"},"methodsHeading":"如何用好国家榜单","methods":{"region":{"title":"打开你的地区","body":"进入{link}，选择你的国家或地区。榜单按今日钻石显示前 100 名主播，附带直播状态和当前直播间。","link":"排行榜"},"steady":{"title":"区分稳定收益和偶然冲高","body":"打开主播主页查看收益历史。每周稳定赚钱的主播才是你想要的阵容；单次冲高的信号较弱。优先招募能持续复制收益的主播。"},"live":{"title":"趁开播时联系","body":"在你的地区筛选{link}，在他们开播当天联系，回复率远高于冷消息。","link":"正在直播的主播"},"eligibility":{"title":"投入时间前先确认资格","body":"从{link}榜单复制候选名单，用 Chrome 资格检测插件或在公会后台批量粘贴自行检测，只跟进真正能加入公会的主播。","link":"新主播"}},"cta":{"title":"要在多个地区招募？","text":"Agency PASS 解锁每个国家的完整前 100 名。","button":"查看 Agency PASS"},"faq":{"regions":{"q":"哪些国家有 TikTok 主播排行榜？","a":"tik.tools 覆盖 {count} 个地区，包括美国、英国、巴西、巴尔干、东南亚、拉美等。每个地区都有独立的前 100 名榜单，列出今天在当地收益最高的主播。"},"topInCountry":{"q":"如何找到某个国家的头部 TikTok 主播？","a":"打开{link}，选择国家，查看按今日钻石收益排名的前 100 名。这就是你在该市场已验证高收益主播的初始候选名单。","link":"排行榜"},"realCountry":{"q":"主播是按真实所在国家分组的吗？","a":"是的。榜单依据主播实际产生收益的地区构建，因此国家榜反映的是该市场的真实主播阵容，而不是全球混合名单。"}},"next":{"playbook":{"title":"寻找主播：完整手册","text":"全部六种发现方法"},"eligibility":{"title":"检测资格","text":"联系前先筛选"}},"sidebar":{"region":"1. 打开你的地区","steady":"2. 稳定收益 vs 偶然冲高","live":"3. 趁开播时联系","eligibility":"4. 确认资格"},"seo":{"title":"按国家寻找 TikTok 主播 - 公会指南 {'|'} TikTool","description":"TikTok 公会如何借助 {count} 个地区排行榜寻找特定国家的主播。筛选头部高收益主播、趁开播时联系并确认资格，全部基于实时数据。","ogTitle":"按国家寻找 TikTok 主播","ogDescription":"用分国家的 TikTok LIVE 排行榜摸清任何市场。{count} 个地区，实时收益。"},"og":{"title":"按国家寻找 TikTok 主播","subtitle":"{count} 个地区排行榜，实时更新。"},"jsonLd":{"breadcrumbPage":"按国家寻找主播"}},"eligibility":{"hero":{"title":"检测 TikTok 主播","titleHighlight":"资格","subtitle":"在花时间联系之前，先确认主播真的能加入公会。下面介绍公会如何先筛选候选名单。"},"lead":"公会浪费招募时间最常见的方式，就是追着签不了的主播跑。在发出任何消息之前先筛选候选名单，你开启的每一次沟通才都有机会促成合作。tik.tools 为你提供待检测的新主播、Chrome 资格检测插件和可直接粘贴到公会后台的批量复制功能，让你基于一份亲自核实过的干净名单开展工作。","cta":{"title":"打开新主播榜单","text":"复制用户名，然后在公会后台检测。","button":"新主播"},"methodsHeading":"联系前如何筛选主播","methods":{"shortlist":{"title":"从榜单建立候选名单","body":"从{ranking}或{rising}开始，整理出你想在本地市场签下的主播。","rankingLink":"地区排行榜","risingLink":"飙升主播"},"check":{"title":"自行检测资格","body":"从{link}榜单复制候选名单，用 Chrome 资格检测插件或在公会后台批量粘贴进行检测。这样可以剔除不符合 TikTok LIVE 公会要求的账号，免得白费功夫。","link":"新主播"},"earnings":{"title":"确认收益真实且可持续","body":"打开每位主播的主页，查看钻石历史。具备资格且每周收益稳定，才是值得争取的组合；符合资格但只冲高过一次的主播，风险更大。"},"live":{"title":"趁开播时联系","body":"在合格主播{link}的当天发消息。把邀约时机对准正在进行的直播，回复效果始终更好。","link":"正在直播"}},"faq":{"canJoin":{"q":"怎么知道一个 TikTok 主播能否加入公会？","a":"从{link}榜单复制用户名，用 Chrome 资格检测插件或在 TikTok 公会后台批量粘贴进行检测。通过检测的主播就具备与公会签约的条件。","link":"新主播"},"why":{"q":"为什么要在联系前筛选主播？","a":"邀约很花时间。先筛选候选名单，你开启的每一次沟通才都有机会促成合作，而不是聊到一半才发现主播根本无法加入。"},"enough":{"q":"只看资格就够了吗？","a":"不够，还要结合收益历史。具备资格且每周稳定赚钱的主播最值得签。具备资格但只冲高过一次，信号较弱。"}},"next":{"playbook":{"title":"寻找主播：完整手册","text":"全部六种发现方法"},"byCountry":{"title":"按国家寻找主播","text":"逐个地区发现主播"}},"sidebar":{"shortlist":"1. 建立候选名单","check":"2. 检测资格","earnings":"3. 确认收益","live":"4. 趁开播时联系"},"seo":{"title":"检测 TikTok 主播资格 - 公会指南 {'|'} TikTool","description":"TikTok 公会如何在联系前筛选主播：在公会后台检测候选名单的公会签约资格，再确认收益是否稳定。基于实时数据。","ogTitle":"检测 TikTok 主播资格","ogDescription":"在花时间联系之前，把候选名单筛选为真正能加入公会的主播。"},"og":{"title":"检测 TikTok 主播资格","subtitle":"先筛选，再联系。"},"jsonLd":{"breadcrumbPage":"检测主播资格"}}},"agencyProfile":{"page":{"seo":{"title":"{name} - TikTok LIVE 公会 {'|'} TikTool","fallbackTitle":"公会 - TikTool","fallbackDescription":"TikTool 上的 TikTok LIVE 公会主页。"},"missing":{"title":"未找到该公会","body":"该入驻信息不存在，或尚未公开。","back":"返回名录"},"uploading":"上传中...","submitting":"提交中...","sending":"发送中...","close":"关闭","cancel":"取消","messageAgency":"私信公会","reportFakeData":"举报虚假数据","status":{"draft":{"tag":"草稿","title":"完成入驻：上传公会后台截图并提交审核。","sub":"上传一张你的公会后台（LIVE 公会控制台）截图，方便我们核实归属。","proofUploaded":"截图已上传 - 重新上传","uploadProof":"上传后台截图","submit":"提交审核"},"pending":{"tag":"审核中","title":"每个入驻信息都由人工审核，通常几小时内完成。","chat":"在线客服"},"needsInfo":{"tag":"需补充信息","title":"审核团队给你留了一条备注。","proofUploaded":"新截图已上传 - 重新上传","uploadProof":"上传新截图","resubmitting":"重新提交中...","resubmit":"重新提交"},"rejected":{"tag":"未通过","title":"该入驻信息未通过审核。","chat":"联系客服"}},"analytics":{"title":"主页数据","onlyYou":"仅你本人可见","pageViews":"浏览量","last7":"近 7 天","last30":"近 30 天","sparkLabel":"每日浏览量，近 {count} 天","barTitle":"{date}：{views} 次浏览","loading":"数据加载中...","unavailable":"暂时无法获取数据。"},"featured":{"active":"精选公会 - 生效中","upsellTitle":"展示为精选公会","upsellSub":"精选公会会显示在名录顶部。任何有效的 Agency 套餐（周付或月付）均已包含。","cta":"成为精选"},"roster":{"featuredTitle":"精选","featuredHint":"为最多 3 位主播加星，即可在这里精选展示","live":"LIVE","unfeature":"取消精选","unfeatureCreator":"取消精选该主播","feature":"设为精选","confirmRemove":"确认移除","removeFromRoster":"从主播名单移除","removeAsk":"确定移除？","noFeatured":"还没有精选主播。","liveNow":"正在直播","watch":"观看","title":"旗下主播","allFeaturedOrLive":"所有主播都已精选或正在直播。","noCreators":"还没有认领的主播。"},"add":{"title":"添加主播","placeholder":"按 {'@'}用户名或昵称搜索主播","ariaLabel":"搜索主播","claimed":"已认领","claim":"认领","noResults":"未找到主播。"},"edit":{"title":"编辑资料","languages":"语言","languagesPlaceholder":"输入语言后按回车","tags":"标签","tagsPlaceholder":"输入标签后按回车","contactEmail":"联系邮箱","contactPhone":"联系电话","private":"私密 - 永不公开展示"},"reports":{"title":"举报","none":"该主播名单暂无待处理举报。","responsePlaceholder":"给审核人员的回复（可选）","evidenceSent":"证据已提交 - 重新上传","uploadEvidence":"上传证据","deadlinePassed":"已过截止时间","timeLeft":"剩余 {hours} 小时 {minutes} 分钟"},"inbox":{"title":"收件箱","empty":"还没有消息。访客可以在本页私信你，回复会通过 TikTool 以邮件发出。","replyPlaceholder":"回复...","reply":"回复"},"messageModal":{"title":"私信 {name}","sub":"你的消息会私密送达。公会通过 TikTool 以邮件回复，联系方式不会公开。","placeholder":"介绍一下你自己，以及你在找什么...","send":"发送消息"},"reportModal":{"title":"举报 {'@'}{username} 的虚假数据","sub":"如果这位主播其实不属于该公会，请告诉我们原因。我们会通知双方，公会有 48 小时提供证据，逾期将移除认领。","placeholder":"这条认领有什么问题？（至少 10 个字符）","submit":"提交举报","doneTitle":"举报已提交","doneSub":"已通知双方。公会有 48 小时提供证据。"},"creatorMenu":{"aria":"主播操作"},"time":{"justNow":"刚刚","minutesAgo":"{n} 分钟前","hoursAgo":"{n} 小时前","daysAgo":"{n} 天前"},"toast":{"sent":"已发送 - 公会会通过 TikTool 以邮件回复你"},"errors":{"uploadFailed":"上传失败 - 请换一张更小的图片","evidenceFailed":"证据上传失败，请重试。","submitFailed":"提交失败，请重试。","featureLimit":"最多精选 3 位主播 - 请先取消一个星标。","featureFailed":"无法更新精选主播。","claimFailed":"认领失败，请重试。","removeFailed":"移除失败，请重试","reportEvidenceFailed":"证据上传失败。","replyFailed":"回复失败。","messageFailed":"消息发送失败，请重试。","reportFailed":"举报失败，请重试。"}},"view":{"bannerAlt":"{name} 横幅","logoAlt":"{name} 标志","bannerCta":"点击上传你的横幅","uploading":"上传中...","changeBanner":"更换横幅","uploadBanner":"上传横幅","addLogo":"添加标志","change":"更换","regionsAria":"地区","done":"完成","editRegions":"编辑地区","addRegions":"添加地区","nameAria":"公会名称","verified":"已认证公会","featuredTitle":"精选公会","featuredBadge":"精选公会","newPill":"新","taglineAria":"标语","website":"官网","about":"简介","tooLong":"- 内容过长，请删减 {count} 个字符","saving":"保存中...","saved":"已保存","saveFailed":"保存失败"},"chipInput":{"placeholder":"输入后按回车添加","remove":"移除 {item}"},"sdk":{"seo":{"title":"TikTok LIVE 公会 SDK（JavaScript 和 Python）","description":"tik.tools 推出的非官方 TikTok LIVE 公会 SDK，支持 npm 和 PyPI：寻找可招募的主播，追踪旗下主播的直播状态和钻石，接收开播 Webhook，搭建自定义公会看板。"},"jsonLd":{"breadcrumbHome":"首页"},"ogImage":{"subtitle":"主播招募、旗下主播直播状态、钻石与 Webhook。"},"hero":{"subtitle":"寻找可招募的主播，查看旗下谁在直播，追踪钻石，接收开播 Webhook，搭建你自己的公会看板。一个 API Key，支持 JavaScript、TypeScript 和 Python。","npm":"npm 包","pypi":"PyPI 包"},"what":{"title":"能为公会做什么","intro":"{pkg} 将 tik.tools API 封装成一个带类型的客户端，专为 TikTok LIVE 公会（Creator Networks、TCN、MCN）打造。npm 和 PyPI 上使用同一个包名，两个客户端共享同一套方法。","facts":{"recruit":{"title":"寻找可招募的主播。","body":"按地区排名的可签约主播、招募池中的新面孔，以及正在掉出联赛的主播。"},"roster":{"title":"旗下主播直播状态与钻石。","body":"查看旗下哪些主播正在直播，并基于直播期间采集到的礼物，读取每位主播和整个主播名单的钻石数。"},"webhooks":{"title":"Webhook。","body":"带签名的开播和下播提醒直接推送到你的服务器，并提供适用于 Node、Edge、Workers 和 Python 的签名校验工具。"},"dashboards":{"title":"自定义看板。","body":"纯 JSON，字段名与 API 保持一致，数据可直接放进 Next.js 页面、Notebook 或导出到表格。"}}},"install":{"title":"安装","js":"JavaScript 和 TypeScript","key":"在服务器上通过 {envVar} 环境变量设置你的 Key。切勿发送到浏览器：TypeScript 客户端在浏览器页面中会拒绝启动。Key 可在{link}获取。","pricingLink":"价格页"},"examples":{"title":"示例","live":"查看旗下哪些主播正在直播（TypeScript）","webhook":"在 Next.js Route Handler 中校验开播 Webhook（TypeScript）","python":"可招募主播与旗下主播钻石（Python）","planError":"调用你的套餐不包含的接口时会抛出 {error}，并附带所需套餐和升级链接，看板可以据此显示升级卡片而不会崩溃。Webhook 负载和签名说明见{link}。","apiReferenceLink":"API 参考"},"methods":{"title":"方法分组","group":"分组","methods":"方法","python":"Python 使用相同名称的 snake_case 形式，例如 {first} 和 {second}。每个方法及其所需套餐都列在各个包的 README 中。"},"groups":{"recruit":"寻找可招募的主播","rankings":"排名与市场","vet":"考察主播","stats":"主播数据","rosters":"主播名单","live":"直播状态","bigGifts":"大额礼物流","eligibility":"资格判定","webhooks":"Webhook","account":"账户"},"ai":{"title":"面向 AI 助手","body":"所有方法的机器可读摘要位于 {link}。把它提供给 Cursor、Claude、ChatGPT 或任何 AI 编程工具，并指明包名 {pkg}，生成的代码就会使用 API 的真实数据。"},"source":{"title":"源码与软件包","line":"{label} {repo} 和 {registry}","license":"许可证："},"disclaimer":"非官方，与 TikTok 或字节跳动无关联。tiktok-live-agency 是面向 tik.tools API 的独立 SDK。TikTok 是其各自所有者的商标，此处仅用于说明兼容性。","next":{"docsTitle":"API 参考","docsBody":"SDK 背后的所有接口","plansTitle":"套餐","plansBody":"获取 API Key"}},"live":{"seo":{"titleLive":"LIVE - {'@'}{username} 正在直播 - tik.tools","titleOffline":"{'@'}{username} - tik.tools 直播","descriptionLive":"在 TikTok 观看 {'@'}{username} 的直播 - {title} - {viewers} 位观众","defaultStreamTitle":"直播","descriptionOffline":"{'@'}{username} 目前未在 TikTok 直播。"},"watching":"{count} 人观看","watchOnTikTok":"在 TikTok 观看","offline":{"title":"{'@'}{username} 未在直播","body":"该主播目前没有在 TikTok 直播。","visitProfile":"访问 TikTok 主页"}},"obsOverlay":{"seo":{"title":"OBS TikTok LIVE 礼物特效 - tik.tools","description":"把一个链接放进 OBS，每个 TikTok LIVE 礼物都能触发电影级 3D 礼物动画。实时、透明背景、9:16。免费版带水印，Agency 套餐无水印。","ogTitle":"OBS TikTok LIVE 礼物特效","ogDescription":"把一个链接放进 OBS，每个 TikTok LIVE 礼物都能触发电影级 3D 礼物动画。实时、透明背景、9:16。"},"hero":{"badge":"所有主播免费使用。无需安装，无需 API Key。","title":"OBS TikTok LIVE 礼物特效"},"search":{"placeholder":"输入你的 TikTok 用户名","clear":"清除"},"status":{"generating":"正在生成叠加层链接..."},"link":{"label":"你的叠加层链接","copied":"已复制","copy":"复制","watermarkFree":"{plan} - 无水印","watermarkVisible":"显示 tik.tools 水印（Agency 套餐可移除）","open":"在新标签页打开叠加层"},"setup":{"label":"设置","title":"一分钟内添加到 OBS"},"steps":{"one":{"title":"打开来源面板","body":"点击来源列表下方的 {plus} 按钮，选择 {browser}。"},"two":{"title":"为来源命名","body":"选择 {createNew}，输入一个名称（例如 {name}），保持 {visible} 勾选，然后点击 {ok}。"},"three":{"title":"粘贴链接，设置尺寸","body":"把叠加层链接粘贴到 {url}。将 {width} 设为 {widthValue}，{height} 设为 {heightValue}（TikTok LIVE 画面比例）。点击 {ok}。"},"four":{"title":"把来源移到最上层","body":"在来源列表中，把 {name} 来源拖到视频采集上方，礼物就会显示在所有画面之上。搞定 - 开始直播吧。"}},"mock":{"appAudio":"应用程序音频采集（测试版）","audioInput":"音频输入采集","audioOutput":"音频输出采集","browser":"浏览器","colorSource":"色源","displayCapture":"显示器采集","gameCapture":"游戏采集","createSelect":"创建/选择源","createNew":"新建","addExisting":"添加现有","makeVisible":"使源可见","ok":"确定","properties":"'TikTools' 的属性","urlPlaceholder":"粘贴你的叠加层链接","width":"宽度","height":"高度","confirm":"确认"},"preview":{"label":"实时预览 - 观众看到的就是这样","foot":"9:16 - 1080 x 1920 - 透明背景"},"features":{"detection":{"title":"零配置礼物识别","body":"服务器已在追踪每位 TikTok LIVE 主播的礼物动态。你一开播，叠加层就会触发 - 无需 API Key，无需逐场配置，电脑上什么都不用装。"},"gpu":{"title":"Three.js，GPU 加速","body":"透明 9:16 WebGL 画布，合成器上的粒子爆发，精灵缓存，实例化材质。CPU 占用低，可与 vMix、Streamlabs、OBS Studio 顺畅配合。"},"watermark":{"title":"Agency 套餐去除水印","body":"免费叠加层会在距底部 30% 的位置显示一个低调的 {wordmark} 字标。{link}，即可输出完全无品牌标识的纯净叠加层。","link":"升级到任一 Agency 套餐"},"impact":{"title":"只为高光时刻","body":"叠加层仅在 1,000 钻石及以上的礼物时触发。小额的感谢玫瑰不会触发，让画面保持干净，把聚光灯留给值得庆祝的时刻。"}},"errors":{"invalidChars":"请输入 2-40 个字符：字母、数字、点或下划线","warmingUp":"服务正在启动 - 重试中（{attempt}/{max}）...","invalidUsername":"该用户名无效","unavailable":"服务暂时不可用，请稍后再试。"}},"giftsCanvas":{"livePreview":"实时预览","anonymous":"匿名"}},"company":{"about":{"hero":{"badge":"关于我们","title":"专为{accent}打造的{br}TikTok LIVE 数据 API","titleAccent":"开发者","desc":"TikTools 由开发者打造，为开发者服务。我们相信实时直播数据应该易于获取、价格亲民、简单好用。"},"mission":{"title":"我们的使命","p1":"TikTok 是全球增长最快的直播平台，但开发者却没有官方 API 可以获取直播数据。TikTools 填补了这一空白：生产级 API 通过单个 WebSocket 连接，实时推送弹幕、礼物、观众数、PK 和互动数据。","p2":"直播连接、连接管理和数据标准化这些复杂工作都由我们处理，你只需专注于打造出色的应用。"},"provide":{"title":"我们提供什么","websocket":{"title":"实时 WebSocket API","text":"{title} - 弹幕、礼物、点赞、关注、分享、PK 和观众数事件，实时推送"},"rest":{"title":"REST API 接口","text":"{title} - 直播间信息、用户资料、直播流 Feed、礼物排名"},"sdk":{"title":"开源 Node.js SDK","text":"{title} - MIT 许可，TypeScript 优先，可在 npm 上通过 {package} 安装"},"gameEngine":{"title":"支持游戏引擎","text":"{title} - WebSocket 推送适用于任意引擎（C++、C#、Godot、Web），轻松打造互动游戏体验"},"sandbox":{"title":"Sandbox 套餐","text":"{title} - 每天 {requests} 次请求，每 24 小时 {sessions} 个 WebSocket 会话，最多 {streams} 个并发直播间，无需信用卡。升级到付费套餐（{price}/周起）即可获得每天 {paidRequests} 次请求和生产环境访问权限。"}},"users":{"title":"谁在使用 TikTools？","intro":"开发者和公司正在用 TikTools 驱动：","items":{"chatAssistants":"直播弹幕助手和指令机器人","overlays":"OBS 叠加层和打赏提醒","analytics":"数据分析看板和互动追踪","moderation":"AI 内容审核和情绪分析","games":"互动游戏集成（任意 WebSocket 引擎）","multiStream":"多直播间监控平台"}},"compare":{"title":"为什么不选 EchoTik 或其他工具？","p1":"TikTools 专注于为开发者提供{focus}。EchoTik 这类电商分析工具侧重 TikTok Shop 数据（商品排名、GMV 趋势、卖家分析），而 TikTools 专为直播应用打造。","p1Focus":"实时 LIVE 直播数据","p2":"我们把其他工具无法同时提供的能力整合在一起：实时 WebSocket 推送、开源 SDK、公会情报，以及无需信用卡的 7 天评估。只要你在开发与 TikTok LIVE 直播互动的产品，TikTools 就是为你量身打造的。"},"commitment":{"title":"我们的承诺","reliability":{"title":"可靠性","text":"{title} - 自动故障转移和持续健康监控"},"transparency":{"title":"透明度","text":"{title} - 价格清晰，没有隐藏费用，不搞偷梁换柱"},"devExperience":{"title":"开发者体验","text":"{title} - 从 {command} 到拿到实时数据，不到 30 秒"},"openSource":{"title":"开源","text":"{title} - 我们的 SDK 采用 MIT 许可，永不锁定供应商"},"support":{"title":"快速响应的支持","text":"{title} - 由真人工程师实时在线客服，而不是聊天机器人"}},"sidebar":{"quickLinks":"快速链接","docs":"API 文档","pricing":"价格与套餐","useCases":"使用场景","npmPackage":"npm 包","getStarted":"开始使用","freeTier":"7 天评估 Key，无需信用卡。","getApiKey":"获取 API Key"},"seo":{"title":"关于 TikTool - 面向开发者的 TikTok LIVE API","description":"TikTools 是开发者优先的 TikTok LIVE API。实时 WebSocket 推送、开源 Node.js 和 Python SDK、主播排行榜。7 天评估，无需信用卡。由开发者打造，为开发者服务。","ogDescription":"开发者优先的 TikTok LIVE 数据 API。实时 WebSocket、开源 SDK、主播排行榜。7 天评估，无需信用卡。","ogImageTitle":"关于 TikTool","ogImageSubtitle":"专为开发者打造的托管式 TikTok LIVE 数据平台。","ogImageBadge":"关于"}},"methodology":{"hero":{"badge":"数据方法","title":"tik.tools 如何采集{br}TikTok LIVE {accent}","titleAccent":"数据","desc":"每个榜单是什么、多久刷新一次、地区如何对应国家、各套餐脱敏哪些内容及原因、我们保留多长的历史，以及我们的覆盖还有哪些空白。"},"sources":{"title":"数据从哪里来","p1":"tik.tools 读取 TikTok 在 App 中展示的 TikTok LIVE 排行榜和 LIVE 直播间：日榜、联赛榜、游戏榜、带货榜、热门 LIVE 和团队榜，以及榜上主播的公开 LIVE 直播间。榜单上的每个数字都是 TikTok 在我们采集那一刻显示的数值；除标注为预估值的数据外，tik.tools 不会调整、平滑或推算这些数字。","p2":"tik.tools 是独立服务，与 TikTok 或 ByteDance 没有任何关联。"},"boards":{"title":"榜单与刷新频率","intro":"每个榜单按各自的时间表刷新。每个榜单页面都会显示数据的采集时间，引用数字时请一并注明该时间。","colBoard":"榜单","colWhat":"排名内容","colRefreshed":"刷新频率","rows":{"daily":{"name":"主播日榜","what":"按地区统计主播当天收到的钻石","cadence":"持续刷新"},"countryBoards":{"name":"单独国家榜","what":"TikTok 在某个分区内单独发布的单一国家日榜","cadence":"频繁刷新"},"league":{"name":"联赛分组","what":"按地区统计每周各联赛分组（A1 到 D5）中的主播","cadence":"频繁刷新"},"gaming":{"name":"游戏榜","what":"按地区统计游戏主播总榜及各追踪游戏的分榜","cadence":"频繁刷新，直播状态持续更新"},"shopping":{"name":"直播带货榜","what":"按地区统计直播带货主播，周榜周期","cadence":"频繁刷新，每周重置后立即刷新"},"popular":{"name":"热门 LIVE","what":"TikTok 当前在热门 LIVE 中推荐的直播间","cadence":"持续刷新"},"teams":{"name":"团队榜","what":"按地区统计团队排名","cadence":"频繁刷新"},"rising":{"name":"上升最快主播","what":"排名攀升最快的主播","cadence":"全天定期刷新"},"gifters":{"name":"送礼用户榜","what":"按送出钻石统计的头部送礼用户，分日榜、周榜和月榜","cadence":"日榜频繁刷新；周榜和月榜定期刷新"},"liveCounts":{"name":"开播人数","what":"某地区当前正在直播的上榜主播数量","cadence":"持续刷新"}},"resets":"日榜每天在各地区自己的重置时间重置一次（见下方各地区列表），因此日榜分数是当前榜单日的累计值。联赛分组每周一在该地区的重置时间重置。{regions} 在 TikTok 上没有日榜；对这些地区我们显示小时榜，其联赛分组每日重置。"},"joinAnd":"{first}和{last}","regions":{"title":"地区与国家","p1":"tik.tools 为 {count} 个 TikTok LIVE 地区提供排名。一个地区就是一个 TikTok 排名分区：TikTok 为一个国家或一组国家发布的单一日榜。主播所属地区是其参与排名的分区，而不是国籍。TikTok 不公布单个主播的国家，因此 tik.tools 也不会为主播指定国家。","p2":"除这些地区外，TikTok 还会在某些分区内为单个国家发布单独榜单。这些榜单在 TikTok 发布期间会显示在{link}上，停止发布后即会移除。","p2Link":"排行榜页面","colRegion":"地区","colCountries":"榜单覆盖的国家","colReset":"每日重置","hourly":"每小时","resetAt":"UTC {time}","note":"重置时间是该地区 TikTok 榜单最常翻新的整点，依据我们自己的采集历史测算。如有 TikTok 公布的实时倒计时，地区页面会显示出来。"},"masking":{"title":"各套餐脱敏哪些内容，以及原因","intro":"分数、排名和数量永远不会脱敏：每一行都保留真实排名和钻石数，因此所有套餐下的总数和名次都是准确的。不同套餐的区别在于某一行是否显示主播或送礼用户的名称。脱敏的名称显示为一串圆点加上名称的最后几个字符。","colSurface":"页面","colPreview":"未开通解锁套餐时","colFull":"显示全名所需套餐","rows":{"daily":{"surface":"地区日榜","preview":"显示前 10 名未开播主播的名称；正在直播的主播一律不显示名称"},"global":{"surface":"全球总览","preview":"名称脱敏"},"league":{"surface":"联赛分组","preview":"每个分组显示 1 位主播名称"},"gaming":{"surface":"游戏榜","preview":"每个榜单显示 1 位主播名称"},"shopping":{"surface":"直播带货榜","preview":"显示 1 位主播名称"},"popular":{"surface":"热门 LIVE","preview":"显示前 10 名未开播主播的名称"},"movers":{"surface":"涨幅榜","preview":"显示 3 位主播名称"},"gifterBoards":{"surface":"送礼用户榜","preview":"显示钻石数和数量；Agency 以下套餐显示前 3 名送礼用户名称，Agency Starter 显示其所在地区榜单上的全部送礼用户名称"},"creatorPages":{"surface":"主播页面","preview":"显示数字，身份信息脱敏"},"gifterPages":{"surface":"送礼用户页面","preview":"显示数字，身份信息脱敏"}},"why":"为什么要脱敏：数字是公开的，也会一直公开；但完整的名单，尤其是当前正在直播的主播名单，正是有人会从免费页面大批量抓取、用来挖走主播或转售数据的东西。脱敏让榜单依然便于阅读，同时把批量身份数据和付费、可追责的套餐绑定在一起。套餐与价格：{link}。","whyLink":"价格"},"history":{"title":"我们保留多长的历史","rows":{"creatorPages":{"product":"主播页面","depth":"近 90 天的排名历史。"},"creatorDiamonds":{"product":"主播钻石历史（Agency）","depth":"近 12 个月。"},"gifterPages":{"product":"送礼用户页面","depth":"滚动的 90 天窗口；单个礼物事件保留约 3 个月。"},"gifterBoards":{"product":"送礼用户榜","depth":"日榜、周榜和月榜周期。"},"gamingMovers":{"product":"游戏涨幅榜","depth":"时间窗口从近 2 小时到近 3 天。"},"dailyBoards":{"product":"日榜","depth":"当前榜单日的实时数据，以及各地区页面上近期的每日冠军。"},"league":{"product":"联赛分组","depth":"当前的周榜周期。"}}},"gaps":{"title":"已知空白","unavailable":{"title":"标记为不可用的榜单。","text":"{title}当 API 对某个榜单返回 {code} 时，说明我们在该地区和时间窗口内没有可用的采集数据。这是覆盖空白，并不代表该地区没有上榜主播。例如，游戏榜并非在每个地区都可用。"},"hourlyOnly":{"title":"仅有小时榜的地区。","text":"{title}{regions} 在 TikTok 上没有日榜，因此其「日榜」视图显示的是当前小时榜。"},"archived":{"title":"已归档的日榜页面。","text":"{title}并非每个地区和日期都会发布往日日榜的按日归档页面。某个过往日期没有任何数据行，表示我们没有该日期的已发布快照，而不是当天没有人上榜。"},"emptyDivisions":{"title":"空分组。","text":"{title}没有上榜主播的联赛分组不会列出；TikTok 重新分配的分组可能在两次采集之间发生变化。"},"outages":{"title":"短暂中断。","text":"{title}如果 TikTok 一段时间内停止响应，榜单会保留最后一次有效采集，采集时间也会停止更新。依赖某个数字之前，请先检查采集时间。"}},"quoting":{"title":"引用我们的数字之前","diamonds":{"title":"钻石","text":"榜单上的{title}是 TikTok 在采集时显示的分数，对应当前榜单日（日榜）、榜单周（联赛分组）或榜单小时（小时榜）。"},"earnings":{"title":"收益和收入","text":"{title}数据是根据钻石推算的预估值，并非实际结算金额；主播实际到手多少取决于 TikTok 和公会的条款。"},"masked":{"title":"脱敏行","text":"{title}是隐藏了名称的真实数据行。请把它们计入总数和排名，不要当作缺失数据。"},"regions":{"title":"地区","text":"{title}是 TikTok 的排名分区，而不是居住国家。请说「在 {region} 地区上榜」，而不是「来自」某个国家。"},"captureTime":{"title":"采集时间","text":"{title}：请引用页面或 API 响应中显示的时间，尽量使用 UTC。"},"eventTypes":"WebSocket API 文档列出了 {count} 种 LIVE 事件类型，详见{link}。","eventTypesLink":"API 文档"},"report":{"title":"报告数据问题","text":"如果某个数字看起来不对，请发送邮件至 {email}，附上页面 URL 或 API 请求、地区、你看到它的时间（含时区）以及你预期看到的内容。附上同一时间 TikTok App 中同一榜单的截图，是我们确认并修复问题最快的方式。隐私相关请求请参阅{privacyLink}。","privacyLink":"隐私政策"},"sidebar":{"onThisPage":"本页内容","related":"相关链接","rankings":"TikTok LIVE 排行榜","rankingsOverview":"排行榜总览","docs":"API 文档","pricing":"套餐与价格"},"toc":{"sources":"数据从哪里来","boards":"榜单与刷新频率","regions":"地区与国家","masking":"各套餐脱敏规则","history":"历史深度","gaps":"已知空白","quoting":"引用我们的数字之前","report":"报告数据问题"},"seo":{"title":"数据方法 - tik.tools 如何采集 TikTok LIVE 数据","description":"tik.tools 如何采集并刷新 {count} 个地区的 TikTok LIVE 排行榜：榜单刷新频率、地区与国家对应、各套餐脱敏规则、历史深度和已知空白。","ogImageTitle":"数据方法","ogImageSubtitle":"如何采集 {count} 个地区的 TikTok LIVE 榜单。","ogImageBadge":"数据方法"},"jsonLd":{"measurementTechnique":"定期采集公开的 TikTok LIVE 排行榜","variables":{"rank":"排名","diamonds":"钻石","liveStatus":"直播状态"},"datasets":{"dailyRankings":{"name":"按地区划分的 TikTok LIVE 主播日榜","description":"{count} 个地区按钻石排列的 TikTok LIVE 主播日榜，持续更新，并在各地区的每日重置时间重置。"},"leagueDivisions":{"name":"按地区划分的 TikTok LIVE 联赛分组","description":"各地区每周 TikTok LIVE 联赛分组的主播名单和分数，频繁刷新。"},"gamingBoards":{"name":"按地区划分的 TikTok LIVE 游戏主播排名","description":"按地区统计的 TikTok LIVE 游戏主播总榜及各追踪游戏分榜，频繁刷新。"},"gifterBoards":{"name":"TikTok LIVE 头部送礼用户排名","description":"按送出钻石统计的 TikTok LIVE 头部送礼用户，分日榜、周榜和月榜周期。"}}}},"status":{"hero":{"titleHighlight":"服务状态","subtitle":"面向客户的各项服务实时健康状况，每 5 秒更新一次。"},"activeIncidents":"进行中的事故","started":"开始于 {time}","recently":"刚刚","components":"组件","errorRateWindow":"近 {minutes} 分钟错误率 {pct}%","upstream":"上游依赖","percent":"{value}%","me":{"title":"你的账户","loading":"正在加载你的活动数据...","requests24h":"请求数（24h）","successRate":"成功率","serverErrors":"服务端错误","clientErrors":"客户端错误","perEndpoint":"按接口","colEndpoint":"接口","colRequests":"请求数","colErrorRate":"错误率","recentFailures":"最近失败","hint":"你的大部分错误是 4xx，通常表示请求格式需要调整，具体原因请查看响应中的 message 字段。{link}。","hintLink":"文档"},"signInCta":"{link}即可查看你的个人请求记录和各接口健康状况。","signIn":"登录","history":"历史","uptime90d":"90 天可用率：{value}","noIncidents":"近 30 天无事故。","measuredSince":"自 {date} 起开始测量。我们每分钟从外部检查 API 和网站是否响应。没有测量数据的日期不会显示。","uptimeMeasured":"已测量 {days} 天的可用率：{value}","noIncidentsMeasured":"自开始测量以来没有事件。","ongoing":"进行中","overall":{"operational":"所有系统运行正常","minor":"轻微问题","degraded":"性能下降","outage":"服务中断中","unknown":"状态未知"},"component":{"operational":"正常","minor":"轻微问题","degraded":"性能下降","outage":"中断","unknown":"未知"},"rel":{"justNow":"刚刚","minutes":"{n} 分钟前","hours":"{n} 小时前","days":"{n} 天前"},"sparkline":{"aria":"{hours} 小时状态历史","noData":"无数据","errors":"错误率 {pct}%","requests":"{count} 次请求","hours":"{count} 小时","now":"现在","titleNoData":"{time} - 无数据","title":"{time} - 错误率 {pct}%（{count} 次请求）"},"seo":{"title":"TikTool 服务状态","description":"TikTool API、实时事件、签名和控制台的实时健康状况，每 5 秒更新一次。","ogDescription":"TikTool API 和实时事件的实时运行状态。"},"severity":{"outage":"中断","degraded":"性能下降","minor":"轻微"},"incident":{"one":"{a} 无法访问","two":"{a} 和 {b} 无法访问","component":{"api":"API","website":"网站"}}},"help":{"hero":{"badge":"支持","title":"需要什么{accent}？","titleAccent":"帮助","desc":"与我们的团队实时聊天，通常几分钟内回复。"},"resources":{"title":"资源","docs":{"label":"API 文档","desc":"SDK 参考、接口和示例"},"pricing":{"label":"价格与套餐","desc":"对比套餐并升级你的账户"}},"faq":{"title":"常见问题","items":{"apiKey":{"q":"如何获取 API Key？","a":"在 tik.tools/pricing 注册即可。Sandbox 套餐是 7 天评估，从账号创建当天开始计算：每天 {requests} 次请求和 {connections} 个并发 WebSocket 连接，无需信用卡。7 天后，每个请求都会返回 \"Evaluation period ended\"，直到你选择付费套餐（{price}/周起），获得每天 {paidRequests} 次请求和生产环境访问权限。"},"connect":{"q":"为什么连不上直播间？","a":"请确认主播当前正在 LIVE 直播，并且用户名正确（不带 {'@'}）。同时检查你的 API Key 是否有效、是否已超出配额。"},"languages":{"q":"支持哪些编程语言和引擎？","a":"任何支持 WebSocket 连接的语言或引擎都可以。我们提供 Node.js/TypeScript 和 Python 官方 SDK，另外还支持原生 WebSocket 接入（{url}），可用于 Go、Rust、Java、C#、C++ 以及任意游戏引擎。"},"upgrade":{"q":"如何升级套餐？","a":"前往 tik.tools/pricing，选择套餐并按结账流程操作即可。升级即时生效，费用按比例计算。"}}},"seo":{"title":"帮助与支持 - TikTool","description":"获取 TikTool 即时支持。与我们的团队在线沟通、浏览文档，查找常见问题的答案。","ogTitle":"TikTool - 帮助与支持","ogDescription":"与我们的支持团队实时聊天。浏览文档、排查问题，快速解答你的疑问。"}},"supportChat":{"header":{"title":"开发者真人在线客服，不是 AI。","online":"在线","offline":"留言给我们，我们会尽快回复你"},"auth":{"title":"登录后与我们聊天","desc":"工作时间内我们通常几分钟内回复。","google":"使用 Google 继续","or":"或","emailPlaceholder":"邮箱地址","passwordPlaceholder":"密码","signIn":"登录"},"welcome":{"title":"你好","desc":"给我们发消息，我们会尽快回复你。"},"pass":{"body":"{title}你的账户已开通完整的 Agency Global 权限。{link}","activated2h":"2 小时 Agency Pass 已激活。","activatedDay":"Agency Day Pass 已激活。","dashboardLink":"打开 Agency 控制台"},"notSent":"未发送","typing":"TikTools 正在输入","input":{"placeholder":"输入消息...","send":"发送消息"},"errors":{"required":"请输入邮箱和密码","loginFailed":"登录失败，请重试。"}},"login":{"eyebrow":"安全登录","title":"欢迎回来","sub":"登录或立即创建账户。","google":"使用 Google 继续","divider":"或使用邮箱继续","emailLabel":"邮箱地址","googleNotice":"该邮箱使用 Google 登录，请使用上方按钮。","passwordLabel":"密码","passwordPlaceholder":"输入你的密码","passwordHint":"新账户？密码至少 8 位，包含 1 个大写字母和 1 个数字。","forgot":"忘记密码？","codeLabel":"验证码","codePlaceholder":"6 位验证码","codeSent":"我们已向 {email} 发送 6 位验证码。{resend}","sending":"发送中...","resend":"重新发送","verifyAndCreate":"验证并创建账户","continue":"继续","emailMeCode":"通过邮件发送登录验证码","usePassword":"改用密码登录","signInWithCode":"登录","errors":{"createFailed":"账户创建失败，请重试或使用 Google 登录。","invalidToken":"登录会话已过期，请重试。","authFailed":"身份验证失败，请重试。","blockedDomain":"不支持该邮箱域名，请使用企业邮箱或 Gmail。","passwordAccount":"该邮箱的账号使用密码登录。请使用密码登录，或通过「忘记密码？」重置。","codeSendFailed":"验证码发送失败，请重试。","codeFormat":"请输入邮件中的 6 位验证码。","codeInvalid":"验证码错误或已过期，请重新获取。","invalidEmail":"邮箱格式无效","passwordRequired":"请输入密码","generic":"出了点问题，请重试。","captcha":"验证失败，请完成人机验证后重试。","contactSupport":"如果你认为这是误判，请联系 {email}","linkExpired":"该登录链接已过期或已被使用，请在下方重新获取验证码。"},"seo":{"title":"登录 - TikTool","description":"登录 TikTool，访问 TikTok LIVE 排行榜、主播资料和 API 控制台。"}},"trust":{"seo":{"title":"信任与账单说明 - 公司、发票、退款和数据来源","description":"TikTools 由谁运营，付款、发票和退款如何处理，数据从哪里来，以及在哪里查看实时服务状态。"},"title":"信任与账单说明","intro":"财务、法务或技术评审人员在批准供应商前通常需要了解的信息，集中在这一页。每一项都链接到我们服务条款或隐私政策中具有约束力的条文。","linkLine":"公司信息、发票、退款和数据来源：{link}","linkText":"信任与账单说明","entity":{"h":"TikTools 由谁运营","p1":"TikTools 由 {name}（{address}）运营。我们服务条款中提及的 TikTools 均指 {name}。","p2":"联系方式：{email}。完整联系信息见{link}。","termsLink":"服务条款第 15.6 节"},"payments":{"h":"付款方式","p1":"银行卡付款由 Stripe 处理。API 套餐和 Agency 套餐在结账时也可使用 PayPal，结账页面会显示其适用的计费周期。我们绝不会看到或存储你的完整卡号。","p2":"套餐会自动续订。你可以随时取消，套餐将保持有效至已付费周期结束（{link}，第 5.2 节）。","termsLink":"服务条款"},"invoices":{"h":"发票","p1":"银行卡付款会附带一张通过 Stripe 开具的发票。在{link}页面，你可以在线查看每张发票，或将其下载为 PDF。","billingLink":"账单","p2":"在同一页面的「发票信息」中，你可以添加公司名称或全名、含国家的账单地址，以及适用国家的一个增值税号或税号。这些信息会以「Bill to」（开票对象）的形式显示在保存之后生成的发票上。已开具的发票保留开具时的信息。","p3":"PayPal 付款以 PayPal 自己的收据为凭证。这类付款不会出现在发票列表中，「发票信息」也仅适用于银行卡付款。如需开具公司发票，请使用银行卡付款。"},"refunds":{"h":"退款","p2":"具有约束力的条文见{link}。","termsLink":"服务条款第 5 节和第 16 节"},"data":{"h":"数据从哪里来","p1":"tik.tools 读取公开可见的 TikTok LIVE 活动：谁正在直播、排行榜、礼物、聊天，以及公开直播中的观众活动。我们自行采集这些公开数据，并连同由此得出的主播和送礼用户统计数据一并保存，用于支持排行榜、历史记录和分析功能。","p2":"当你的应用通过 API 连接到直播时，我们会实时向其转发事件，不会为你的账户另行保存副本。我们会记录请求次数、错误率等使用指标，以运行服务并执行套餐限额（见{link}第 5 节）。","privacyLink":"隐私政策","p3":"TikTools 是独立服务，与 TikTok 无关联，也未获得 TikTok 认可。TikTok 可随时更改或限制对其平台的访问；服务条款第 5.5 节说明了这对你的套餐意味着什么。"},"extension":{"h":"机构 Chrome 扩展如何使用你的 TikTok Backstage","p1":"资格检查扩展包含在 Agency 套餐中，只能从已登录的机构账户下载。它在你自己的 Chrome 浏览器中运行，使用你在该浏览器中已经登录的 Backstage 账户。它通过你的 tik.tools 登录连接 tik.tools，而不是通过 API 密钥，并且它向我们发出的每个请求都需要有效的 Agency 套餐。","p2":"在 Backstage 中它只发出一种请求：Backstage 自身使用的邀请资格检查，每次最多 30 个创作者用户名，批次之间会有间隔。它不会发送邀请、不会给创作者发消息，也不会更改任何机构设置。为了运行检查，它可能会打开或刷新 Backstage 标签页。如果你开启自动检查或队列检查，它会按计划或在你打开 Backstage 时运行同样的检查。","p3":"当你点击 Connect 时，扩展会把该浏览器的 Backstage 会话（其 Backstage Cookie，包括登录会话，以及 Backstage 使用的请求令牌）连同你的 Backstage 机构 ID 一起发送给 tik.tools。我们最多保留 24 小时，并关联到你的 tik.tools 账户，用于把结果记录在其来源的 Backstage 机构名下，绝不会记录到其他机构名下。我们的服务器不会用它向 TikTok 发出请求：检查在你的浏览器中运行。","p4":"tik.tools 永远不会收到你的 TikTok 密码。你在 TikTok 自己的页面上登录 Backstage。一个可选的切换账户设置可以在扩展中保存 Backstage 密码：密码只保存在该浏览器的扩展存储中，并且只会填入 TikTok 自己的登录表单。切换账户时，扩展会删除该浏览器的 Backstage 登录 Cookie，使其退出 Backstage。","p5":"扩展建议连接一个具有邀请权限的独立 Backstage 账户，而不是机构所有者本人的账户，因为大量检查可能导致 TikTok 标记该账户。","p6":"它发送给 tik.tools 的内容：你选择的地区和列表，以及每个被检查创作者的用户名、TikTok 用户 ID、昵称、头像和 Backstage 返回的结果（符合条件、仅限高级邀请、已被邀请或已在你的机构，或不符合条件，并附上 Backstage 给出的原因）。开启切换账户时，它还会发送当前使用的 Backstage 账户的登录邮箱。我们用这些信息在你的名单、榜单和排名中显示每位创作者的状态，把已检查的名字从团队队列中移除，并执行你套餐的检查限额以及每个 Backstage 账户的每小时节奏。","p7":"我们的{link}说明了扩展向我们发送哪些内容、原因、保留多久以及谁可以查看。","p7Link":"隐私政策"},"status":{"h":"服务状态","p1":"{link}显示 API 和网站的当前状态。自开始测量以来，它还会显示基于我们每分钟运行一次的检查得出的每日可用率，以及每次事件的开始和结束时间。没有测量数据的日期会被略去，绝不补填。","statusLink":"状态页面"}}},"devLanding":{"websocket":{"seo":{"title":"TikTok LIVE WebSocket API - 3 行代码获取实时弹幕和礼物","description":"通过一个 WebSocket 实时接收 TikTok LIVE 弹幕、礼物、点赞、关注、PK、原生字幕、投票、K 歌、你画我猜、直播带货等 90+ 种事件。匿名模式，无需 Key 即可开始。支持 Node.js、Python、Go、Rust、Java、C#。","ogTitle":"TikTok LIVE WebSocket API - 3 行代码获取实时弹幕和礼物","ogDescription":"90+ 种实时事件类型。7 天评估。支持任意语言：Node.js、Python、Go、Rust、Java、C#。","twitterTitle":"TikTok LIVE WebSocket API - 3 行代码搞定弹幕和礼物","twitterDescription":"一个 WebSocket URL 接收所有 TikTok LIVE 事件。弹幕、礼物、观众、PK，全部实时。7 天评估，现在就开始开发。"},"og":{"title":"TikTok LIVE WebSocket API","subtitle":"三行代码获取实时弹幕和礼物，内置托管签名。","badge":"WEBSOCKET"},"hero":{"badge":"WebSocket API","titleLead":"TikTok LIVE","titleAccent":"WebSocket API","sub":"通过一个托管 WebSocket 连接，实时接收 TikTok LIVE 事件：弹幕、礼物、点赞、关注、观众人数、PK。","ctaKey":"获取 7 天评估 Key","ctaDocs":"查看文档"},"stats":{"eventTypes":"事件类型","anyValue":"任意","language":"语言","realtimeValue":"实时","delivery":"事件推送"},"how":{"title":"3 行代码即可连接","sub":"无需解析二进制，无需维护基础设施。一个 WebSocket URL 直接推送干净的 JSON。","copy":"复制","copied":"已复制","copyCode":"复制代码"},"events":{"title":"浏览所有事件","sub":"选择一个事件，查看 WebSocket 推送的完整 JSON 及每个字段的说明。"},"compare":{"title":"TikTools 与其他服务对比","sub":"与其他 TikTok LIVE 数据服务商的逐项对比，每项均注明日期并已对照其公开页面核实。","cta":"查看对比"},"pricing":{"title":"价格透明","sub":"免费评估 7 天，再选择适合你的套餐。","testKey":"测试 Key","fromWeekly":"{price}/周起","ctaTestKey":"获取测试 Key","ctaPlans":"查看套餐","sandbox":{"evaluation":"7 天评估","everyEvent":"所有事件类型","noCard":"无需信用卡"},"pro":{"limits":"生产级请求和 WebSocket 限额","webhooks":"签名 Webhook","sdks":"Node.js 和 Python SDK"},"ultra":{"limits":"Agency 以下最高限额","leagues":"联赛榜不脱敏","everyEvent":"所有事件类型"}},"sdks":{"title":"支持所有语言","sub":"提供 Node.js 和 Python 官方 SDK。其他语言直接用 WebSocket 即可。"},"cta":{"title":"今天就开始接入 TikTok LIVE 数据","sub":"Sandbox 套餐：每天 5,000 次请求，3 个并发 WebSocket 连接。无需信用卡。","github":"在 GitHub 上 Star"}},"mcp":{"seo":{"title":"TikTok LIVE MCP + API 集成 - tik.tools","description":"把实时 TikTok LIVE 数据接入 Claude、Cursor、VSCode 和任意 MCP 客户端。另有 RapidAPI、Apify、Custom GPT、SDK 和实时 WebSocket。7 天评估 Key，无需信用卡。","ogTitle":"把 TikTok LIVE 接入你的 AI","ogDescription":"一个 MCP 服务器，把实时 TikTok 数据送进 Claude、Cursor 和 VSCode。7 天评估 Key，无需信用卡。"},"hero":{"eyebrow":"面向 AI 智能体和开发者","title":"把 TikTok LIVE 接入你的 AI","lead":"一个 MCP 服务器，把实时 TikTok 数据送进 Claude、Cursor、VSCode 和任意 MCP 客户端。检测谁在直播，获取主播和直播间数据、礼物和排行榜，一句提示词就能搞定。7 天评估 Key，无需信用卡。","ctaKey":"获取 7 天评估 Key","ctaIntegrations":"全部集成"},"install":{"title":"添加 MCP 服务器","sub":"一键接入你的客户端。添加后把 {code} 替换成你的评估 Key。","hideConfig":"隐藏配置","showConfig":"想自己粘贴配置？","toolsNote":"共 11 个工具。完整列表及各工具所需套餐见下方。"},"oneClick":{"cursor":{"add":"添加到 Cursor","done":"正在打开 Cursor"},"vscode":{"add":"添加到 VS Code","done":"正在打开 VS Code"},"claude":{"add":"复制配置并打开 Claude","done":"已复制，正在打开 Claude"}},"copy":"复制","copied":"已复制","key":{"title":"设置你的 API Key","sub":"每次工具调用都需要鉴权。未设置 Key 时，每次调用都会返回 {error}，所以请在第一次提问前设置好。","step1":"在 {link} 获取 7 天评估 Key，无需信用卡。","step2":"把它作为 {name} 填入服务器的 {env} 配置块。","step3":"重启客户端，让它重新加载服务器。","vscodeNote":"VS Code 使用 {servers} 而不是 {mcpServers}，见上方配置标签页。如果你的配置已经在用 {altKey1} 或 {altKey2}，也同样有效。"},"tools":{"title":"11 个工具","sub":"用自然语言提问，客户端会自动选择工具。套餐列表示能让该工具返回数据的最低 Key 等级。","colTool":"工具","colTier":"最低套餐","anyKey":"任意 Key","notes":{"giftCatalog":"无需参数。可选 username、search、limit。","leaderboard":"日榜。type=league 需要 Ultra，type=weekly、gaming 和 shopping 需要 Agency。","popularLive":"Agency 以下脱敏。"}},"connect":{"title":"所有接入方式","sub":"无论你的技术栈在哪里，数据都一样。","items":{"mcp":{"tag":"AI 智能体","title":"MCP 服务器","desc":"在 Claude、Cursor、VSCode 和 Windsurf 中运行 npx tiktok-live-mcp。","cta":"在 npm 上查看"},"gpt":{"tag":"Custom GPT","desc":"把 Custom GPT 指向 OpenAPI 规范，在对话中查询实时数据。","cta":"获取 Schema"},"rapidapi":{"tag":"应用市场","desc":"RapidAPI 市场上的完整 REST API。","cta":"打开页面"},"apify":{"tag":"自动化","desc":"以 Apify Actor 形式运行开播检测和排行榜。","cta":"打开 Actor"},"sdks":{"tag":"SDK","title":"Node 和 Python","desc":"{'@'}tiktool/live 和 tiktok-live-api，20 行代码接收弹幕和礼物。","cta":"查看文档"},"websocket":{"tag":"实时","desc":"wss://api.tik.tools：弹幕、礼物、点赞和 PK 实时推送。","cta":"阅读文档"}}},"foot":{"title":"高级数据，直接获取","sub":"7 天评估包含开播检测、直播间数据、礼物和排名。完整不脱敏的排行榜、联赛榜和游戏榜、主播和送礼用户收益、新主播招募数据流，以及实时事件 WebSocket，可在 tik.tools 通过付费套餐解锁。","cta":"查看价格"}},"useCases":{"seo":{"title":"TikTok LIVE API 应用场景 - 聊天助手、直播叠加层和 AI","description":"用 TikTok LIVE API 搭建聊天助手、直播叠加层、礼物排行榜、数据分析看板、AI 集成和互动游戏。附代码示例。7 天评估 Key，无需信用卡。","ogTitle":"TikTok LIVE API 应用场景 - 你能做出什么？","ogDescription":"聊天助手、直播叠加层、礼物追踪、数据分析、AI 集成、游戏集成：附代码的真实 TikTok LIVE API 应用场景。"},"og":{"title":"你能做出什么","subtitle":"聊天助手、直播叠加层、礼物提醒、数据分析和 AI 集成。","badge":"应用场景"},"hero":{"badge":"应用场景","titleLead":"用 TikTok LIVE API","titleAccent":"能做出什么？","desc":"从聊天助手到数据分析看板，TikTools 支撑着实时 TikTok 应用。看看开发者都用我们的 API 做了什么。"},"items":{"chatAssistants":{"title":"TikTok 直播聊天助手","desc":"搭建自动聊天助手，实时回复弹幕、运行互动游戏、欢迎新观众并管理弹幕。对特定关键词、指令或用户行为即时响应。"},"overlays":{"title":"实时直播叠加层","desc":"制作兼容 OBS 的浏览器源叠加层，直接在直播画面上显示实时弹幕、礼物提醒、观众人数和互动数据。可用 HTML/CSS 完全自定义。"},"giftTracking":{"title":"礼物追踪与打赏提醒","desc":"实时追踪虚拟礼物，包含钻石价值、连击和重复次数。为你的直播搭建打赏排行榜、目标进度条和礼物动画提醒。"},"analytics":{"title":"数据分析看板","desc":"搭建实时和历史数据分析看板，追踪互动率、弹幕速度、礼物流水、观众留存、同时在线峰值和增长趋势。"},"ai":{"title":"AI 驱动的集成","desc":"把直播数据接入 AI 模型，用 GPT、Claude 或自定义模型做情绪分析、实时内容审核、自动高光识别、观众情绪追踪和智能弹幕回复。"},"moderation":{"title":"弹幕管理工具","desc":"自动过滤垃圾信息、屏蔽恶意消息、对屡次违规者限流，并提供实时管理看板。用自定义规则和 AI 过滤器保护你的社区。"},"multiStream":{"title":"多直播间监控","desc":"同时监控多个 TikTok LIVE 直播间。追踪竞品直播、管理公会主播，或搭建发现流。Pro 套餐支持 50 个并发连接，Ultra 支持 250 个，Agency 支持 500 个。"},"games":{"title":"游戏集成","desc":"让 TikTok 观众实时参与你的游戏。观众可以通过弹幕指令触发游戏事件，礼物生成道具，PK 控制游戏机制。支持任何能连接 WebSocket 的引擎（C++、C#、Godot、Web）。"},"scouting":{"title":"主播挖掘","desc":"通过地区排行榜、联赛排名和实时礼物事件，发现正在崛起的主播及其头部送礼用户。专为管理主播名单的公会打造。"}},"cta":{"title":"准备好开发了吗？","desc":"获取 7 天评估 Key，30 秒内开始接收 TikTok LIVE 数据。","key":"获取 7 天评估 Key","docs":"阅读文档"}},"discord":{"seo":{"title":"免费 TikTok LIVE Discord 助手 - 开播提醒、PK、排行榜、AI 答疑","description":"面向 TikTok LIVE 主播和公会的免费 Discord 助手。实时开播提醒、跨服务器 PK 匹配、互关网络、AI API 答疑、实时排名查询。不限次数，无需注册。","ogTitle":"免费 TikTok LIVE Discord 助手 - 提醒、PK、排行榜","ogDescription":"追踪主播、约 PK、建立互关网络、查询实时排名，全部在 Discord 里完成。100% 免费，无需账号。","keywords":"TikTok LIVE 助手, Discord 助手, TikTok 开播提醒, TikTok PK 助手, 互关, F4F, TikTok API, 免费 Discord 机器人, TikTok 直播提醒, TikTok 公会助手"},"og":{"title":"免费 TikTok LIVE Discord 助手","subtitle":"为你的服务器提供开播提醒、PK、排行榜和 AI 答疑。","badge":"DISCORD"},"hero":{"badge":"所有服务器免费使用。无需 API Key，不限次数。","titleLead":"专为","titleAccent":"TikTok LIVE 主播和公会打造的 Discord 机器人","subtitle":"开播提醒、跨服务器 PK 匹配、送礼用户排名、AI 答疑和公会主播名单工具，全部集成在一个助手里，完全免费。","stats":{"servers":"Discord 服务器","members":"覆盖成员","free":"永久免费","detectionValue":"全天候","detection":"开播检测"}},"install":"添加到 Discord - 免费","watch":{"label":"最常用指令","desc":"在任意频道输入这条指令即可追踪主播。主播一开播，助手就会立刻在频道里提醒，每次都不落下。","cta":"查看全部指令"},"webdash":{"label":"在网页上管理你的机器人：","text":"{label}在你的服务器中运行 {command}，即可在一个页面里修改提醒频道、开播消息和追踪的主播。"},"setup":{"label":"设置","title":"一分钟内即可上手","step1":{"title":"点击「添加到 Discord」","body":"使用上方按钮或本页任意安装按钮，你会被带到 Discord 的标准授权页面。"},"step2":{"title":"选择你的服务器","body":"选择要添加助手的服务器。你需要是管理员（或服务器所有者）才能授权。"},"step3":{"title":"完成，助手自动配置","body":"助手会创建一个私密的 {channel} 频道，发布设置说明，并创建所有需要的频道。无需输入任何指令。"}},"features":{"label":"功能","title":"你的服务器需要的一切","items":{"alerts":{"title":"开播提醒","desc":"追踪任意 TikTok 账号。对方一开播，助手就会在你选定的频道发送一条丰富的通知：头像、直播标题、观众人数，如果上榜还会显示排名。","tag":"下播也能自动检测，直播结束时更新通知。"},"battles":{"title":"跨服务器 PK 网络","desc":"和指定对手约 TikTok LIVE PK，或向网络内所有服务器发起公开挑战。助手负责匹配、私信提醒并记录结果。","tag":"PK 前 24 小时、30 分钟、10 分钟私信提醒"},"f4f":{"title":"互关网络","desc":"在任意受监控频道输入「follow me {'@'}username」或「f4f」。助手会把你的主页发到本服务器的 F4F 频道，并同时推送到网络中所有已连接的服务器。","tag":"无需指令，自然语言即可"},"ai":{"title":"AI 智能问答","desc":"用自然语言询问任何 TikTok LIVE 相关问题。助手由 GPT-4o 驱动，完整掌握 TikTool API 文档、事件参考、SDK、价格和常见问题。","tag":"{command} 如何在 Python 中接收礼物事件？"},"rankings":{"title":"实时排名查询","desc":"直接在 Discord 中查看任意主播在 tik.tools 实时排行榜上的当前位置：地区、等级、钻石分数。基于真实直播数据，持续更新。","tag":"{command} - 即时查看排行榜位置"},"roster":{"title":"公会主播名单管理","desc":"在 Discord 里管理你的全部主播名单。添加主播、追踪他们的 PK、代为安排直播场次，并接收旗下每位主播的开播提醒。","tag":"{add} · {list} · {upgrade} 获取公会情报"},"naturalLanguage":{"title":"智能自然语言","desc":"助手能听懂日常对话，无需斜杠指令。说「今晚 9 点我需要一场 PK」，它就会创建请求。说「follow me」，F4F 帖子就会发出去。","tag":"适用于任意受监控频道，任意说法"},"liveNow":{"title":"谁正在直播","desc":"随时运行 {command}，查看你追踪的主播中谁正在直播，并附上在 tik.tools 或 TikTok 观看的直达链接。","tag":"{command} - 即时查看所有追踪主播的状态"}}},"audience":{"label":"适合谁","title":"一个机器人，服务三类用户","items":{"streamers":{"title":"主播","desc":"追踪你喜欢的主播，对方一开播就收到通知。约 PK、在其他服务器寻找对手，并建立覆盖整个平台的互关网络。","bullets":{"liveAlerts":"无限账号开播提醒","battleScheduling":"PK 预约及自动提醒","followNetwork":"跨服务器互关","rankDisplay":"通知中显示实时排名"}},"agencies":{"title":"公会","desc":"在一个 Discord 服务器里管理你的主播名单。接收旗下每位主播的开播提醒，代为安排 PK，在同一个地方掌控全部运营。","bullets":{"roster":"完整主播名单管理（/roster）","liveAlerts":"所有主播开播提醒","battleCoordination":"旗下主播 PK 协调","strikes":"违规记录和缺席处理","upgrade":"Agency 升级获取联赛情报（/upgrade）"}},"developers":{"title":"开发者","desc":"不用离开 Discord，即可快速获得关于 TikTool LIVE API、SDK、事件、鉴权和常见错误的解答。在你所在的任意服务器绑定 API Key 并查看用量。","bullets":{"aiSupport":"掌握完整 API 文档的 AI 答疑","quickLinks":"文档、事件、SDK 快捷链接","apiKey":"API Key 绑定和用量查询","eventsReference":"直播事件参考（/docs）"}}}},"commandsRef":{"label":"指令","title":"完整指令参考","sub":"助手支持的所有斜杠指令。大多数功能也支持自然语言，不需要斜杠。"},"commandGroups":{"notifications":"开播通知","battles":"PK 匹配","rankings":"排名与数据","roster":"公会主播名单","ai":"AI 与文档","setup":"服务器设置（仅管理员）"},"commands":{"watchAdd":"开始追踪一个 TikTok 账号并接收开播提醒","watchAddChannel":"追踪并把提醒发到指定频道","watchRemove":"停止追踪一个账号","watchList":"查看本服务器正在追踪的所有账号","livenow":"查看你追踪的主播中谁正在直播","battleSchedule":"在指定日期和时间预约一场 PK","battleRequest":"向网络内所有服务器发起公开挑战","battleList":"查看所有即将进行的 PK","rank":"查询主播在实时排行榜上的当前位置","usage":"查看你的 tik.tools API Key 用量和当前套餐限额","upgrade":"查看 Agency PASS 套餐，解锁联赛排名和送礼用户情报（仅管理员）","rosterAdd":"把主播加入你的公会主播名单","rosterRemove":"从主播名单中移除主播","rosterList":"查看完整的公会主播名单","ask":"询问任何关于 TikTok LIVE API、SDK、事件或价格的问题","docs":"获取文档、SDK 指南、排行榜、公会、PASS 套餐等的直达链接","dashboard":"打开网页控制台，管理本服务器的机器人","setupApiKey":"把你的 tik.tools API Key 绑定到本服务器","setupTiktok":"把一个 TikTok 用户名绑定到本服务器","setupEventsChannel":"设置开播通知的发布频道","setupBattleChannel":"设置 PK 请求的发布频道","setupF4fChannel":"设置互关频道","setupBattleNetwork":"加入或退出跨服务器 PK 网络","setupBattleWizard":"为本服务器开启或关闭聊天 PK 向导"},"responds":{"label":"须知","title":"机器人在哪里回复","ai":{"title":"AI 回答","body":"在 TikTool 官方服务器的帮助频道里，机器人会主动回答问题。在你自己的服务器里，{'@'}提及它，它在任何频道都会回答。"},"wizard":{"title":"PK 向导","body":"输入的 PK 请求（「今晚 9 点我需要一场 PK」）只会在名称包含「battle」的频道触发向导，例如 {channel1} 或 {channel2}。"},"toggle":{"title":"管理员开关","body":"服务器管理员可以随时用 {command} 关闭（或重新开启）PK 向导。斜杠指令不受影响。"}},"agency":{"kicker":"Agency 专属 - 超级功能","title":"把 TikTok 实时排名直接推送到 Discord","sub":"覆盖全部 {count} 个地区的主播榜、游戏榜和 99+ 异动榜，按需拉取到私密频道，按钮操作。","requirement":"需要有效的 Agency Global 订阅","step1":{"title":"添加机器人并设置","body":"把机器人邀请到你的服务器，然后运行 {command}（仅管理员）开始。"},"step2":{"title":"连接你的 API Key","body":"机器人会私信你一个私密输入框，把你的公会 API Key 粘贴进去。它永远不会显示在频道中。"},"step3":{"title":"选择追踪内容","body":"选择地区和榜单：主播榜、游戏榜和 99+ 异动榜（今日上榜 / 跌出截止线）。"},"step4":{"title":"选择频道和角色","body":"设置发布频道，以及允许拉取数据的 Manager 角色。"},"step5":{"title":"按需拉取","body":"使用这些按钮："}},"cta":{"badge":"免费安装。无需信用卡，无需账号。","title":"现在就添加到你的服务器","sub":"点击下方按钮，选择你的服务器，助手会自动完成所有设置。不到一分钟。","pricing":"API 价格"}}},"guidesApi":{"gettingStarted":{"seo":{"title":"TikTok LIVE API 入门 - 开发者快速上手指南","description":"TikTok LIVE API 分步入门指南。安装 SDK，获取 7 天评估 Key，连接任意 TikTok 直播间，30 秒内即可实时接收弹幕、礼物和观众数据。","ogTitle":"TikTok LIVE API 入门 - 快速上手指南","ogDescription":"30 秒内连接任意 TikTok 直播间。免费 SDK，7 天评估 Key，实时数据。开发者分步指南。"},"og":{"title":"TikTok LIVE 入门","subtitle":"几分钟完成你的第一次连接。","badge":"指南"},"jsonLd":{"name":"如何连接 TikTok 直播 API","description":"使用 TikTools API 连接任意 TikTok 直播间，实时接收弹幕、礼物和观众数据的分步指南。","toolNode":"Node.js（18 或更高版本）","steps":{"apiKey":{"name":"获取 7 天评估 Key","text":"在 tik.tools/login 注册即可获取 7 天评估 Key，无需信用卡。"},"install":{"name":"安装 SDK","text":"运行 npm install {'@'}tiktool/live 安装 TikTools SDK。"},"connect":{"name":"连接直播间","text":"用主播用户名和你的 API Key 创建 TikTokLive 客户端，然后调用 client.connect()。"},"receive":{"name":"接收实时事件","text":"监听 chat、gift、like、follow、viewer_count 等事件。所有事件均以结构化 JSON 对象推送。"}}},"hero":{"badge":"快速上手指南","title":"入门","titleHighlight":"TikTok LIVE API","subtitle":"连接任意 TikTok 直播间，30 秒内即可接收实时数据。Sandbox 套餐，无需信用卡。"},"step1":{"title":"获取评估 Key","signUp":"在 {link} 用 Google 账号注册。7 天评估 Key 即时生成，无需信用卡，也无需审核。","limits":"Sandbox 套餐包含 {sandboxRequests} 和 {sandboxConnections}（每天 50 次会话，每次连接 2h）。生产环境可升级到付费套餐（{price}/周起），获得 {paidRequests} 和 {paidConnections}。","sandboxRequests":"每天 5,000 次请求","sandboxConnections":"3 个并发 WebSocket 连接","paidRequests":"每天 10,000 次请求","paidConnections":"20 个并发 WebSocket 连接"},"step2":{"title":"安装 SDK","body":"从 npm 安装 TikTools SDK。支持 Node.js、Bun 和 Deno。"},"step3":{"title":"连接直播间","body":"用 SDK 连接任意正在直播的 TikTok 用户："},"step4":{"title":"运行","saveAs":"保存为 {file} 并运行：","output":"几秒内就能在终端里看到实时事件不断涌入："},"step5":{"title":"备选方案：原生 WebSocket","body":"不想用 SDK？可以用任意语言直接通过 WebSocket 连接：","languages":"支持 Python、Go、Rust、Java、C#、Ruby，任何支持 WebSocket 的语言都可以。"},"next":{"title":"下一步？","useCases":{"title":"使用场景","sub":"看看开发者都用这个 API 做了什么"},"reference":{"title":"完整 API 参考","sub":"全部事件、接口和 SDK 方法"},"bot":{"title":"构建弹幕助手","sub":"弹幕助手分步教程"},"overlay":{"title":"构建直播叠加层","sub":"OBS 浏览器源教程"}},"sidebar":{"title":"本页内容","apiKey":"1. 获取评估 Key","install":"2. 安装 SDK","connect":"3. 连接直播间","run":"4. 运行","raw":"5. 原生 WebSocket"}},"websocket":{"seo":{"title":"TikTok LIVE WebSocket API - 实时直播数据","description":"通过 WebSocket API 连接 TikTok 直播间。实时获取弹幕、礼物、观众数、PK 数据，支持 JavaScript、Python、Go、Rust 等任意语言。提供 Sandbox 套餐。","ogTitle":"TikTok LIVE WebSocket API - 实时直播数据","ogDescription":"通过 WebSocket 连接任意 TikTok 直播间。弹幕、礼物、观众、PK 实时事件，支持任意编程语言。7 天评估 Key，无需信用卡。"},"og":{"title":"TikTok LIVE WebSocket 指南","subtitle":"连接并处理实时直播事件。","badge":"指南"},"jsonLd":{"headline":"TikTok LIVE WebSocket API - 连接任意直播间","description":"通过 WebSocket 连接 TikTok 直播间的完整指南。实时弹幕、礼物、观众、PK 数据，支持 JavaScript、Python、Go、Rust 等任意语言。","faq":{"connect":"用任意 WebSocket 库连接 {url}，即可实时接收弹幕、礼物、观众等 JSON 事件。","languages":"任何支持 WebSocket 的语言都可以：JavaScript/Node.js、Python、Go、Rust、Java、C#、Ruby、PHP 等。TikTool 还提供官方 Node.js SDK（{'@'}tiktool/live）。","free":"可免费评估 7 天。Sandbox Key 在 7 天内提供 3 个并发 WebSocket 连接和每天 5,000 次 REST 请求，无需信用卡。之后需要付费套餐，{price}/周起（Basic），提供 20 个并发连接和每天 10,000 次请求。"}},"hero":{"badge":"指南","title":"TikTok LIVE","titleHighlight":"WebSocket API","subtitle":"通过 WebSocket 连接任意 TikTok 直播间。实时接收弹幕、礼物、观众数、PK 和互动数据。支持任意编程语言。"},"how":{"title":"TikTok LIVE WebSocket 如何工作","endpoint":"TikTool 在 {endpoint} 提供托管 WebSocket 端点，实时推送任意 TikTok 直播间的事件。你只需用 API Key 和 TikTok 用户名连接，协议协商、鉴权和重连逻辑全部由服务器处理。","relay":"直接用协议连接 TikTok 直播基础设施的方式经常失效，而 TikTool 的 WebSocket API 是{relay}。","relayStrong":"稳定的生产级中继服务"},"quickStart":{"title":"快速开始：3 行代码完成连接","native":"也可以直接用原生 WebSocket 连接（无需 SDK）：","anyLanguage":"任意语言","anyLanguageBody":"任何支持 WebSocket 的语言都可以，包括 Go、Rust、Java、C#、Ruby、PHP。只需连接："},"params":{"title":"WebSocket 连接参数","parameter":"参数","required":"必填","description":"说明","uniqueId":"主播的 TikTok 用户名（不含 {'@'}）","apiKey":"你的 TikTool API Key","jwtKey":"基于 JWT 的鉴权（令牌化浏览器客户端可用来替代 apiKey）"},"eventTypes":{"title":"事件类型","intro":"每条 WebSocket 消息都是包含 {event} 和 {data} 字段的 JSON 对象。你会收到以下事件："},"events":{"chat":"观众发送的新弹幕，包含用户信息、消息内容和徽章。","gift":"观众赠送的虚拟礼物，包含礼物名称、钻石价值和连送次数。","like":"观众为直播点赞，包含累计点赞数。","member":"观众进入直播间，在用户进入时触发。","social":"关注 / 分享 / 收藏。data.action 字段会告诉你是哪一种（follow、share、favourite）。","roomUserSeq":"观众数更新，包含当前 viewerCount 和 topViewers。","subscribe":"观众订阅了主播。","battle":"连线 PK 事件，包含 PK 状态、比分、时长和参与者。","battleArmies":"PK 阵营更新，包含队伍比分和参与者排名。","linkMic":"连线嘉宾布局更新，包含多人连线直播中的席位/嘉宾用户 ID。","roomPin":"主播置顶了一条弹幕。","liveIntro":"直播简介更新，包含直播标题和描述。","emoteChat":"弹幕中发送的自定义表情，包含表情 ID 和图片 URL。","envelope":"直播间内的宝箱 / 红包事件。","question":"观众提交的问答问题。","rankUpdate":"主播的分地区排名刷新。","barrage":"屏幕顶部的横幅/公告消息。","superFan":"观众成为超级粉丝或升级，包含新等级。","superFanJoin":"超级粉丝进入了直播间。","superFanBox":"超级粉丝宝箱 / 奖励事件。","control":"直播生命周期控制（暂停、结束等）。"},"limits":{"title":"各套餐连接上限","tier":"套餐","connections":"连接数","price":"价格","sandboxFree":"Sandbox（7 天评估）","sandboxTier":"Sandbox 套餐","proPrice":"{price}/周起","ultraPrice":"{price}/周起","agencyConnections":"500 + Firehose","agencyPrice":"{price}/周起"},"errors":{"title":"错误处理与重连","body":"WebSocket 会以标准关闭码关闭连接，你的客户端需要处理重连："},"faq":{"title":"常见问题","connect":{"q":"如何通过 WebSocket 连接 TikTok 直播间？","a":"用任意 WebSocket 库连接 {url}，即可实时接收弹幕、礼物、观众等 JSON 事件。SDK（{'@'}tiktool/live）会自动帮你完成这些。"},"languages":{"q":"哪些编程语言可以使用 TikTok LIVE WebSocket？","a":"任何支持 WebSocket 的语言都可以：JavaScript/Node.js、Python、Go、Rust、Java、C#、Ruby、PHP 等。TikTool 还提供官方 Node.js SDK（npm 上的 {'@'}tiktool/live）和 Python 包（PyPI 上的 tiktok-live-api）。"},"free":{"q":"TikTok LIVE WebSocket API 免费吗？","a":"可免费评估 7 天。Sandbox Key 在 7 天内提供 3 个并发 WebSocket 连接和每天 5,000 次 REST 请求，无需信用卡。之后需要付费套餐：{price}/周起（Basic），提供 20 个并发连接和每天 10,000 次请求，适合生产环境。"},"openSource":{"q":"这和开源直播库有什么不同？","a":"开源库需要你自己维护连接基础设施，平台一更新就经常失效。TikTool 是托管 API 服务，所有维护工作都由我们负责。"},"latency":{"q":"WebSocket 连接的延迟是多少？","a":"事件从 TikTok 到达后，TikTool 会立即把每个事件推送到你的 WebSocket。WebSocket 连接专为低延迟实时数据推送而优化。"}},"next":{"python":{"title":"Python 指南","sub":"用 Python 连接"},"events":{"title":"事件参考","sub":"全部事件类型和数据"}}},"webhooks":{"seo":{"title":"TikTok LIVE Webhook - 开播与下播提醒","description":"TikTok 主播开播或下播时，你会收到一条带签名的 HTTPS POST。live.start 和 live.end Webhook 支持重试、重放和 HMAC 签名，所有付费套餐均包含。"},"og":{"title":"TikTok LIVE Webhook","subtitle":"开播与下播提醒直达你的端点。","badge":"指南"},"jsonLd":{"breadcrumbHome":"首页","breadcrumbGuides":"指南","breadcrumbPage":"TikTok LIVE Webhook"},"hero":{"badge":"指南","title":"TikTok LIVE","titleHighlight":"Webhook","subtitle":"TikTok 主播开播或下播的那一刻，你就会收到一条带签名的 HTTPS POST。无需保持连接，也无需轮询：选好主播，给我们一个 URL，live.start 和 live.end 就会推送到你的端点。","seePlans":"查看套餐","apiReference":"API 参考"},"what":{"title":"TikTok LIVE Webhook 能做什么","body":"Webhook 是推送到你服务器的开播提醒。我们会关注你列出的主播，当其中有人开播时（{start}）向你的 URL 发送一条 HTTPS POST，直播结束时（{end}）再发送一次。你的服务无需保持连接或运行定时任务，只要响应 POST 即可。","uses":"典型用法：主播开播时发消息到 Discord 或 Slack；直播一开始就启动录制或数据分析；只在主播真正开播时才打开{link}接收弹幕和礼物；或者让公会主播名单的开播状态保持最新。","usesLink":"WebSocket 连接"},"how":{"title":"工作原理","register":"{strong}：填写你的端点 URL、要订阅的事件以及要关注的 TikTok 用户名。","registerStrong":"注册 Webhook","secret":"{strong}：它只在创建时返回一次，每次推送都会用它签名。","secretStrong":"保存签名密钥","receive":"{strong}：以 JSON POST 形式送达。先校验签名，返回 200，再处理业务逻辑。","receiveStrong":"接收 live.start 和 live.end"},"events":{"title":"事件","ariaLabel":"Webhook 事件","event":"事件","plans":"套餐","when":"触发时机","plansAllPaid":"所有付费套餐","plansUltraGlobal":"Ultra 和 Agency Global","plansGlobal":"Agency Global","liveStart":"关注的主播开播了，包含直播间 ID、开播时间和直播链接。","liveEnd":"关注的主播结束了直播，结构相同，附带下播时间。","peakViewers":"直播观众数创下新高。","highValueGift":"关注的直播中出现了高价值礼物。","followerMilestone":"关注的主播粉丝数达到了新的里程碑。"},"register":{"title":"注册 Webhook","body":"可以在控制台创建 Webhook，也可以用 API Key 从服务器端创建。响应中包含签名密钥，仅显示一次。","creators":"让 {creators} 只包含你关心的账号（每个 Webhook 最多 1,000 个）。之后要修改名单，用完整的新数组 {patch} 该 Webhook，它会替换原有名单。完整参数见{link}。","creatorsLink":"API 参考"},"payloads":{"title":"Payload","headers":"每次推送还会携带 {timestamp}、{event}、{eventId}、{deliveryId}、{attempt} 和 {webhookId} 请求头。"},"verify":{"title":"校验签名","body":"每条 POST 都包含 {header}，其中 {v1} 是以你的 Webhook 密钥对 {signed} 计算的 HMAC-SHA256。请在解析 JSON 之前基于原始请求体计算，使用恒定时间比较，并拒绝超过五分钟的时间戳。"},"delivery":{"title":"推送与重试","atLeastOnce":"{strong}同一事件可能送达不止一次，请按 {eventId} 去重。","atLeastOnceStrong":"至少一次。","retries":"{strong}推送失败后会按 0s、30s、2m、10m、1h、6h 的间隔重试。最后一次尝试后，事件会保留为死信，等你的端点恢复正常后，可以从控制台或 API 重放。","retriesStrong":"重试。","fast":"{strong}收到 POST 后立即返回 2xx，之后再处理。连接超时 10 秒，读取超时 15 秒；连接被拒绝或超时都算一次失败尝试。","fastStrong":"快速响应。","test":"{strong}在主播开播之前，你可以从控制台或测试接口向你的端点发送一条带签名的测试推送，检查解析和签名处理是否正确。","testStrong":"随时测试。"},"plans":{"title":"套餐","body":"所有付费套餐都包含 {start} 和 {end} Webhook，更高的套餐提供更多端点和更高的每日推送额度。Sandbox 账号可以在控制台设置一个测试 Webhook 并向它发送带签名的测试推送，在订阅之前就能完成集成。真实推送以及用 API Key 注册 Webhook 需要付费套餐。套餐详情见{link}。","pricingLink":"价格页"},"faq":{"title":"常见问题","offer":{"q":"TikTok 提供直播 Webhook 吗？","a":"TikTok 不提供主播开播时的公开 Webhook。Tik Tools 会关注你选择的主播，并向你的 HTTPS 端点发送 live.start 和 live.end Webhook。"},"speed":{"q":"live.start 多快能送达？","a":"通常在主播开播后几秒内送达。检测是持续进行的，但并非瞬时，所以几秒内就开始又结束的直播可能检测不到。正常时长的直播都能可靠捕获。"},"twice":{"q":"同一事件会被推送两次吗？","a":"会。推送采用至少一次语义，重试可能重复发送你的服务器已处理过的事件。每个 payload 都带有稳定的 event_id，存下来并跳过已见过的 ID 即可。"},"down":{"q":"如果我的服务器宕机了怎么办？","a":"失败的推送会在 0s、30s、2m、10m、1h、6h 重试。最后一次尝试后，事件会保留为死信，等你的端点恢复后可以重放。"},"websocket":{"q":"还需要 WebSocket 连接吗？","a":"开播提醒不需要。Webhook 本身就覆盖 live.start 和 live.end。如果还需要直播间内的弹幕、礼物和观众事件，再使用 WebSocket API。"},"plans":{"q":"哪些套餐包含 Webhook？","a":"所有付费套餐都包含 live.start 和 live.end Webhook。更高的套餐提供更多端点、更高的每日推送额度和更多事件。Sandbox 账号可以在控制台设置一个测试 Webhook 并发送带签名的测试推送；真实推送以及用 API Key 注册 Webhook 需要付费套餐。"}},"next":{"websocket":{"title":"WebSocket 指南","sub":"主播开播后实时接收弹幕和礼物"},"bot":{"title":"构建直播机器人","sub":"Discord 与弹幕自动化"}}},"events":{"seo":{"title":"TikTok LIVE 事件参考 - tik.tools","description":"全部 TikTok LIVE WebSocket 事件文档，附实时全量事件流数据：弹幕、礼物、点赞、关注、进场、PK、订阅。提供 Node、Python、curl、Go 即用代码。","ogTitle":"TikTok LIVE API 事件参考","ogDescription":"全部 TikTok LIVE WebSocket 事件文档，附实时全量事件流示例。提供 Node、Python、curl、Go 即用代码。"},"og":{"title":"TikTok LIVE 事件参考","subtitle":"你可以订阅的每一种事件。","badge":"指南"},"hero":{"eyebrow":"事件参考 · 实时全量事件流 · 正在推送","title":"{brand} 的完整事件词汇表","sub":"弹幕、礼物、点赞、进场、关注、PK、订阅。TikTok LIVE 上的每个事件都通过同一条 WebSocket 推送，并附带丰富的元数据。下方是此刻真实的公开全量事件流，不是演示效果图。","ctaKey":"获取 7 天评估 Key","ctaDocs":"阅读文档"},"feed":{"title":"实时事件流","flag":"已缓冲 {count} 个事件 · 真实公开直播","giftAlt":"礼物","someone":"有人","giftFallback":"礼物","actions":{"sent":"送出了"},"secondsAgo":"{n} 秒前","minutesAgo":"{n} 分钟前","empty":"正在等待下一个直播事件...","caption":"公开全量事件流已脱敏，但每个事件都是来自真实 TikTok 直播间的真实推送。用你自己的 Key 连接即可接收完整的不脱敏 payload（真实用户名、真实头像、真实钻石数）。不同套餐之间唯一的区别是并发连接上限。"},"code":{"title":"在你的技术栈中订阅全量事件流","lead":"选择语言，复制，运行。Sandbox Key 可在 {link} 获取。","tabsLabel":"代码语言"},"docs":{"title":"每个事件：触发条件和 payload 内容","intro":"所有事件共用 {envelope} 结构。下面列出每种事件类型及其携带的数据。","items":{"chat":{"description":"观众发送弹幕时触发，是最常见的事件。","frequency":"非常频繁","fields":{"comment":"消息内容","userId":"TikTok 数字用户 ID"}},"gift":{"description":"观众赠送虚拟礼物时触发，包含礼物名称、钻石价值和连击数据。","frequency":"中等","fields":{"user":"赠送者","giftName":"例如 \"Rose\"、\"Galaxy\"","giftId":"数字礼物 ID","diamondCount":"钻石价值","repeatCount":"连击次数","repeatEnd":"连击结束时为 true"}},"like":{"description":"观众点击点赞按钮时触发，包含累计点赞总数。","frequency":"非常频繁","fields":{"user":"点赞者","likeCount":"本次事件点赞数","totalLikeCount":"本场直播总数"}},"member":{"description":"观众进入直播间时触发。","frequency":"中等","fields":{"user":"进场用户"}},"follow":{"description":"观众在直播期间关注主播时触发。","frequency":"较少","fields":{"user":"关注者"}},"share":{"description":"观众分享直播间时触发。","frequency":"较少","fields":{"user":"分享者"}},"roomUserSeq":{"description":"定期推送的观众数更新，是追踪实时观众数的主要方式。SDK 还会以 viewer_count 的名义发出同一事件（别名，payload 相同）。","frequency":"定期","fields":{"viewerCount":"当前在线观众数","topViewers":"按互动度排序"}},"subscribe":{"description":"观众订阅主播时触发。","frequency":"罕见","fields":{"user":"订阅者"}},"linkMicBattle":{"description":"TikTok LIVE PK 开始、更新或结束时触发，包含比分和参与者。","frequency":"PK 期间","fields":{"battleUsers":"参与者及其比分","type":"1=开始，2=更新，3=结束"}},"roomPin":{"description":"主播置顶弹幕时触发。","frequency":"罕见","fields":{"pinnedMessage":"消息内容和发送者"}}}},"faq":{"title":"常见问题","paid":{"q":"接收事件需要付费套餐吗？","a":"评估阶段不需要。Sandbox Key 可使用 7 天，并提供完整的真实事件 payload（真实用户名、真实钻石数等），你的客户端会用自己的 TikTok cookie 为上游 WebSocket 签名。评估期间的上限是 3 个并发 WebSocket 连接和每天 5,000 次 REST 请求。7 天后需要付费套餐；Basic 套餐 {price}/周，提供 20 个并发 WS 和每天 10,000 次请求。"},"frequent":{"q":"热门直播中哪个事件触发最频繁？","a":"按频率算，`like` 和 `chat` 占绝大多数。按单个事件的价值算，`gift` 是最高价值的信号。"},"multiple":{"q":"可以同时订阅多个 TikTok 主播吗？","a":"可以。每个 uniqueId 开一条 WebSocket。Pro 套餐支持 50 个并发 WS，Ultra 支持 250 个。"},"streak":{"q":"如何判断礼物连击已结束？","a":"只有可连击礼物（`giftType` 1）才会连击：监听 `repeatEnd === true`，或者在几秒内没有新帧时自行结束，并取最大的 `repeatCount`。其他礼物从不发送结束帧：像 8x 这样的批量赠送只有一帧，`repeatCount` 为 8，收到时直接计数即可。无论哪种情况，总钻石数 = `diamondCount * repeatCount`。"},"latency":{"q":"相比实际直播画面，延迟是多少？","a":"事件在 TikTok 上触发后约 150-400ms 送达，在大多数 CDN 上比视频流本身还快。"},"battles":{"q":"PK 事件会为双方主播都触发吗？","a":"会。连接 PK 中任意一位主播即可，双方都会收到同一个 `linkMicBattle` 事件，且 `battleUsers` 中包含双方数据。"}}}},"guidesBuild":{"shared":{"ogBadge":"教程"},"bot":{"seo":{"title":"如何开发 TikTok 直播弹幕机器人（Node.js + Python）- tik.tools","description":"用 Node.js 或 Python 开发 TikTok LIVE 弹幕机器人，读取弹幕、礼物和进场事件并响应指令。可运行的代码、经过测试的示例和速率限制说明。7 天评估 Key。","ogTitle":"5 分钟开发一个 TikTok 直播弹幕机器人","ogDescription":"可直接运行的 Node.js 和 Python TikTok LIVE 弹幕机器人示例。读取事件、响应指令、24/7 不间断运行。7 天评估 Key。"},"og":{"title":"开发 TikTok 直播弹幕机器人","subtitle":"Node.js 和 Python 完整教程。"},"jsonLd":{"name":"开发 TikTok LIVE 弹幕机器人","description":"分步 Node.js 和 Python 教程：开发一个 TikTok LIVE 弹幕机器人，读取弹幕/礼物事件，并在你自己的应用里响应观众指令。","steps":{"install":{"name":"安装 SDK","text":"通过 npm 或 pip 安装 TikTool SDK。"},"credentials":{"name":"配置凭据","text":"导出你的 TikTool API Key。"},"write":{"name":"编写机器人","text":"在你自己的代码里监听弹幕/礼物事件并响应指令。"},"run":{"name":"运行","text":"用 node 或 python 运行，机器人会自动重连。"}}},"hero":{"badge":"教程 · 免费 · 5 分钟","title":"开发 TikTok LIVE 弹幕机器人","sub":"读取任意 TikTok LIVE 直播的每条弹幕、每个礼物和进场事件，并在你自己的应用里响应指令。用 Node.js 或 Python 运行，代码不到 60 行。","ctaKey":"获取 7 天评估 Key","ctaGithub":"在 GitHub 上查看"},"mock":{"terminal":"终端","liveOutput":"机器人实时输出","productionKey":"生产 Key","active":"已启用","limit":"限额","limitValue":"10,000 个事件/分钟"},"step1":{"title":"安装 SDK","body":"一个包搞定，无需构建步骤。支持任意 Node 18+ 或 Python 3.9+ 环境。"},"step2":{"title":"配置凭据","intro":"你只需要一样东西：","apiKeyItem":"{label} - 从{link}获取。监听一个直播用 7 天评估 Key 就够了。","apiKeyLabel":"API Key","dashboardLink":"你的控制台"},"step3":{"title":"编写机器人","body":"监听弹幕、礼物、进场和点赞。收到 {hello} 和 {ping} 指令时执行你自己的动作：叠加层、音效或 Webhook。"},"step4":{"title":"运行","body":"机器人会一直保持连接，直到你手动停止。重连逻辑已内置在 SDK 中。","tryIt":"用任意 TikTok 账号在主播的直播间发送 {hello} 或 {ping}，看看你的机器人如何响应。"},"limits":{"label":"重要","title":"需要提前考虑的限制","sub":"以下限制都由 TikTok 对你的账号/IP 执行，tik.tools 无法解除。编写机器人逻辑时请把这些考虑进去。","volume":{"title":"每个直播每分钟的事件数","body":"大主播（1M+ 观众）每分钟会产生数万个事件。你的机器人需要异步处理，不要在每条弹幕上阻塞事件循环。重活要么丢弃，要么放进队列。"},"streamEnd":{"chip":"直播结束","title":"会话随直播结束","body":"主播下播后，WebSocket 会关闭，SDK 会触发 {event}。等主播重新开播后再重连，可以轮询 {endpoint} 或使用 Webhook。"},"unofficial":{"chip":"非官方合作","title":"未获 TikTok 认可","body":"这是一个{unofficial}集成。不要冒充主播，并确保机器人触发的所有内容都符合 TikTok 社区准则。","strong":"非官方"}},"next":{"title":"下一步","overlay":{"title":"OBS 叠加层","desc":"在直播画面上叠加礼物动画"},"game":{"title":"开发弹幕游戏","desc":"观众用弹幕投票，礼物触发动作"},"tts":{"title":"文字转语音","desc":"让机器人把弹幕朗读出来"}}},"overlay":{"seo":{"title":"开发 TikTok LIVE 直播叠加层 - OBS 浏览器源教程","description":"为 OBS 开发 TikTok LIVE 直播叠加层，实时显示弹幕、礼物提醒和观众人数。附 HTML、CSS 和 Node.js 完整代码教程。基于 TikTok LIVE API，7 天评估 Key，无需信用卡。","ogTitle":"为 OBS 开发 TikTok LIVE 直播叠加层","ogDescription":"打造实时 TikTok LIVE 叠加层，包含弹幕流、礼物提醒和观众人数。OBS 浏览器源完整代码教程。"},"og":{"title":"开发 TikTok LIVE 直播叠加层","subtitle":"为 OBS 打造弹幕、礼物和提醒。"},"jsonLd":{"howTo":{"name":"如何为 OBS 开发 TikTok LIVE 直播叠加层","description":"使用 TikTools API 打造实时 OBS 叠加层，显示 TikTok LIVE 弹幕、礼物提醒和观众人数。","steps":{"setup":{"name":"搭建项目","text":"用 {pkg} 和 express 创建一个 Node.js 项目。"},"server":{"name":"创建服务端","text":"编写一个 Express 服务端，连接 TikTok 并通过 SSE 广播事件。"},"html":{"name":"创建叠加层 HTML","text":"设计基于浏览器的叠加层，包含弹幕流、礼物提醒和观众人数。"},"obs":{"name":"添加到 OBS","text":"在 OBS 中把叠加层 URL 添加为浏览器源，分辨率设为 1920x1080。"}}},"article":{"headline":"用实时数据开发 TikTok LIVE 直播叠加层","description":"完整教程：为 TikTok LIVE 直播打造兼容 OBS 的叠加层，实时显示弹幕、礼物提醒和观众人数。"}},"hero":{"badge":"教程","title":"开发 TikTok LIVE","highlight":"直播叠加层","subtitle":"打造一个兼容 OBS 的实时浏览器源叠加层，显示任意 TikTok LIVE 直播的实时弹幕、礼物提醒和观众人数。"},"build":{"title":"你将做出什么","intro":"一个基于浏览器的直播叠加层，适用于 OBS、Streamlabs 或任何支持浏览器源的软件。它会显示：","items":{"chat":"实时弹幕","gifts":"带钻石价值的礼物动画提醒","viewers":"当前观众人数","feed":"带用户头像的滚动弹幕流"}},"prereq":{"title":"准备工作","node":"已安装 Node.js 18+","apiKey":"一个 TikTools API Key（7 天评估，无需信用卡） - {link}","apiKeyLink":"点这里获取","obs":"OBS Studio（或任何支持浏览器源的直播软件）"},"step1":{"title":"第 1 步：搭建项目"},"step2":{"title":"第 2 步：创建服务端","body":"创建 {file}，它会连接 TikTok，并通过 Server-Sent Events（SSE）把事件广播给浏览器叠加层："},"step3":{"title":"第 3 步：创建叠加层 HTML","body":"创建 {file}，这就是 OBS 作为浏览器源渲染的页面："},"step4":{"title":"第 4 步：运行并添加到 OBS","thenObs":"然后在 OBS 中：","addSource":"添加一个新的{source}","sourceLabel":"浏览器源","setUrl":"把 URL 设为 {url}","setSize":"宽度设为 {width}，高度设为 {height}","shutdown":"勾选「不可见时关闭源」"},"custom":{"title":"自定义灵感","themes":{"label":"自定义主题","text":"{label} - 修改颜色、字体和布局，匹配你的直播风格"},"sounds":{"label":"音效","text":"{label} - 用 Web Audio API 在收到礼物时播放音效"},"gifs":{"label":"GIF 动画","text":"{label} - 为特定礼物显示 GIF 动画"},"goals":{"label":"目标进度条","text":"{label} - 添加打赏/礼物目标进度条"},"podium":{"label":"头部送礼用户领奖台","text":"{label} - 实时显示前 3 名送礼用户"}},"next":{"bot":{"title":"开发弹幕助手","desc":"自动化弹幕助手教程"},"useCases":{"title":"更多使用场景","desc":"查看所有 API 应用"}}},"game":{"seo":{"title":"如何开发 TikTok LIVE 互动游戏 - Unity、C++ 和网页","description":"分步教你开发由观众控制的 TikTok LIVE 互动游戏。观众通过送礼和弹幕指令控制你的游戏。支持 Unity、C++ 和网页。免费 SDK。","ogTitle":"开发 TikTok LIVE 互动游戏 - Unity、C++ 和网页","ogDescription":"让观众通过 TikTok LIVE 事件控制你的游戏。礼物触发特效、弹幕指令、点赞刷屏。附 UE5、Unity 和 JavaScript 完整代码。"},"og":{"title":"开发 TikTok LIVE 游戏","subtitle":"让观众用礼物和弹幕控制你的游戏。"},"jsonLd":{"howTo":{"name":"开发 TikTok LIVE 互动游戏","description":"为 TikTok LIVE 直播打造由观众控制的游戏。观众通过礼物、弹幕指令和点赞控制玩法。支持 Unity、C++ 和网页。","steps":{"engine":{"name":"选择引擎","text":"选择你的游戏引擎：Unity（C# WebSocket）、C++ 或网页（JavaScript SDK）。"},"connect":{"name":"连接 TikTool API","text":"安装 SDK 或通过原生 WebSocket 连接，实时接收 TikTok LIVE 直播的事件数据。"},"map":{"name":"把事件映射为游戏动作","text":"把礼物、弹幕、点赞和关注事件绑定到游戏内效果，比如生成道具、控制角色或调整难度。"},"stream":{"name":"推流到 TikTok","text":"用 TikTok Live Studio 或 OBS 直播你的游戏，观众实时参与互动。"}}},"faq":{"official":{"q":"做 LIVE 游戏需要 TikTok 官方 API 吗？","a":"不需要。TikTok 没有提供直播事件的公开 API。TikTool 提供托管 API，通过 WebSocket 推送，适用于任何游戏引擎，包括 Unity、Godot、C++ 和网页浏览器。"},"engines":{"q":"哪些游戏引擎可以做 TikTok LIVE 互动游戏？","a":"任何支持 WebSocket 连接的引擎都可以：Unity（C# WebSocket）、C++、Godot、GameMaker、网页浏览器以及自研引擎。"}}},"hero":{"badge":"游戏开发指南","title":"开发 TikTok LIVE","highlight":"互动游戏","subtitle":"让观众用弹幕指令、礼物和点赞控制你的游戏。支持 Unity、C++、网页浏览器以及任何支持 WebSocket 的引擎。"},"what":{"title":"什么是 TikTok LIVE 游戏？","body":"TikTok LIVE 互动游戏是由观众控制的体验，观众的操作会直接影响游戏进程。当观众发弹幕、送礼物、点赞或关注主播时，这些事件会触发游戏内的反应：生成敌人、改变环境或控制角色。","examplesIntro":"热门玩法包括：","battles":{"label":"弹幕控制对战","text":"{label} - 观众输入指令加入队伍并开战"},"gifts":{"label":"礼物触发特效","text":"{label} - 送一朵玫瑰生成一个道具，送一个宇宙触发 Boss 战"},"likes":{"label":"点赞刷屏","text":"{label} - 点赞影响重力、速度或难度"},"follows":{"label":"关注提醒","text":"{label} - 新粉丝会生成友方 NPC"}},"how":{"title":"工作原理","body":"你的游戏通过 WebSocket 连接 TikTools API，实时接收 TikTok LIVE 直播的事件。每个事件都包含观众的用户名、执行的操作以及相关数据（礼物价值、弹幕内容等）。"},"option1":{"title":"方案 1：网页游戏（JavaScript）","body":"最简单的方式，直接从浏览器或 Node.js 后端连接："},"option2":{"title":"方案 2：Unity（C#）","body":"在 Unity 中直接使用原生 WebSocket 连接，无需额外插件："},"tips":{"title":"游戏设计技巧","names":{"label":"显示观众名字","text":"{label} - 在游戏里显示送礼用户或发弹幕观众的用户名，让观众感觉被看见"},"scale":{"label":"随观众人数调整","text":"{label} - 用 {event} 事件动态调整难度"},"tiers":{"label":"礼物分级","text":"{label} - 把 TikTok 礼物价值（1{diamond} = 小，10{diamond} = 中，100{diamond}+ = 史诗）映射到游戏内效果"},"cooldowns":{"label":"冷却时间","text":"{label} - 给弹幕指令加上每用户冷却，防止刷屏"},"feedback":{"label":"视觉反馈","text":"{label} - 观众每次互动都要展示发生了什么，让观众保持参与"}},"faq":{"title":"常见问题","official":{"q":"做 LIVE 游戏需要 TikTok 官方 API 吗？","a":"不需要。TikTok 没有提供直播事件的公开 API。TikTool 提供第三方托管 API，通过 WebSocket 推送，适用于任何游戏引擎。7 天 Sandbox 评估就足够你做出游戏原型。"},"events":{"q":"游戏里可以用哪些事件？","a":"所有事件：{chat}、{gift}、{like}、{follow}、{share}、{member}（进场）、{viewerCount}。完整文档见{link}。","link":"事件参考"},"engines":{"q":"可以用在 Godot、GameMaker 或其他引擎上吗？","a":"可以。任何支持 WebSocket 连接的引擎都能使用 TikTool API。连接 {url} 并解析 JSON 消息即可，无需 SDK。"}},"next":{"overlay":{"title":"开发叠加层","desc":"OBS 直播叠加层教程"},"events":{"title":"事件参考","desc":"所有事件类型的文档"}}},"tts":{"seo":{"title":"如何在 TikTok LIVE 上使用文字转语音（TTS）- 免费 TTS 助手指南","description":"如何在 TikTok LIVE 上添加文字转语音。打造一个免费 TTS 助手，用 AI 语音朗读弹幕：ElevenLabs、OpenAI 或免费的浏览器 TTS。Node.js 和 Python 分步指南。","ogTitle":"如何在 TikTok 直播中使用文字转语音 - TTS 助手指南","ogDescription":"打造 TikTok LIVE TTS 助手，用 AI 语音朗读弹幕。支持任意 TTS 引擎。面向开发者的 7 天评估 Key。"},"og":{"title":"TikTok LIVE 文字转语音","subtitle":"把弹幕和礼物变成实时语音。"},"jsonLd":{"name":"如何在 TikTok 直播中使用文字转语音","description":"使用 TikTool API 和任意 TTS 引擎，打造一个朗读 TikTok 直播弹幕的 TTS 助手。","steps":{"connect":{"name":"连接直播","text":"安装 TikTool SDK，用你的 API Key 连接 TikTok LIVE 直播。"},"listen":{"name":"监听弹幕","text":"用 {code} 实时接收每一条弹幕。"},"send":{"name":"发送到 TTS 引擎","text":"把弹幕文本传给你喜欢的 TTS 引擎（Web Speech API、ElevenLabs、Google TTS）。"}},"toolEngine":"任意 TTS 引擎（Web Speech API、ElevenLabs、Google Cloud TTS）"},"hero":{"badge":"TTS 助手指南","title":"文字转语音","highlight":"TTS","line2":"用在 TikTok LIVE 上","subtitle":"打造一个用 AI 语音朗读 TikTok 直播弹幕的 TTS 助手。支持任意 TTS 引擎：ElevenLabs、Google Cloud、OpenAI，或免费的浏览器 Web Speech API。"},"intro":{"heading":"如何在 TikTok 直播中使用{accent}","headingAccent":"文字转语音","sub":"TikTok 直播中的 TTS（文字转语音）会用 AI 语音朗读弹幕。了解 TTS 的原理、如何开启，以及如何用 TikTool API 打造 TTS 助手。"},"what":{"title":"什么是 TikTok LIVE TTS？","body":"TikTok 直播中的文字转语音（TTS）会在直播过程中把{strong}。观众发送消息后，TTS 会把它朗读出来，让主播和观众都能听到。它尤其适用于：","strong":"弹幕转换成语音","items":{"streamers":"没法一直盯着弹幕的主播","accessibility":"为视障用户提供无障碍支持","entertainment":"互动娱乐体验","assistants":"直播中的 AI 语音助手"}},"howGet":{"title":"如何在 TikTok 直播中开启文字转语音","body":"TikTok 自带的 TTS 功能有限，只对特定的打赏/礼物消息生效。想要{strong}，开发者会用 TikTool 的 API 实时抓取弹幕，再传给 TTS 引擎：","strong":"对所有弹幕都启用 TTS"},"step1":{"title":"第 1 步：连接直播"},"step2":{"title":"第 2 步：监听弹幕"},"step3":{"title":"第 3 步：接入 TTS 引擎","body":"任选一个 TTS 引擎：浏览器 Web Speech API、Google Cloud TTS、Amazon Polly、ElevenLabs 或 OpenAI TTS："},"useCasesTitle":"TikTok 直播 TTS 使用场景","useCases":{"chat":{"title":"弹幕 TTS 助手","desc":"朗读每一条弹幕。观众能听到 AI 念出自己的消息，带动互动和打赏。"},"gifts":{"title":"礼物答谢助手","desc":"自动感谢送礼的观众。为玫瑰、狮子和宇宙等礼物定制语音答谢。"},"games":{"title":"游戏指令","desc":"语音控制的互动游戏。弹幕变成语音指令，控制直播中的游戏玩法。"},"multiLang":{"title":"多语言 TTS","desc":"识别消息语言并使用对应的语音。用自动翻译的 TTS 面向全球观众直播。"}},"compare":{"title":"TikTok LIVE TTS 与自带 TTS 对比","feature":"功能","ours":"TikTool + 自定义 TTS","builtIn":"TikTok 自带 TTS","yes":"支持","no":"不支持","allChat":"所有弹幕","giftsOnly":"仅限礼物","customVoices":"自定义语音","anyEngine":"任意引擎","fixedVoices":"固定语音","aiVoices":"AI 语音（ElevenLabs、OpenAI）","multiLang":"多语言","languages":"50+ 种语言","limited":"有限","filtering":"过滤/审核","customRules":"自定义规则","overlay":"直播叠加层","obs":"兼容 OBS"},"python":{"title":"用 Python 开发 TikTok 直播 TTS 助手","body":"用 {pkg} 和 {engine} 在 Python 中打造 TTS 助手："},"faq":{"title":"常见问题","howTo":{"q":"如何在 TikTok 直播中实现文字转语音？","a":"用 TikTool 的 WebSocket API 实时抓取弹幕，再传给任意 TTS 引擎（Web Speech API、Google Cloud TTS、ElevenLabs、OpenAI TTS）。API 会以 JSON 格式推送每一条弹幕，你只需要把文本发给你选的 TTS 引擎。"},"howGet":{"q":"如何在 TikTok 直播中开启文字转语音？","a":"用 {command} 安装 TikTool SDK，用你的 API Key 连接直播，然后监听弹幕事件。每个弹幕事件都包含消息文本和用户信息。把文本发给任意 TTS 引擎，就能听到朗读效果。"},"builtIn":{"q":"TikTok 直播有自带的 TTS 吗？","a":"TikTok 自带的 TTS 功能有限，只会朗读部分礼物/打赏消息。想对所有弹幕启用 TTS，需要外部方案，比如把 TikTool 的 API 接到 TTS 引擎上。"},"python":{"q":"可以用 Python 开发 TikTok 直播 TTS 助手吗？","a":"可以。使用 tiktok-live-api Python 包，或通过 websockets 直接连接 wss://api.tik.tools。再配合 pyttsx3（离线）或 gTTS（Google）输出语音。参见上面的 Python 示例。"},"bestEngine":{"q":"TikTok 直播用哪个 TTS 引擎最好？","a":"免费/基础使用：浏览器 Web Speech API 或 pyttsx3（Python）。高品质 AI 语音：ElevenLabs、OpenAI TTS 或 Google Cloud TTS。它们在价格、音质和延迟上各有取舍。"},"free":{"q":"如何免费在 TikTok 直播中使用 TTS？","a":"TikTool 提供 7 天 Sandbox 评估（每天 5,000 次请求，3 个并发 WebSocket 连接）。配合浏览器免费的 Web Speech API 或 Python 的 pyttsx3，你可以零成本开发并评估 TikTok 直播 TTS 助手，之后再升级到付费套餐。"}},"cta":{"title":"打造你的 TikTok LIVE TTS 助手","desc":"Sandbox 套餐：每天 5,000 次请求，3 个并发 WebSocket 连接。几分钟就能开始开发。","primary":"获取 7 天评估 Key","secondary":"快速入门指南"}}},"guidesData":{"common":{"badge":"开发者指南","ogBadge":"指南","breadcrumbHome":"首页","breadcrumbGuides":"指南"},"leaderboardApi":{"seo":{"title":"TikTok LIVE 排行榜 API 指南 {'|'} TikTools","description":"TikTools 排行榜与联赛排名 API 完整开发者指南。获取各地区直播日榜，查询全部 {count} 个联赛级别（{range}），监控 {regions} 个地区正在直播的主播。提供 Node.js、Python、Go、PHP 和 cURL 代码示例。","ogTitle":"TikTok LIVE 排行榜与联赛 API 指南 {'|'} TikTools","ogDescription":"覆盖 {regions} 个地区的 TikTok LIVE 实时榜单数据。查询全部 {count} 个级别（{range}）的联赛排名，识别正在直播的主播，打造主播监控工具。所有付费套餐可用，附完整代码示例。","ogImageTitle":"TikTok LIVE 排行榜 API","ogImageSubtitle":"头部主播和送礼用户，实时数据直接拿。","breadcrumbName":"排行榜与联赛 API"},"hero":{"title":"排行榜与","titleHighlight":"联赛 API","subtitle":"TikTok LIVE 实时榜单数据。获取 {count} 个地区的日榜，查询实时联赛级别数据，追踪主播表现。"},"badges":{"allPaidPlansCaps":"所有付费套餐","ultraOnlyLeaguesCaps":"仅限 ULTRA - 联赛","allPaidPlans":"所有付费套餐","ultraOnly":"仅限 Ultra","ultraDeveloperOnly":"仅限 Ultra 开发者套餐"},"headings":{"pathParameters":"路径参数","responseSchema":"响应结构","exampleResponse":"响应示例","codeExamples":"代码示例"},"table":{"parameter":"参数","type":"类型","description":"说明","field":"字段","slug":"Slug","regionCode":"地区代码","class":"级别"},"overview":{"heading":"概览","intro":"TikTool 通过网站 API（{host}）提供两类榜单数据。两个接口都返回 TikTok LIVE 主播的实时竞争排名，按钻石收入排序。","regional":{"title":"地区排行榜","body":"按地区划分，按当日钻石总收入排出前 100 名主播的日榜。全天持续更新。Basic、Pro 和 Ultra 订阅用户可用。","items":{"top100":"每个地区前 100 名主播","fields":"排名、分数（钻石）、直播状态、直播间 ID","regions":"全球 {count} 个地区","refresh":"数据持续刷新"}},"league":{"title":"联赛排名","body":"参加 TikTok LIVE 联赛的主播按级别划分的竞争排名数据（{range}）。任意地区每个级别都有谁，一目了然。需要 {plan}。Agency PASS（{vipPath}）是网站订阅，只能在网站前端查看联赛数据，不提供 API 程序化访问。","plan":"Ultra 开发者套餐","items":{"divisions":"{count} 个联赛级别：{list}","entries":"按级别排名的条目，附直播状态","teaser":"低档套餐可预览（5 条）","refresh":"数据频繁刷新"}}},"auth":{"label":"身份验证：","body":"{label} 这些接口位于 {host}（不是 {apiHost}），使用基于会话的认证。请在你的服务器端调用，并带上有效的会话 Cookie（用付费开发者账号登录 tik.tools 后获取）。所有付费开发者套餐（Basic、Pro、Ultra）都能访问地区排行榜接口。{leagueRule} Agency PASS 订阅（{vipPath}）是单独的网站产品，只能通过 tik.tools 网站界面查看联赛数据，不能通过这个开发者 API 获取。","leagueRule":"联赛接口需要 Ultra 开发者套餐。"},"regions":{"heading":"地区对照表","intro":"共有 {count} 个地区排行榜。国家排行榜接口 URL 中使用 {slug}，联赛接口中使用 {code}。"},"country":{"heading":"接口：地区排行榜","intro":"返回某个地区当日的前 100 名榜单。条目按 {field}（今日钻石总收入）降序排列。","params":{"slug":"上方地区对照表中的地区 slug（例如 {first}、{second}）"},"fields":{"rank":"榜单名次（1 = 收入最高）","uniqueId":"TikTok 用户名（不含 {'@'}）","nickname":"TikTok 上显示的昵称","score":"今日在该地区获得的钻石总数","isLive":"主播当前是否正在直播","roomId":"正在直播时为直播间 ID，否则为 null"}},"leagues":{"heading":"联赛接口","warning":{"label":"需要 Ultra。","plan":"Ultra 开发者套餐","body":"{label} 联赛接口需要 {plan}。Basic 和 Pro 套餐的请求只返回 5 条预览，响应中 {fullAccessField} 字段为 {falseValue}，{maskedField} 表示被隐藏的条目数量。注意：Agency PASS 订阅（{vipPath}）提供网站端的联赛数据访问，但不是开发者 API 订阅。"},"list":{"heading":"4a. 列出某地区的联赛","intro":"列出指定地区可用的联赛级别，包括每个级别的主播数量和数据最后更新时间。","params":{"region":"上方地区对照表中的地区代码（例如 {first}、{second}、{third}）"},"fields":{"classType":"数字级别标识（见下方 {field} 对照表）","classLabel":"可读的级别名称（例如 \"A1\"、\"B5\"）","count":"当前处于该级别的主播数量","updatedAt":"最近一次数据刷新的 ISO 8601 时间戳"}},"entries":{"heading":"4b. 获取联赛条目","intro":"返回某地区指定联赛级别的主播排名列表。这是构建联赛相关工具和主播监控看板的核心接口。","params":{"region":"地区代码（例如 {first}、{second}）","classType":"数字级别标识（2000=A1，1900=A2，1100=B5，以此类推）"},"fields":{"hasFullAccess":"你的套餐有完整访问权限时为 true；false = 预览模式（5 条）","maskedCount":"因套餐限制被隐藏的条目数（{field} 时为 0）","totalCount":"该级别的主播总数","rank":"在该级别中的名次","userId":"TikTok 数字用户 ID（稳定的后端 ID，永不改变）","uniqueId":"TikTok 用户名/账号，不含 {'@'}（用户可修改）","nickname":"昵称（用户可修改）","score":"当前联赛周期内获得的钻石"}}},"classRef":{"heading":"{field} 对照表","intro":"联赛级别把数字 {field} 值映射到不同的竞争级别。A1 是最高级别，聚集了钻石收入最高的精英主播。{bottom} 是进入联赛竞争的起点。","note":"并非每个地区都有全部 {count} 个级别。先调用 {endpoint} 接口，查清目标地区有哪些级别，再获取你需要的具体级别。","noteEndpoint":"列出联赛","classes":{"A1":"精英级别。地区内收入最高的主播。竞争最激烈，上榜所需钻石门槛也最高。","A2":"资深级别。收入已经很高、正冲击 A1 的成熟主播。","A3":"稳定的 A 级。持续高收入，稳守精英区间的主播。","B1":"B 区间顶端。再升一级就进入 A 级的主播。","B2":"B 级上段。收入强劲，正在争夺 B1。","B3":"B 级中段。处于 B 区间中部、收入稳定的主播。","B4":"B 级下段。正向 B 级上段冲刺的主播。","B5":"B 级入门。整个联赛周期内收入强劲且稳定的主播。","C1":"C 区间顶端。正向 B 级冲刺的活跃主播。","C2":"C 级上段。收入中等，正在争取升入 C1。","C3":"C 级中段。处于 C 区间中部、收入规律的主播。","C4":"C 级下段。正向 C 级上段攀升的主播。","C5":"C 级入门。刚从 D 区间升上来。","D1":"D 区间顶端。开始在该地区获得可观收入的主播。","D2":"D 级上段。新晋或收入量较低的主播。","D3":"D 级中段。正在适应联赛竞争的主播。","D4":"D 级下段。联赛早期阶段的主播。","D5":"入门级别。符合联赛资格的主播的起点。"}},"example":{"heading":"实战示例：找出巴尔干地区所有正在直播的 A1 主播","intro":"这个完整的多步骤示例演示了推荐流程：先查询可用级别，找到目标级别，获取其条目，再筛选出正在直播的主播。适用于任意地区和级别组合。","steps":{"fetchLeagues":"获取 BK（巴尔干）地区的可用联赛","findClass":"找到 A1 条目并确认它存在","fetchEntries":"获取 A1 联赛条目","filterLive":"筛选 {condition} 的主播"}},"tips":{"heading":"速率限制与最佳实践","cache":{"title":"在客户端缓存响应","body":"榜单名次是逐渐变化的。重新请求前先缓存 10-30 秒，避免对 API 进行不必要的频繁请求。"},"leagueRefresh":{"title":"联赛数据按固定周期刷新","body":"联赛榜单变化缓慢，因此以快于每几分钟一次的频率轮询联赛接口没有任何好处。"},"parallel":{"title":"各地区独立轮询","body":"全部 {count} 个地区都可以并行轮询。需要多地区数据时，请并发发出请求，而不是逐个串行请求。"},"connect":{"title":"用 {live} + {room} 建立连接","body":"当榜单条目的 {live} 为 true 时，你可以立即用该主播的 {uniqueId} 和你的 API Key 打开 WebSocket 连接。"},"cookies":{"title":"安全保存会话 Cookie","body":"会话 Cookie 可以访问你的账号。请把它存放在环境变量中，绝不要写进源代码或公开仓库。"},"listFirst":{"title":"先列出联赛，再获取条目","body":"并非每个地区都有所有级别。请始终先调用列表接口，确认目标地区有哪些可用的 {field} 值。"}},"faq":{"heading":"常见问题","plans":{"q":"哪些套餐包含排行榜 API 访问权限？","a":"所有付费套餐（Basic、Pro 和 Ultra）都包含地区排行榜接口的访问权限。Sandbox Key（7 天评估版）不包含排行榜访问。"},"league":{"q":"访问联赛排名数据需要什么条件？","a":"联赛接口需要 Ultra 开发者套餐。Agency PASS 订阅（{vipPath}）是网站产品，只能通过 tik.tools 界面查看联赛数据，不能通过这个开发者 API 获取。Basic 和 Pro 开发者订阅用户每个联赛级别可预览 5 条，但看不到完整列表。"},"refresh":{"q":"排行榜数据多久更新一次？","a":"地区排行榜数据随着主播获得钻石全天持续刷新。联赛级别数据频繁更新。请把响应至少缓存 10 秒，避免重复请求。"},"regions":{"q":"支持多少个地区？","a":"TikTool 提供全球 {count} 个地区的排行榜数据，包括北美、英国、巴尔干、东南亚、拉丁美洲等。每个地区都有独立的排行榜和联赛竞争。"},"live":{"q":"能从排行榜判断主播当前是否在直播吗？","a":"可以。每个排行榜条目和联赛条目都包含布尔字段 {field}。为 true 时表示主播正在直播。你可以立即用其 {uniqueId} 通过 TikTool WebSocket API（{wsUrl}）连接到该直播。"},"missingClasses":{"q":"我的地区没有出现所有 {field} 值，为什么？","a":"并非每个地区都有所有联赛级别，这取决于当地参与竞争的主播数量。获取条目前，请先调用列出联赛接口，查看目标地区有哪些活跃的 {field} 值。"},"pollAll":{"q":"可以同时轮询全部 {count} 个地区吗？","a":"可以。各地区完全独立，可以并行轮询。需要多地区快照时，并发发出全部 {count} 个请求再汇总结果即可。这样做时请留意你套餐的速率限制。"}},"jsonLd":{"refreshA":"地区排行榜数据全天持续刷新。联赛级别数据频繁更新。主播一旦在某地区开始获得钻石，就会立即出现在排行榜上。","regionsA":"TikTool 提供全球 {count} 个地区的排行榜数据，包括北美、英国、巴尔干、东南亚、拉丁美洲等。每个地区都有独立的排行榜。","liveQ":"能通过排行榜 API 判断主播当前是否在直播吗？","liveA":"可以。每个排行榜条目和联赛条目都包含布尔字段 {field}。为 true 时，你可以立即用该主播的 {uniqueId} 通过 TikTool WebSocket API 连接到其直播。","classTypeQ":"{field} 的编号规则是什么？","classTypeA":"{field} 是 {count} 个联赛级别各自的数字标识：{list}。数字越大，对应的级别越高，竞争也越激烈。"},"next":{"prevTitle":"WebSocket API","prevDesc":"实时连接直播间","nextTitle":"事件参考","nextDesc":"全部事件类型和数据字段"}},"analytics":{"seo":{"title":"TikTok LIVE 数据分析 API - 实时追踪观众、礼物和互动","description":"实时追踪任意 TikTok 直播间的观众数、礼物收入、弹幕量和互动数据。用 TikTok LIVE API 搭建数据分析看板，支持 Node.js、Python 及任意语言。","ogTitle":"TikTok LIVE 数据分析 API - 追踪观众、礼物和互动","ogDescription":"TikTok LIVE 实时数据分析：观众数、礼物收入、弹幕量、互动率。用 TikTok LIVE API 搭建看板。","ogImageTitle":"TikTok LIVE 数据分析 API","ogImageSubtitle":"实时追踪观众、礼物和互动。"},"hero":{"title":"TikTok LIVE","titleHighlight":"数据分析 API","subtitle":"实时追踪任意 TikTok 直播间的观众数、礼物收入、弹幕量和互动指标。搭建看板、告警系统和数据分析工具。"},"available":{"heading":"能拿到哪些分析数据？","intro":"TikTok 没有为直播提供公开的数据分析 API。TikTools API 填补了这个空白，通过 WebSocket 实时推送每一个直播事件。你可以基于这些原始事件计算任意指标：","items":{"viewers":{"label":"观众数","desc":"实时观众数，每几秒更新一次"},"revenue":{"label":"礼物收入","desc":"每个礼物事件都包含钻石价值（1 钻石 ≈ $0.005）"},"chat":{"label":"弹幕量","desc":"每分钟弹幕数、发言人数、关键词频率"},"engagement":{"label":"互动率","desc":"单位时间内的点赞、分享、关注"},"peak":{"label":"观众峰值","desc":"追踪整场直播的最高观众数"},"leaderboard":{"label":"礼物排行榜","desc":"按钻石总消费排名的头部支持者"}}},"quickStart":{"heading":"快速上手：实时看板数据","intro":"这个示例实时收集所有分析数据。可以接入任意前端框架，也可以存入数据库："},"output":{"heading":"预期输出"},"database":{"heading":"存入数据库","intro":"把事件存进 PostgreSQL、MongoDB 或任意数据库，用于历史分析："},"raw":{"heading":"原生 WebSocket（任意语言）","intro":"用 Python、Go、Rust 或任何支持 WebSocket 的语言搭建数据分析："},"faq":{"heading":"常见问题","official":{"q":"TikTok 有官方的直播数据分析 API 吗？","a":"没有。TikTok 通过 LIVE Center 为主播提供应用内数据分析，但没有可以程序化访问这些数据的公开 API。TikTools API 实时推送原始事件，你可以用它搭建自己的数据分析。"},"multiple":{"q":"可以同时追踪多个直播间吗？","a":"可以。创建多个 {client} 客户端，每个直播间一个。Pro 套餐最多支持 50 个并发 WebSocket 连接。"},"accuracy":{"q":"观众数准确吗？","a":"观众数直接来自 TikTok 内部数据，每几秒更新一次，与 TikTok App 中显示的数字一致。"}},"jsonLd":{"howToName":"如何搭建 TikTok LIVE 数据分析","howToDescription":"使用 TikTools API 实时追踪任意 TikTok 直播间的观众数、礼物收入、弹幕量和互动数据。","steps":{"install":{"name":"安装 SDK","text":"运行 {command} 安装 TikTools SDK。"},"listen":{"name":"设置事件监听","text":"监听 viewer_count、chat、gift、like、follow 和 share 事件来收集分析数据。"},"compute":{"name":"计算指标","text":"追踪观众峰值、每分钟弹幕数、钻石礼物收入、发言人数和互动率。"},"store":{"name":"存储与展示","text":"把事件存入数据库，或在实时看板中展示。"}},"officialA":"没有。TikTok 通过 LIVE Center 为主播提供应用内数据分析，但没有可以程序化访问这些数据的公开 API。TikTools API 实时推送原始事件，方便你搭建自定义数据分析。","multipleQ":"可以同时追踪多个 TikTok 直播间吗？"},"next":{"prevTitle":"事件参考","prevDesc":"全部事件类型文档","nextTitle":"Node.js 指南","nextDesc":"完整的 JavaScript/TypeScript 指南"}}},"guidesSdk":{"livePreview":{"defaultTitle":"实时预览","running":"运行中","iframeTitle":"实时代码预览","placeholder":"滚动到此处后加载预览。"},"migrateShared":{"getFreeKey":"获取 7 天评估 Key","livePreviewBadge":"实时预览","copyThisCode":"复制这段代码","colTier":"套餐","responseShapeBadge":"响应结构","responseShapeTitle":"JSON 完全一致，外加迁移提示"},"migrateEuler":{"seo":{"title":"从 Euler Stream 迁移到 Tik.Tools","description":"从 Euler Stream 迁移到 Tik.Tools：切换到适用于 Node 或 Python 的 Tik.Tools SDK，保留现有事件处理函数。包含 REST 端点列表、sign_url 响应格式以及用于测试的 7 天评估 Key。","ogTitle":"从 Euler Stream 迁移到 Tik.Tools","ogDescription":"切换到适用于 Node 或 Python 的 Tik.Tools SDK，保留现有事件处理函数。7 天评估 Key 足以完成迁移测试。","ogImageTitle":"从 Euler Stream 迁移","ogImageSubtitle":"更换 SDK，保留事件处理函数。","ogImageBadge":"迁移"},"hero":{"badge":"迁移指南","title":"从 {legacy} 迁移到 {brand}","sub":"TikTokLive (Python) 和 tiktok-live-connector (Node) 无法把 api.tik.tools 用作签名服务器：它们调用的路由并不由其提供。请改用 Tik.Tools SDK：修改 import 和构造函数，保留事件处理函数。","copyCta":"复制迁移代码"},"live":{"title":"在这里查看运行效果","desc":"下方 iframe 在 api.tik.tools 上运行该代码片段的 HTML 版本：先生成短期令牌，再打开 WebSocket。复制粘贴即可得到相同的输出。","note":"任选一种语言（Node / Python / HTML / LLM 提示词）"},"steps":{"badge":"分步说明","title":"两个步骤","one":{"title":"切换到 Tik.Tools SDK","body":"把现有 SDK 从 {oldHost} 改指向 {newHost} 行不通，因为这些 SDK 调用的路由 Tik.Tools API 并不提供。请安装适用于 Node 或 Python 的 Tik.Tools SDK，修改 import 和构造函数，保留事件处理函数。带事件名称对照表的并排对比见 {guideLink}。所有 {tiersLink} 都可配合这些 SDK 使用；请使用你的 7 天评估 Key 运行示例。","tiersLink":"tik.tools API 套餐","guideLink":"从 TikTok-Live-Connector 或 TikTokLive 迁移","copyCta":"复制完整 Node + Python 代码"},"two":{"title":"准备好后，换成正式 API Key","body":"把 {demoKey} 换成你自己的 Key（7 天评估或付费套餐）。{link}。","link":"获取 Tik.Tools 评估 Key"}},"endpoints":{"badge":"REST 端点","title":"完成相同任务的 Tik.Tools REST 端点","desc":"如果你直接调用 REST API，以下是 Tik.Tools 的路径。它们并非逐一照搬 Euler Stream API 的路径，请对照文档检查每个调用。","colTikTools":"Tik.Tools 端点","tierDemo":"演示","bonusRow":"{label} 公开实时动态、排行榜","bonusLabel":"另外提供：","note":"{lead} sign_url 返回 {shape}。","noteLead":"响应格式："},"pricing":{"title":"7 天评估足够完成迁移测试","body":"Sandbox 是 7 天评估，无需信用卡。正式上线时选择速率限制更高的付费套餐。","seePricing":"查看价格"},"responseShapeTitle":"sign_url 请求与响应"},"migrateTikapi":{"seo":{"title":"从 TikAPI 迁移到 Tik.Tools - 30 秒无缝替换","description":"从 TikAPI 无缝迁移到 Tik.Tools。同样的接口，同样的响应结构，还额外提供 TikTok 直播的实时 WebSocket 事件。","ogTitle":"从 TikAPI 迁移到 Tik.Tools","ogDescription":"换掉 base URL，代码不用改。7 天评估 Key 足够完成迁移和测试。","ogImageTitle":"从 TikAPI 迁移","ogImageSubtitle":"30 秒无缝替换。","ogImageBadge":"迁移"},"hero":{"badge":"一行代码完成迁移","title":"30 秒从 {legacy} 迁移到 {brand}","sub":"接口相同，响应结构相同，还多了实时 WebSocket 事件。换掉 base URL，代码照用。","copyCta":"复制实时事件代码"},"live":{"title":"和 TikAPI 一样的结构，由 api.tik.tools 提供","desc":"下方 iframe 就是原样的 HTML 示例文件：它从 {endpoint} 拉取正在直播的频道，并通过 WebSocket 推送事件。复制下来，保存为 {ext}，双击打开，输出完全一样。","note":"Node / Python / HTML / LLM 提示词"},"steps":{"one":{"title":"只改一行","body":"把现有的 TikAPI base URL 指向 {host}，路径保持不变。"},"two":{"title":"使用你的 Tik.Tools API Key","body":"在 {link} 获取 7 天评估 Key。可以作为 {query} 传入，也可以放在 {header} 请求头里，两种都行。"},"three":{"title":"就这么简单","body":"现有的处理函数照常工作。每个迁移响应都带有 {hint} 提示，指向对应的原生接口。想要更快、更丰富的数据时，再切换过去就行。"}},"endpoints":{"badge":"接口对照","title":"TikAPI 的每个直播数据调用都能在 Tik.Tools 上运行","desc":"短视频、个人资料元数据和搜索只有 TikAPI 提供，我们专注 TikTok LIVE。下面列出的全部可以无缝替换。","colTikapi":"TikAPI 接口","colCompat":"Tik.Tools（兼容）","colNative":"原生对应接口","tierFree":"Sandbox","tierFreeConn":"Sandbox（3 个连接）","returnsEmptyLiveStatus":"返回空结果 + 直播状态","returnsUserLiveStatus":"返回用户 + 直播状态","returnsEmptyNote":"返回空结果 + 说明","bonusWs":"{label} 实时 WS 事件：弹幕 / 礼物 / 点赞 / 进场 / PK","bonusWsLabel":"额外福利（TikAPI 没有）：","bonusBoards":"{label} 主播 + 送礼用户排行榜（{count} 个地区）","bonusBoardsLabel":"额外福利：","note":"{lead} {endpoints} 都返回 HTTP 200，附带空数组和一条 {hint} 说明。用户类接口还会包含 {liveStatus}，你的迁移脚本可以照常运行。真正的短视频数据继续用 TikAPI，直播相关的一切交给我们。","noteLead":"短视频接口不会让你的代码崩溃："},"response":{"desc":"每个兼容响应都带有 {hint} 信封，准备切换时，你能清楚知道该调用哪个原生接口。"},"pricing":{"title":"7 天评估足够完成迁移和测试","body":"每天 5,000 次 REST 请求，3 个并发 WebSocket 连接，每天 50 次会话。7 天，无需信用卡。正式上线时选择付费套餐。","readDocs":"阅读完整文档"}},"python":{"seo":{"title":"TikTok LIVE API Python 指南 - 连接任意直播间","description":"用 Python 和 TikTools API 连接 TikTok 直播。通过 WebSocket 实时获取弹幕、礼物和观众人数。TikTokLive 库的生产级替代方案，7 天评估 Key，全托管。","ogTitle":"TikTok LIVE API Python 指南 - 连接任意直播间","ogDescription":"TikTok 直播数据的完整 Python 指南。WebSocket + REST 示例，可直接用于生产。7 天评估 Key，全托管服务。","ogImageTitle":"TikTok LIVE API Python 版","ogImageSubtitle":"用 Python 连接任意直播间。","ogImageBadge":"指南"},"jsonLd":{"howTo":{"name":"如何用 Python 连接 TikTok 直播","description":"使用 TikTools WebSocket API，从 Python 连接任意 TikTok 直播间，实时接收弹幕、礼物和观众人数。","step1":{"name":"安装 websockets","text":"运行 pip install websockets 安装 Python websockets 库。"},"step2":{"name":"连接 WebSocket","text":"带上 uniqueId 和 apiKey 参数连接 wss://api.tik.tools。"},"step3":{"name":"处理事件","text":"解析 chat、gift、member 和 roomUserSeq 类型的 JSON 事件。"}},"article":{"description":"连接 TikTok 直播的完整 Python 指南。包含 WebSocket 和 REST API 示例。TikTokLive 库的生产级替代方案。"}},"hero":{"badge":"教程","titleHighlight":"Python 指南","subtitle":"使用 TikTools WebSocket API，从 Python 连接任意 TikTok 直播间。实时接收弹幕、礼物、观众人数等数据，可直接用于生产，全托管。"},"why":{"title":"为什么用 TikTools 做 Python 开发？","p1":"采用 MIT 许可的 {lib} Python 客户端直接连接 TikTok 的直播协议，并把签名交给托管后端处理（默认是 Euler Stream，它有自己的免费套餐和付费套餐）。这是由 Euler Stream 团队维护的「客户端自托管 + 签名托管」模式。","p2":"TikTools 是一个独立的 {service}。协议变更在服务端处理，任何语言都能通过标准 WebSocket 接入。无需处理协议，连上就能接收事件。选哪种模式，看你团队的需要。","p2Service":"托管 API 服务"},"comparison":{"hosting":{"label":"托管模式","tiktools":"全托管","other":"客户端自托管 + 签名托管"},"setupLabel":"接入","maintenance":{"label":"维护工作","tiktools":"零维护 - 服务端搞定","other":"客户端和签名后端都要更新"}},"prereq":{"title":"前置条件","python":"已安装 Python 3.8+","key":"一个 TikTools API Key（7 天评估，无需信用卡） - {link}","keyLink":"点这里获取"},"option1":{"title":"方案 1：asyncio + websockets","intro":"最简单的方式：用标准的 {lib} 库连接 TikTools WebSocket API："},"option2":{"title":"方案 2：用 requests 调用 REST API","intro":"一次性获取数据（直播间信息、用户资料）时，用 REST API："},"running":{"title":"运行脚本"},"output":{"title":"预期输出"},"nextSteps":{"title":"下一步","database":{"title":"把事件存进数据库","text":"{title} - 把事件写入 PostgreSQL、MongoDB 或 SQLite"},"dashboard":{"title":"搭建数据看板","text":"{title} - 用 Flask 或 FastAPI 做一个实时网页看板"},"ai":{"title":"AI 分析","text":"{title} - 把弹幕交给 GPT/Claude 做情感分析"},"multiStream":{"title":"多直播间","text":"{title} - 同时监控多个直播间（Pro 套餐：50 个连接）"}},"nextLinks":{"bot":{"title":"Node.js 弹幕助手","sub":"用 SDK 构建弹幕助手"},"docs":{"title":"完整 API 文档","sub":"完整 API 参考"}}},"node":{"seo":{"title":"TikTok LIVE API Node.js 版 - 用 JavaScript 构建助手和应用","description":"用 JavaScript/TypeScript 构建 TikTok 直播助手和应用。npm install {pkg}，3 行代码连上直播间，实时接收弹幕、礼物和观众数据。免费 SDK，开源，MIT 许可。","ogTitle":"TikTok LIVE API Node.js 版 - 用 JavaScript 构建助手和应用","ogDescription":"TikTok LIVE API 完整 Node.js 指南。从 npm 安装，完整 TypeScript 支持，所有事件都有文档。7 天评估 Key，无需信用卡。","ogImageTitle":"TikTok LIVE API Node.js 版","ogImageSubtitle":"用 JavaScript 构建助手和应用。","ogImageBadge":"指南"},"jsonLd":{"howTo":{"name":"如何在 Node.js 中使用 TikTok LIVE API","description":"安装 {pkg} npm 包，连接任意 TikTok 直播间，用 JavaScript 实时接收弹幕、礼物和观众数据。","toolNode":"Node.js（18 或更高版本）","step1":{"name":"安装 SDK","text":"运行 npm install {pkg}，从 npm 安装 TikTools SDK。"},"step2":{"name":"创建客户端","text":"导入 TikTokLive，用主播用户名和你的 API Key 创建客户端。"},"step3":{"name":"监听事件","text":"用 client.on() 监听 chat、gift、follow、like 和 viewer_count 事件。"},"step4":{"name":"连接","text":"调用 await client.connect()，开始接收实时事件。"}},"faq":{"official":{"q":"TikTok 有官方的直播 Node.js API 吗？","a":"没有。TikTok 没有开放直播数据的公开 API。TikTools 是托管的第三方 API，提供免费的 npm SDK（{pkg}），可实时获取弹幕、礼物、观众等直播事件。"},"free":{"q":"TikTok LIVE Node.js SDK 免费吗？","a":"SDK 可免费安装。API 访问从 7 天 Sandbox 评估开始：每天 5,000 次请求和 3 个并发 WebSocket 连接，无需信用卡。7 天后需要付费套餐，{price}/周起（Basic），包含每天 10,000 次请求、20 个并发连接和生产环境使用权限。"},"runtimes":{"q":"SDK 支持 Bun 和 Deno 吗？","a":"支持。{pkg} SDK 兼容 Node.js 18+、Bun 和 Deno。"}}},"hero":{"badge":"开发者指南","titleHighlight":"Node.js 版","subtitle":"用 JavaScript 构建 TikTok 直播助手、叠加层和数据看板。npm install，3 行代码连上直播间，实时接收事件。免费 SDK，开源，MIT 许可。"},"why":{"title":"为什么选 Node.js？","intro":"Node.js 是 TikTok 直播集成最常用的运行时。官方 {pkg} SDK 用 TypeScript 编写，发布在 npm 上，开箱即带完整类型定义。你能得到：","typeSafety":{"title":"类型安全","text":"{title} - 每个事件和方法都有完整的 TypeScript 定义"},"autoReconnect":{"title":"自动重连","text":"{title} - SDK 自动处理连接断开"},"eventDriven":{"title":"事件驱动","text":"{title} - 熟悉的 {code} 写法"},"everywhere":{"title":"到处都能跑","text":"{title} - Node.js 18+、Bun、Deno"}},"install":{"title":"安装 SDK","other":"或者用其他包管理器："},"quickStart":{"title":"快速上手：3 行代码拿到直播数据","create":"新建 {file} 并粘贴：","run":"运行：","result":"几秒内就能在终端里看到弹幕不断涌入。"},"events":{"title":"全部可用事件","intro":"直播间里的每一次互动，SDK 都会推送结构化事件："},"output":{"title":"预期输出"},"typescript":{"title":"TypeScript 支持","intro":"SDK 本身用 TypeScript 编写，类型自动包含，不需要额外装 {types} 包："},"raw":{"title":"原生 WebSocket（不用 SDK）","intro":"想直接用原生 WebSocket？任何语言或框架都可以："},"faq":{"title":"常见问题","official":{"q":"TikTok 有官方的 Node.js API 吗？","a":"没有。TikTok 没有开放直播数据的公开 API。TikTools API 是托管的第三方服务，稳定提供弹幕、礼物、观众等直播事件的实时访问。{pkg} npm 包就是这个 API 的官方 SDK。"},"free":{"q":"免费吗？","a":"SDK 可免费安装。API 访问从 7 天 Sandbox 评估开始：每天 5,000 次请求和 3 个并发 WebSocket 连接，仅供评估使用，无需信用卡。7 天后需要付费套餐。{link}。","link":"点这里注册"},"frameworks":{"q":"能和 Express、Fastify 或 Next.js 一起用吗？","a":"可以。SDK 适用于任何 Node.js 环境，Express 路由处理函数、Fastify 插件、Next.js API 路由或独立脚本里都能用。"},"runtimes":{"q":"支持 Bun 和 Deno 吗？","a":"支持。SDK 兼容 Bun 和 Deno。用 {cmd} 安装，或在 Deno 中从 npm 导入。"}},"nextLinks":{"start":{"title":"快速入门","sub":"完整 API 快速上手"},"bot":{"title":"构建弹幕助手","sub":"助手分步教程"}}}},"leaderboards":{"brightMode":{"toLight":"将亮色区块切换为浅色","toggleDark":"切换深色模式"},"shopping":{"crumbTail":"直播带货","seoBoard":"电商","h1":"TikTok LIVE {region} 直播带货榜","h2":"{region} 带货主播，按周销量排名","intro":"{region} 直播带货榜按每个周期内直播带来的销量，对该地区在 TikTok LIVE 上带货的主播进行排名。它和送礼排行榜是两拨不同的人：一个带货主播可以靠商品销售额上榜，却几乎收不到钻石，所以公会会分开在这两个榜单上挖掘主播。标有 LIVE 的行表示本页生成时正在直播。","pageTitle":"{region} TikTok LIVE 直播带货排行榜","ogSubtitle":"直播带货主播，按销量排名","ogBadge":"电商"},"gaming":{"board":"游戏","h1Game":"TikTok LIVE {region} 游戏榜 - {game}","h1":"TikTok LIVE {region} 游戏排行榜","h2Game":"{game} 主播，按钻石排名","h2":"追踪 {count} 款游戏，按钻石排名","introGame":"{game} 排行榜列出面向 {region} 观众直播 {game} 的 TikTok LIVE 主播，按当前周期内观众送出的钻石排序。各游戏榜单有自己的重置节奏，一场表现亮眼的直播就能让主播在几小时内上升好几名。标有 LIVE 的行表示本页生成时正在直播。","intro":"{region} 游戏排行榜汇总了该地区所有直播受追踪游戏的 TikTok LIVE 主播，按当前周期内收到的钻石排序。其下还有 {count} 个单款游戏榜单，各自有独立的重置周期和竞争者，同一位主播可以同时在两个榜单上占有一席之地。","pageTitle":"{region} TikTok LIVE {board}排行榜","ogSubtitle":"游戏主播，按钻石排名","ogBadge":"游戏"},"league":{"board":"{label} 联赛","h1":"TikTok LIVE {region} {label} 联赛","h2":"{label} 级别积分榜，按钻石排名","intro":"{label} 是在 {region} 赛区内竞争的 {siblings} 个 TikTok LIVE 联赛级别之一。本榜单追踪当前周期被分入该级别的 {total} 位主播、他们的钻石总数以及谁正在直播。每个周期都会重新分级，所以这里的排名取决于收礼量而不是粉丝数，变化速度也远快于粉丝榜。","docTitle":"{region} TikTok LIVE 联赛 {label} 排行榜","pageTitle":"{region} TikTok LIVE {label} 联赛排行榜","ogSubtitle":"按钻石排名的联赛积分榜，实时刷新","ogBadge":"联赛"},"dated":{"loading":"正在加载历史排行榜...","notFound":{"title":"暂无数据","body":"未找到该日期的排行榜快照。","back":"← 返回当前排行榜"},"crumbRankings":"排行榜","heading":"{board} TikTok LIVE 排行榜","historicalBadge":"历史快照","stats":{"totalDiamonds":"钻石总数","totalRevenue":"总流水","estEarnings":"预估收益"},"goToday":"查看今日排行榜","todaysRankings":"今日排名","empty":"该日期没有保存快照。{link}。","emptyLink":"查看今日榜单","cols":{"streamer":"主播","diamonds":"钻石","revenue":"流水","earnings":"收益"},"seo":{"title":"{country} TikTok LIVE 排行榜 - {date}","titleFallback":"TikTok LIVE 历史排行榜","descriptionEmpty":"{date} 没有保存 {country} TikTok LIVE 排行榜快照。","description":"{country} TikTok LIVE 排行榜 {date} 快照：{count} 位主播，预估收益 {earned}。"},"jsonLd":{"home":"首页","rankings":"TikTok LIVE 排行榜","board":"{country} 排行榜"}},"nav":{"creatorsRank":"主播榜","giftersRank":"送礼榜","rising":"飙升","creators":"主播","gifters":"送礼用户","gaming":"游戏"},"rising":{"title":"{accent}情报","titleAccent":"飙升","sub":"新冒头的大哥 + 正在爆发的主播。定期刷新。","tabs":{"gifters":"飙升送礼用户","creators":"飙升主播"},"gate":{"title":"仅限 Agency Global 套餐","body":"飙升情报能挖出大多数平台还没发现的账号。仅向 Agency Global 订阅用户开放。","cta":"升级到 Agency Global"},"featureName":"飙升情报","loading":"正在加载飙升信号...","empty":"这个时间段暂时没有异动。稍后再来看看。","stats":{"last24h":"近 24 小时","vsAvg":"对比均值","ageDays":"{n} 天","age":"账龄","gifters":"送礼用户"},"updated":"更新于 {when}。","seo":{"title":"飙升情报 - tik.tools","description":"TikTok LIVE 上热度飙升的新送礼用户和主播。Agency 套餐专属情报流。"}},"time":{"minAgo":"{n} 分钟前","hoursAgo":"{n} 小时前","shortly":"即将","inHours":"{n} 小时后","inMin":"{n} 分钟后"},"live":"LIVE","teams":{"title":"{accent}与俱乐部","titleAccent":"团队","sub":"按成员钻石总和对各地区的 TikTok 俱乐部排名。其他榜单都在给主播排名，这个榜单排的是主播背后的团队。","loading":"正在加载团队榜...","empty":"该地区的团队榜还没有缓存，正在生成。请几分钟后再来。","count":"{n} 个俱乐部","copyHosts":"复制主播","featureName":"团队 / 俱乐部榜单","level":"Lv {n}","members":"{n} 名成员","host":"主播 {'@'}{handle}","diamonds":"钻石","upsell":{"body":"{more}已隐藏。完整的团队榜，覆盖全部 {regions} 个地区、所有俱乐部和主播不脱敏，是 Agency Global 功能。","more":"还有 {n} 个俱乐部","cta":"查看 Agency 套餐"},"updated":"更新于 {when}","resets":"，榜单将于 {when} 重置","seo":{"title":"TikTok LIVE 团队和俱乐部排行榜 - tik.tools","description":"TikTok 各地区团队和俱乐部排行榜：按成员钻石总和对俱乐部排名，并显示俱乐部等级、成员数和主播。Agency 套餐情报。"}},"team":{"notFound":{"title":"未找到该团队","body":"该主播目前没有带领我们追踪中的 TikTok 俱乐部。","back":"浏览团队榜"},"crumb":"团队与俱乐部","level":"等级 {n}","rankIn":"{region}第 {rank} 名","regionFallback":"该地区","stats":{"diamonds":"钻石","members":"成员","regionalRank":"地区排名","estEarnings":"预估收益"},"hostedBy":"主播","upsell":"俱乐部名称、主播和成员名单在 {plan} 套餐中不脱敏。上方统计数据对所有人实时开放。","loading":"正在加载团队...","seo":{"maskedName":"{region}的一个 TikTok LIVE 俱乐部","itsRegion":"所在地区","fallbackName":"TikTok LIVE 团队","title":"{name} - TikTok LIVE 团队 {'|'} tik.tools","description":"TikTok LIVE 俱乐部，{region}排名第 {rank}：{members} 名成员，钻石总计 {diamonds}。等级 {level}。","descriptionFallback":"TikTok LIVE 团队和俱乐部数据。","ogTitle":"{name} - TikTok LIVE 团队"}},"radar":{"badge":"主播情报","title":"雷达","sub":"谁在你的直播间消费。你的大哥情报看板。","gate":{"title":"登录后使用雷达","body":"以主播身份登录，查看谁在给你送礼、他们的消费习惯，以及你的大哥什么时候在线。","cta":"登录 →"},"placeholder":"{'@'}主播用户名","loadingBtn":"加载中...","analyze":"分析","scanning":"正在扫描送礼数据...","topWhales":"你的头部大哥（历史累计）","gifts":"{n} 个礼物","allGifters":"全部送礼用户","cols":{"gifter":"送礼用户","diamonds":"钻石","value":"价值","gifts":"礼物"},"verified":"已认证","empty":"{'@'}{handle} 暂无送礼数据。礼物追踪会随着直播逐步积累。","upgrade":{"title":"想要大哥提醒和完整分析？","body":"升级后，当你的头部大哥出现在其他直播间时会通知你。","cta":"升级 →"},"seo":{"title":"主播雷达 - 送礼用户情报"}},"hub":{"hero":{"title":"TikTok LIVE 排行榜","sub":"覆盖全球 {regions} 个地区的实时排名","apiNote":"开发者也可以通过 API 获取。","apiLink":"查看排行榜 API 指南 →","streamingNow":"正在直播","activeRegions":"活跃地区"},"card":{"live":"{n} 人直播中","earnings":"收益","resetsIn":"距重置"},"countries":{"eyebrow":"按国家","title":"按国家浏览","sub":"每个国家都链接到其所在地区的排行榜，同一 TikTok 赛区的国家共用一个排行榜。{link}","link":"各国排行榜一览及其规则","tabLive":"直播中","tabAll":"全部国家","loading":"加载中..."},"gaming":{"title":"TikTok LIVE 游戏榜","new":"新","sub":"App 内实时游戏排行榜，覆盖所有地区，持续刷新。","tag":"Agency 专属","open":"打开","preview":"预览"},"seo":{"titleLive":"{live} 人直播中 · 全球 TikTok LIVE 排行榜","title":"全球 TikTok LIVE 排行榜","descriptionLive":"覆盖 {regions} 个地区的实时 TikTok LIVE 排行榜：{live} 位主播正在直播，今日收益 {earned}。查看头部主播、钻石和预估流水，持续更新。","description":"覆盖全球 {regions} 个地区的实时 TikTok LIVE 日榜。查看头部主播、获得的钻石、预估流水和直播状态，持续更新。"}},"gifters":{"eyebrow":"独家送礼用户排行榜","title":"TikTok 送礼用户排行榜","share":"分享","periods":{"daily":"今日","weekly":"本周","monthly":"本月"},"statsHeading":{"global":{"daily":"今日全球送礼总量","weekly":"本周全球送礼总量","monthly":"本月全球送礼总量"},"region":{"daily":"今日{region}送礼总量","weekly":"本周{region}送礼总量","monthly":"本月{region}送礼总量"}},"tableHeading":{"global":{"daily":"今日全球头部送礼用户","weekly":"本周全球头部送礼用户","monthly":"本月全球头部送礼用户"},"region":{"daily":"今日{region}头部送礼用户","weekly":"本周{region}头部送礼用户","monthly":"本月{region}头部送礼用户"}},"stats":{"totalDiamonds":"钻石总数","estValue":"预估价值","activeGifters":"活跃送礼用户"},"logIn":"登录","unlock":{"upgradeGlobal":"升级到 Agency Global","withAgency":"用 Agency 解锁"},"global":"全球","count":"{n} 位送礼用户","copyAll":"全部复制","cols":{"gifter":"送礼用户","diamonds":"钻石","estValue":"预估价值","creatorsGifted":"打赏主播数","gifts":"礼物"},"mask":{"all":{"board":"本榜单全部 {n} 位头部送礼用户在你的套餐下均已脱敏。","region":"{region}全部 {n} 位头部送礼用户在你的套餐下均已脱敏。"},"some":{"board":"本榜单前 {total} 位送礼用户中有 {n} 位已脱敏。","region":"{region}前 {total} 位送礼用户中有 {n} 位已脱敏。"},"detailShown":"前 {shown} 位完整显示；其余保留排名，但隐藏用户名、钻石和价值。","detailNone":"排名是真实的；用户名、钻石和价值已隐藏。","unlockWhales":"解锁给你的主播砸钱的大哥。"},"row":{"passGifter":"PASS 送礼用户","verifiedGifter":"已认证送礼用户","watching":"正在观看直播","passPrivate":"PASS 私密"},"empty":"暂无送礼数据，请稍后再来查看。","seo":{"title":"TikTok 送礼用户排行榜 - 全球 LIVE 榜一大哥","titleRegion":"TikTok 送礼用户排行榜 - {region}","description":"实时 TikTok LIVE 送礼用户排行榜。全球头部送礼用户按钻石排名。","descriptionRegion":"{region} TikTok LIVE 送礼用户排行榜。头部送礼用户按钻石排名。"},"og":{"title":"TikTok LIVE 头部送礼用户","subtitle":"TikTok LIVE 上出手最大的送礼用户，实时刷新。","badge":"送礼用户"}},"ranks":{"hero":{"eyebrow":"排行榜与排名","title":"TikTok LIVE {accent}与排名","titleAccent":"排行榜","sub":"所有地区、所有榜单，实时刷新。按钻石排名的主播、他们背后的送礼用户、按游戏划分的游戏天梯、每周 TikTok Shop GMV 竞赛，以及 A1-D5 联赛等级，一站看全。","ctaBrowse":"浏览排行榜","ctaGaming":"游戏榜与电商榜"},"seePricing":"查看价格","trust":{"regions":"个地区","products":"款榜单产品","live":"实时","refreshed":"刷新"},"new":"新","viz":{"unmasked":"不脱敏","hoverToUnmask":"悬停查看","weeklyGmv":"周 GMV - {label}","global":"全球","cutoff":"TIKTOK 截止线","peak":"最高第 {n} 名","leagueTags":{"elite":"精英","rising":"上升","mid":"中游","entry":"入门"}},"features":{"creators":{"tier":"Pro+ 起不脱敏","title":"主播排行榜","text":"每个地区按钻石排名的头部主播。解锁后就是可以直接复制、联系的真实用户名，不再是脱敏占位符。","cta":"打开主播榜"},"gifters":{"title":"送礼用户情报","text":"每位主播背后真正的头部送礼用户。谁在给谁刷礼物、大哥把钱花在哪里，抢在竞争对手之前找到金主。","cta":"探索送礼用户情报"},"gaming":{"title":"游戏榜","text":"基于实时游戏榜单生成的分地区、分游戏排行榜。逐个地区查看每款游戏里谁在上升。","cta":"查看游戏榜"},"shop":{"title":"直播带货榜","text":"各地区每周 TikTok Shop GMV 排行榜，看清谁真正在 LIVE 上卖货，以及卖得最快的商品。","cta":"打开电商榜"},"leagues":{"tier":"Ultra+ 起联赛不脱敏","title":"联赛排名","text":"各地区 A1 到 D5 的等级天梯，也就是 TikTok 的收益竞赛等级，持续快照。准确看到每位主播在哪个等级竞争。","cta":"浏览联赛等级"},"movers":{"title":"主播发现与 99+ 异动榜","text":"逐个地区找到值得接洽的主播，并查看今天进入过地区前 99 的所有人，即使 TikTok 已把他们挤出截止线。","cta":"查看异动主播"}},"final":{"title":"所有榜单不脱敏，一个订阅全搞定。","sub":"Pro 解锁主播榜。Ultra 增加联赛等级。Agency 解锁送礼用户、游戏、电商榜和招募工具。","browse":"浏览榜单"},"seo":{"title":"TikTok LIVE 排行榜与排名 - tik.tools","description":"所有 TikTok LIVE 排行榜一站看全：按钻石排名的主播、榜一大哥、游戏榜、每周 TikTok Shop GMV 竞赛，以及覆盖 {regions} 个地区的 A1-D5 联赛等级，实时刷新。","ogDescription":"覆盖 {regions} 个地区的主播榜、送礼榜、游戏榜、直播带货榜和联赛排名，实时刷新。"},"og":{"title":"TikTok LIVE 排行榜与排名","subtitle":"覆盖 {regions} 个地区的主播、送礼用户、游戏、电商和联赛排名。","badge":"排行榜"}}},"legal":{"lastUpdated":"最后更新：{date}","ogImageBadge":"法律条款","terms":{"seo":{"title":"服务条款 - Sandbox 评估期、退款、合理使用","description":"TikTools 针对 TikTok LIVE API 和 Agency 套餐的服务条款：7 天 Sandbox 评估，无需信用卡；除我方错误外套餐不予退款；每个账户可就未使用的朗读时长退款一次；合理使用限制。","ogDescription":"7 天 Sandbox 评估，无需信用卡。API 套餐和 Agency 套餐除我方错误外不予退款；未使用的朗读时长每个账户可退款一次。","ogImageTitle":"服务条款","ogImageSubtitle":"Sandbox 评估期、退款、合理使用和计费条款。"},"title":"服务条款","intro":"使用本网站及 TikTools API（「服务」），即表示你同意受以下条款和条件（「服务条款」）的约束。{strong}违反以下任何条款将导致你的账户被终止。你同意自行承担使用本服务的风险。","introStrong":"如果你不同意这些条款和条件，则不得接受本协议，也不得使用本服务。","serviceDescription":{"h":"1. 服务说明与第三方 API 免责声明","c1":"1.1 TikTools 提供{strong}，让开发者可以获取 TikTok LIVE 直播的实时数据，包括弹幕、虚拟礼物、观众人数及其他互动指标。","c1Strong":"托管的第三方 API","c2":"1.2 {strong}「TikTok」是 ByteDance Ltd. 的商标。所有与 TikTok 相关的商标和内容均归其各自所有者所有。","c2Strong":"TikTools 与 TikTok 或 ByteDance Ltd. 无任何关联，也未获得其认可或赞助。","c3":"1.3 {strong}我们的服务处理可公开访问的直播数据，提供结构化的事件数据。该数据管道由我们独立运营，并非 TikTok 官方支持。","c3Strong":"TikTok 没有为 TikTok LIVE 直播数据提供原生的公开 API。","c4":"1.4 {strong}发生这种情况时，TikTools 会尝试更新系统以恢复访问，但绝不保证一定成功，也不承诺恢复时间。你知悉并接受，本服务可能因 TikTok 采取的措施而暂时或永久不可用。","c4Strong":"TikTok 可能随时在不另行通知的情况下限制、修改、封锁或移除对其接口的访问。","c5":"1.5 本服务依赖于对 TikTok 平台的访问。如果 TikTok 限制、封锁或以其他方式限制对其平台或数据的访问，{strong}。TikTools 对任何此类中断不承担责任。","c5Strong":"本服务可能随时在不另行通知的情况下中断、变更或终止"},"accountTerms":{"h":"2. 账户条款","c1":"2.1 你的用户账户只能由一个组织使用，不允许多个组织共用同一个账户。","c2":"2.2 你有责任妥善保管你的用户名、密码和 API Key。因你未履行此安全义务而造成的任何损失或损害，TikTools 不能也不会承担责任。","c3":"2.3 你不得利用本服务从事任何违法或未经授权的活动，包括但不限于侵犯版权或商标、骚扰、发送垃圾信息，或滥用 TikTok 及其主播。","c4":"2.4 你不得侵犯 TikTok 或 TikTok 主播的知识产权。如有人举报你存在此类侵权行为，你将被禁止使用本服务。","c5":"2.5 {strong}任何运营、开发与 TikTools 存在竞争的服务，或与此类服务有关联的企业、产品或个人，均不得访问或使用本服务，亦不得由他人代为访问或使用，包括出于基准测试、复制，或为竞争产品获取数据或功能的目的。对于我们认定由竞争对手运营或与竞争对手有关联的任何账户，我们保留自行决定暂停或永久封禁的权利，无需事先通知，也无义务提供申诉渠道。","c5Strong":"竞争性服务。"},"multiAccount":{"h":"3. 多账户政策与防滥用","c1":"3.1 {strong}除非获得 TikTools 明确授权，每个个人或组织只能拥有一个账户。","c1Strong":"你不得通过注册多个账户来规避用量限制、速率限制或其他限制。","c2":"3.2 我们会监控账户注册行为，包括 IP 地址、邮箱地址（包括规范化后的变体）和浏览器指纹。使用邮箱别名或同一邮箱地址的其他变体来注册账户、获取更多 Sandbox API Key，均违反本条款。","c3":"3.3 如果我们的系统检测到可能的多账户滥用，你会收到警告。收到警告后继续注册重复账户，可能导致：","c3a":"(a) 暂停或终止所有关联账户；","c3b":"(b) 吊销所有关联账户下的全部 API Key；","c3c":"(c) 永久禁止使用本服务。","c4":"3.4 拥有有效付费订阅的账户可按其订阅套餐的规定持有多个 API Key。多账户限制专门针对通过注册多个账户获取额外 Sandbox 权限的行为。","c5":"3.5 对于我们自行判断认为被用于滥用本服务的任何账户，我们保留标记、限制或终止的权利。"},"sandbox":{"h":"4. Sandbox 套餐与 API Key 使用","c1":"4.1 7 天 Sandbox 评估（自账户创建起算）可访问所有 API 接口，但速率限制和每日请求配额较低，情报类接口的标识信息会做脱敏处理。Sandbox 仅供{evaluation}使用，有效期为{period}。期满后，Sandbox Key 的 API 访问即告结束，所有请求都会返回「Evaluation period ended」，直到你选择付费套餐。","c1Evaluation":"评估","c1Period":"自账户创建起 7 天","c2":"4.2 Sandbox 的使用受多项限制，包括但不限于：每日请求上限、每分钟速率限制、WebSocket 连接数限制、WebSocket 会话时长上限以及批量查询限制。这些限制可能随时调整，恕不另行通知。","c3":"4.3 {strong}「生产用途」包括但不限于：为面向客户的线上产品或网站提供支撑的任何部署、任何内部商业工作负载、任何付费或变现服务、任何公会 / 星探 / 获客线索管道、在开发测试之外按计划运行的任何自动化机器人或集成、运行在共享基础设施上的任何应用，以及供你本人以外的用户访问的任何应用。多账户、轮换 Sandbox Key、通过轮换 IP 绕过每日上限，或将多个 Sandbox Key 合并到同一工作负载，均属于生产用途。","c3Strong":"禁止将 Sandbox 套餐用于生产用途。","c4":"4.4 {strong}TikTools 会监测 Sandbox 套餐的使用情况，以确保其始终限于评估用途。当我们认定某个 Sandbox Key 被用于生产环境或为终端用户提供服务时，我们有权{ban}。我们没有义务披露作出该认定的方式。如果你需要生产环境访问，请在上线前订阅 Basic、Pro、Ultra 或 Global Agency。","c4Strong":"检测与执行。","c4Ban":"在不予警告、不予退款的情况下永久封禁该账户及所有关联 Key","c5":"4.5 如果你的生产应用需要更高限额，必须订阅付费套餐。使用多个 Sandbox 账户构建生产应用，本身即构成 4.3 所述的生产用途违规。","c6":"4.6 TikTools 保留随时修改、限制或取消 Sandbox 套餐访问权限的权利，恕不另行通知。"},"payment":{"h":"5. 付款与退款","c1":"5.1 超出 Sandbox 限额后，你可能需要提供有效的付款方式，才能使用高级功能或获得更高的用量限额。","c2":"5.2 订阅按周期预先计费（按周、按月或按年）。你可以随时取消，订阅将持续到当前计费周期结束。","c3":"5.3 {strong}7 天 Sandbox 评估，就是为了让你在付费前验证产品。我们不会因买后反悔、误购、测试或抓取用途、更换套餐或任何「无理由退款」情形而退款。付费 Key 一经激活，就会消耗我们已预先付费的实时数据和 WebSocket 带宽。","c3Strong":"付费套餐不予退款。","c4":"5.4 {strong}：因我方基础设施导致的持续性故障、重复扣款或计费错误。补偿仅覆盖受影响的计费周期，并由我们全权决定。如需申请审核，请发送邮件至客服，注明你的账户邮箱、Key 标签以及问题发生的日期。","c4Strong":"仅当服务确实因我方原因出现故障时才会部分退款","c5":"5.5 {strong}。TikTools 会尽合理努力恢复服务，但无法保证任何恢复时间或结果。","c5Strong":"如果 TikTok 封锁或限制对其平台的访问，导致本服务暂时或永久不可用，你无权就订阅剩余期限获得退款","c3Policy":"5.3 API 套餐和 Agency 套餐不予退款，第 5.4 条所述情形除外。朗读时长可依照第 16 节（退款）退款。","c4Policy":"5.4 如服务确实因我方原因出现故障（因我方基础设施导致的持续性故障），或出现重复扣款或计费错误，我们可能会提供补偿。补偿仅覆盖受影响的计费周期，并由我们全权决定。如需申请审核，请发送邮件至客服，注明你的账户邮箱、Key 标签以及问题发生的日期。","c5Policy":"5.5 如果 TikTok 封锁或限制对其平台的访问，导致本服务暂时或永久不可用，你不会因此获得超出第 16 节（退款）规定范围的退款权利。TikTools 会尽合理努力恢复服务，但无法保证任何恢复时间或结果。"},"cancellation":{"h":"6. 取消与终止","c1":"6.1 你须自行负责正确取消账户。通过邮件或电话提出的取消请求不视为取消。你可以随时通过控制台中的账单门户取消订阅。","c2":"6.2 如果你删除账户，与该账户相关的所有内容和数据将立即从本服务中删除，删除后无法恢复。","c3":"6.3 TikTools 有权自行决定，随时以任何理由或无理由暂停或终止任何账户，包括但不限于涉嫌滥用、违反本条款或应执法机关要求。","c4":"6.4 TikTools 保留随时以任何理由拒绝向任何人提供服务的权利。"},"copyright":{"h":"7. 版权与内容所有权","c1":"7.1 对于你向本服务提供的材料，我们不主张任何知识产权。你的材料仍归你所有。","c2":"7.2 如有任何针对 TikTools 提出的索赔、要求、诉讼或程序，声称你的内容或你对本服务的使用侵犯或盗用了第三方的知识产权或违反了适用法律，你应为 TikTools 进行抗辩。","c3":"7.3 对于在任何此类索赔中最终判决由 TikTools 承担的损害赔偿，以及 TikTools 因此产生的合理律师费，你应向 TikTools 作出赔偿。"},"privacy":{"h":"8. 隐私","c1":"8.1 我们收集的信息仅用于提供和改进本服务，包括但不限于邮箱地址、IP 地址、使用指标和防滥用数据。","c2":"8.2 我们不会为牟利而向第三方出售任何个人身份信息。","c3":"8.3 在特殊情况下，例如为遵守传票或其他法律程序，我们可能会披露个人身份信息。","c4":"8.4 使用本服务的某些功能（包括身份验证和防滥用检测）需要启用 Cookie。","c5":"8.5 详情请参阅我们的{link}。","c5Link":"隐私政策","c6":"8.6 {strong}本服务转载公开可得的 TikTok 数据，包括 TikTok 官方的公开 LIVE 排行榜。我们不是这些数据的来源，凡是 TikTok 尚未公开的主播信息，我们一概不发布。","c6Strong":"公开排行数据。","c7":"8.7 我们不会应要求将个别主播从公开排行数据中删除或隐藏。不希望出现在公开排行中的主播，应从源头上退出 TikTok 的公开榜单，即通过其 TikTok 账户和 TikTok 的 LIVE 排行设置进行操作；此后他们也将不再出现在这里。","c8":"8.8 第 8.6 和 8.7 条仅涉及公开排行数据。它们不影响你作为账户持有人向我们提供的数据（你可以删除这些数据），也不限制你根据适用法律可能享有的权利，或我们对经核实的法律请求采取行动的义务。"},"warranties":{"h":"9. 免责声明","c1":"9.1 {strong}本服务按「现状」和「现有」基础提供，不附带任何明示或暗示的保证，包括但不限于适销性、特定用途适用性或不侵权的暗示保证。","c1Strong":"你使用本服务的风险由你自行承担。","c2":"9.2 TikTools 不保证通过本服务提供的任何数据的准确性、完整性、可靠性或可用性。","c3":"9.3 对于 TikTok 采取的、可能影响本服务可用性的任何措施，包括但不限于 API 变更、接口限制、速率限制、IP 封禁或平台政策变更，TikTools 概不负责。","c4":"9.4 {strong}本服务可能因各种因素随时中断、降级或终止，包括但不限于：TikTok 平台变更、基础设施问题、维护或业务决策。","c4Strong":"TikTools 不保证本服务在任何特定时间或任何特定期限内可用。","c5":"9.5 你知悉本服务依赖于与 TikTok 平台的第三方集成，而该集成可能在 TikTools 无任何过错的情况下失效、损坏或永久不可用。"},"liability":{"h":"10. 责任限制","c1":"10.1 {strong}，包括但不限于因以下原因造成的利润、数据、使用、商誉、商业机会、收入或其他无形损失：","c1Strong":"在任何情况下，TikTools 及其运营者、董事、员工或关联方均不对任何间接、附带、特殊、后果性或惩罚性损害承担责任","c1a":"(a) 你使用或无法使用本服务；","c1b":"(b) TikTok 封锁、限制或修改对其平台的访问；","c1c":"(c) 你的数据或 API Key 遭到未经授权的访问；","c1d":"(d) 本服务中的任何缺陷、错误或不准确之处；","c1e":"(e) 服务中断、停机或终止；","c1f":"(f) 任何第三方行为或通过本服务访问的第三方内容。","c2":"10.2 TikTools 就所有索赔承担的累计责任总额，不超过以下两者中的较低者：(a) 索赔发生前三 (3) 个月内你向 TikTools 支付的金额；或 (b) 一百美元 ($100)。","c3":"10.3 {strong}","c3Strong":"对于因 TikTok 平台变更或 TikTools 无法控制的任何其他原因导致本服务中断、变更或终止而产生的损害，你明确放弃任何索赔。"},"rateLimits":{"h":"11. 速率限制与合理使用","c1":"11.1 速率限制和每日请求配额可能随时变更，恕不另行通知。超出速率限制可能导致你的账户或 API Key 被暂时或永久停用。","c2":"11.2 高级套餐订阅用户享有更高的速率限制、优先路由和专属支持。这些权益受合理使用原则约束，如果我们认定使用模式存在滥用或对其他用户造成不利影响，可能会作出调整。","c3":"11.3 定价页、文档、指南和营销页面上公布的数字，仅代表撰写时该套餐的参考情况，并非对特定吞吐量的合同保证。限额会根据容量、上游平台行为和滥用情况持续调整，因此公布的数字可能与任一时刻实际生效的限额不同。","c4":"11.4 实际应用于你的 Key 的限额才是权威数据，并且你可以随时查看：你的账户控制台会显示当前套餐、每日配额和用量，{endpoint} 会返回你所调用 Key 的实时每分钟限额、并发 WebSocket 数和批量查询数值。如公布数字与你的 Key 实际应用的数值不一致，以实际应用的数值为准。如果当前生效的限额明显低于你购买的套餐并影响了你的使用，请联系客服，我们会予以修正或调整你的套餐。","c5":"11.5 {strong}你的订阅授予你有限的、非独占的、不可转让的许可，用于访问 API 并将其返回的数据用于你自身的内部业务运营，例如监控你实际经营的地区、主播和榜单。该许可是让你在运营中{use}数据，而非获取、复制或积累数据集本身。","c5Strong":"许可用途与数据许可。","c5Use":"使用","c6":"11.6 {strong}汇总的排行、排行榜、联赛、送礼用户及相关数据集是我们的核心产品。你不得全部或部分地利用 API，在超出自身运营用途的范围内，跨地区或跨时间系统性地提取、采集、抓取、镜像或重建该数据集。任何套餐都不赋予你一次性批量获取所有地区或整个数据集的权利；任何旨在获取完整数据集的手段，包括将请求分散到所有地区、轮换 Key 或账户，或将多个 Key 合并到同一提取任务中，无论何种套餐均被禁止。","c6Strong":"禁止批量提取或抓取。","c7":"11.7 {strong}未经我们事先书面许可，你不得转售、再许可、重新发布、再分发或以其他方式向任何第三方提供数据（或其任何实质部分或衍生部分），也不得用其构建、填充或训练竞争性的数据集或服务。速率限制和每日限额的部分作用即是落实这些边界；规避这些限制，或将访问权限用于大规模提取或再分发而非自身运营用途，均违反本条款，并可能导致账户被暂停或终止且不予退款。","c7Strong":"禁止再分发或转售。"},"indemnification":{"h":"12. 赔偿","c1":"12.1 对于因以下原因产生的任何索赔、损害、义务、损失、责任、费用和开支（包括律师费），你同意赔偿 TikTools 及其运营者并使其免受损害：(a) 你使用本服务；(b) 你违反本条款；(c) 你侵犯任何第三方权利，包括任何知识产权；或 (d) 任何声称你使用本服务对第三方造成损害的索赔。"},"discordBot":{"h":"13. Discord 机器人使用","intro":"如果你将 TikTools Discord 机器人邀请到你的服务器，则以下附加条款适用：","c1":"13.1 {strong}使用该机器人即表示你同意严格遵守 Discord 的服务条款和社区准则。","c1Strong":"平台合规：","c2":"13.2 {strong}将机器人配置为向特定频道发送提醒，即表示你确认拥有执行此操作所需的服务器权限。你有责任确保该频道的通知量符合你服务器的规则。","c2Strong":"管理员责任：","c3":"13.3 {strong}滥用机器人的斜杠命令、试图绕过命令冷却时间，或利用机器人故意以过量消息刷屏 Discord 频道，将导致你的 Discord 服务器 ID 被永久列入黑名单、无法再使用该机器人，并可能导致你关联的 TikTools API 账户被终止。","c3Strong":"滥用与刷屏：","c4":"13.4 {strong}TikTools 是独立的集成服务，与 Discord Inc. 无任何关联。对于 Discord 针对你的服务器或 Discord 账户采取的任何管理措施，我们不承担任何责任。","c4Strong":"免责声明："},"youtube":{"h":"14. YouTube API 服务","c1":"14.1 TikTools 使用 YouTube API 服务在我们自己的 YouTube 频道上发布和维护我们自己的教程视频。凡本服务与 YouTube 发生交互之处，{terms}同样适用，由 Google 处理的信息受{privacy}约束。","c1Terms":"YouTube 服务条款","c1Privacy":"Google 隐私权政策","c2":"14.2 本服务不会向 YouTube 发送任何客户数据，也没有任何客户通过本服务进行 YouTube 身份验证。关于我们存储哪些内容以及如何撤销访问权限，请参阅我们的{link}。","c2Link":"隐私政策"},"general":{"h":"15. 一般条件","c1":"15.1 未经 TikTools 明确书面许可，你同意不复制、仿制、修改、出售或转售本服务。","c2":"15.2 请勿篡改或试图未经授权访问本服务，也不得虚假暗示你与 TikTools 或其任何服务存在关联。","c3":"15.3 本条款受美国特拉华州法律管辖并据其解释，不考虑其法律冲突规定。","c4":"15.4 TikTools 未行使本条款的任何权利或规定，不应被视为放弃该权利或规定。","c5":"15.5 有关本服务条款的问题，请发送至 {email}。","c6":"15.6 本服务由 B4Battle LLC（131 Continental Drive, Newark, DE 19713, United States；电子邮件：{email}；电话：+1 610 552 3035）提供。本条款中所称\"TikTools\"均指 B4Battle LLC。"},"refunds":{"h":"16. 朗读时长退款","c1":"退款。每个账户可申请一次退款。一经申请，你的访问权限将立即终止：剩余的朗读时长将被清除，自动充值将被关闭。随后，我们将退还你所付款项中未使用的部分，按你为这些时长支付的价格计算，并扣除该笔付款产生的支付处理商手续费。已使用的时长不予退款。每个账户仅可获得一次退款，此后的任何退款申请均将被拒绝。退款将退回至原付款方式，可能需要 5 至 10 个工作日到账。本条款不限制你依据适用法律享有的任何权利。","c2":"如各语言译本存在差异，以英文版本为准。","c0":"本节适用于在 tik.tools 购买的朗读时长。API 套餐和 Agency 套餐适用第 5 节。"}},"privacy":{"seo":{"title":"隐私政策 - 零追踪，绝不出售数据","description":"TikTool 绝不出售你的数据。零广告追踪器。API Key 使用 scrypt 加密。TikTok LIVE 直播数据仅实时转发，不做任何存储。阅读我们完整的隐私承诺。","ogDescription":"无广告追踪器。不出售数据。API Key 加密存储。TikTok LIVE 数据仅实时转发，从不存储。完全透明。","ogImageTitle":"隐私政策","ogImageSubtitle":"零追踪，绝不出售数据。"},"title":"隐私政策","intro":"使用本网站及 TikTools API（「本服务」），即表示你同意受以下隐私政策（「隐私政策」）的约束。{strong}TikTools 非常重视你的隐私。本政策说明我们如何收集和使用你的个人信息。","introStrong":"如果你不同意本隐私政策的条款，则不得接受，也不得使用本服务。","routine":{"h":"1. 常规信息的收集","p1":"本服务会记录用户的基本信息，包括但不限于 IP 地址、浏览器信息、时间戳和来源页面。这些信息均无法识别本服务的特定用户身份，仅用于日常管理和维护。"},"account":{"h":"2. 账户信息","p1":"当你创建账户时，我们会收集你的邮箱地址、姓名和身份验证凭据（密码哈希或 Google OAuth 令牌）等信息。这些信息仅用于提供、维护和改进本服务。","p2":"我们不会为牟利而向第三方出售任何个人身份信息。","p3":"在特殊情况下，例如为遵守传票、法院命令或其他法律程序，我们可能会披露个人身份信息。"},"antiAbuse":{"h":"3. 防滥用数据收集","intro":"为防止滥用并执行我们的{link}，我们会收集和处理以下数据：","introLink":"服务条款","ipLabel":"注册时的 IP 地址：","ip":"{label}你创建账户时，我们会记录你的 IP 地址，用于检测同一设备或网络注册多个账户的情况。","emailLabel":"邮箱规范化：","email":"{label}我们会对邮箱地址进行规范化处理，以检测使用同一地址的不同变体注册的重复账户。","flagsLabel":"账户标记：","flags":"{label}如果系统检测到可能的多账户滥用，我们会创建一条内部记录，将被标记的账户与来自同一 IP 地址或同一规范化邮箱的其他账户关联起来。这些数据包括标记类型、关联账户 ID、IP 地址和时间戳。","fingerprintLabel":"设备指纹 Cookie：","fingerprint":"{label}我们可能会设置 Cookie，用于识别曾与多账户注册相关联的浏览器。这些 Cookie 仅用于滥用检测，不会用于广告或追踪目的。","competitorLabel":"竞争对手与重复滥用检测：","competitor":"{label}本节所述数据也会用于识别由竞争服务运营或与其有关联的账户，以及识别曾被封禁的一方以新账户重新回归。一旦检测到此类关联，账户可能会根据我们的服务条款被暂停或永久封禁。","paidExempt":"拥有有效付费订阅的账户不会收到多账户警告，因为在商业场景中存在多个合法账户是正常现象。"},"cookies":{"h":"4. Cookie","p1":"在必要时，本服务会使用 Cookie 存储访客的偏好和历史信息，以便更好地为用户服务和/或向用户展示个性化内容。使用本服务的某些功能需要启用 Cookie。","p2":"我们使用以下几类 Cookie：","authLabel":"身份验证 Cookie：","auth":"{label}用于保持你的登录状态，必不可少。","antiAbuseLabel":"防滥用 Cookie：","antiAbuse":"{label}用于检测可能的多账户注册并发出警告。这些 Cookie 最长可能保留 30 天。","preferenceLabel":"偏好 Cookie：","preference":"{label}用于记住你的设置和偏好。"},"apiUsage":{"h":"5. API 使用数据","p1":"我们会收集与你的 API 调用相关的使用指标，包括请求次数、访问的接口、响应时间和错误率。这些数据用于监控服务健康状况、执行速率限制并改进本服务。","p2":"我们转发至你的连接的实时事件流，不会为你的账户另行保存副本。另外，tik.tools 自行采集公开可见的 TikTok LIVE 活动（例如排行榜、礼物、聊天和直播状态），并连同由此得出的主播和送礼用户统计数据一并保存，用于支持我们的排行榜、历史记录和分析功能。","p3":"通过 API 返回的排行、排行榜、联赛、送礼用户及相关数据，依据我们服务条款的规定，以有限许可的方式提供给你，仅供你自身运营使用。不得对其进行批量提取、抓取、镜像、再分发、转售，或用于构建竞争性数据集。我们的速率限制和每日限额的部分作用即是落实这一边界。"},"thirdParties":{"h":"6. 第三方","p1":"第三方服务可能会使用 Cookie、脚本和/或网络信标来追踪用户在本服务上的活动。此类追踪由第三方通过其自己的服务器直接进行，并受其各自隐私政策的约束。本服务无法访问或控制这些 Cookie、脚本和/或网络信标。","p2":"我们使用 {stripe} 和 {paypal} 处理付款。当你为套餐付款时，你的付款信息由你所选择的支付处理商直接处理，并受{link}或{paypalLink}约束。我们不会存储你的银行卡信息。","p2Link":"Stripe 隐私政策","p2PaypalLink":"PayPal 隐私声明"},"links":{"h":"7. 第三方网站链接","p1":"我们在本网站上提供了一些链接，供你使用和参考。我们不对这些网站的隐私政策负责。请注意，这些网站的隐私政策可能与我们的不同。"},"tiktokData":{"h":"8. TikTok 数据与第三方 API 免责声明","p1":"TikTools 与 TikTok 或 ByteDance Ltd. 无任何关联，也未获得其认可或赞助。","p2":"TikTools 提供{strong}，用于获取公开可得的 TikTok LIVE 直播数据。TikTok 没有为直播数据提供原生的公开 API。我们的服务处理可公开访问的直播数据，提供结构化的事件数据。","p2Strong":"托管的第三方 API","p3":"通过本服务获取的任何 TikTok 数据，均为来自 TikTok LIVE 直播的公开数据。我们不会访问、收集或存储 TikTok 账户的私密信息。","p4":"{strong}发生这种情况时，我们会尽可能更新系统以恢复访问，但无法保证服务不中断。通过本服务获取 TikTok 数据的可用性，完全取决于 TikTok 的平台政策和技术基础设施，这些均不在我们的控制范围内。","p4Strong":"TikTok 可能随时在不另行通知的情况下限制、修改或封锁对其接口的访问。","p5":"{strong}我们的排行榜、排名及相关页面反映的是 TikTok 自身公开发布的信息，包括 TikTok 官方的公开 LIVE 排行榜。我们不是这些信息的来源，凡是 TikTok 尚未公开的主播信息，我们一概不透露。主播出现在我们的榜单上，是因为他们出现在了 TikTok 的榜单上。","p5Strong":"主播排行数据。","p6":"因此，{strong}在这里删除一个条目，并不能将其从 TikTok 上删除，也不会让相关信息变得不再公开，反而会让我们的榜单呈现出与 TikTok 发布内容不符的误导性版本。不希望出现在公开排行中的主播，应从源头上进行更改，即通过其 TikTok 账户和 TikTok 自身的 LIVE 排行设置操作。一旦主播不再出现在 TikTok 的公开榜单上，也就不会再出现在我们的榜单上。","p6Strong":"我们不会应要求将个别主播从公开排行数据中删除或隐藏。","p7":"这与你自己的账户数据是两回事。如果你拥有 tik.tools 账户，你提供给我们的信息受下文「数据保留」部分约束，你可以将其删除。这也不影响我们依据适用法律所承担的义务：如果我们收到法律要求我们必须处理的、经核实的请求，我们会依法处理。"},"security":{"h":"9. 数据安全","p1":"互联网是一个复杂的系统。你的内容通过 TikTools 无法控制的第三方网络和设备进行传输、存储和处理。我们会尽合理努力、竭尽所能保护你的数据隐私和安全，但无法保证绝对安全。","p2":"API Key 经过安全存储，且仅通过加密连接传输。密码哈希采用强加密算法（使用随机盐值的 scrypt）。"},"retention":{"h":"10. 数据保留","p1":"只要你的账户处于活跃状态，我们就会保留你的账户信息。如果你删除账户，所有相关的个人身份信息将在 30 天内从我们的系统中移除。","p2":"经过汇总和匿名化处理的使用数据可能会无限期保留，用于分析和改进。","p3":"防滥用标记及相关记录可能会在账户删除后保留最长 12 个月，以防止重复滥用。"},"changes":{"h":"11. 本政策的变更","p1":"我们保留随时修改本隐私政策的权利。变更自发布到本页面之时起立即生效。变更后你继续使用本服务，即表示你接受修订后的政策。"},"discordBot":{"h":"12. Discord 机器人数据与隐私","intro":"如果你选择在你的服务器上使用 TikTools Discord 机器人，则以下依据 Discord 开发者条款制定的附加隐私条款适用：","collectedLabel":"收集的数据：","collected":"{label}机器人仅收集和存储其运行严格必需的数据，包括你的 Discord 服务器 ID（Guild ID）、频道 ID（提醒发送的目标频道），以及执行斜杠命令配置机器人的管理员用户 ID。","messageLabel":"消息内容：","message":"{label}为实现无缝的跨服务器匹配功能，机器人会在指定频道内临时处理消息内容，以识别 PK 接受信息。这些数据仅在内存中处理，用于实时上下文匹配，处理后立即丢弃。我们不会将用户的消息内容、私信或对话数据记录、存储或导出到任何数据库，也不会用其训练 AI 模型。","usageLabel":"数据用途：","usage":"{label}收集的 Discord ID 仅用于将你请求的 TikTok LIVE 数据（例如礼物、弹幕、PK）推送到正确的 Discord 频道。","retentionLabel":"数据保留与删除：","retention":"{label}如果你将 TikTools 机器人踢出或移出你的 Discord 服务器，与你的服务器 ID 关联的自动提醒配置将失去关联，并自动从我们的活跃路由数据库中清除。你也可以随时联系我们，要求立即手动删除你服务器的数据。"},"youtube":{"h":"13. YouTube API 服务","p1":"TikTools 使用{strong}仅出于一个目的：在我们自己的 YouTube 频道上发布我们自己的教程视频，并维护这些视频的标题、简介、缩略图、字幕和播放列表。","p1Strong":"YouTube API 服务","p2":"我们不会访问、收集、存储或处理属于任何其他 YouTube 频道、视频或用户的数据，也没有任何 TikTools 客户通过我们的服务进行 YouTube 身份验证。唯一涉及的账户是我们自己的账户，由频道所有者一次性授权。","p3":"使用本服务中与 YouTube 相连的部分，即表示你同意{terms}。Google 在提供这些服务时处理的信息受{privacy}约束。","p3Terms":"YouTube 服务条款","p3Privacy":"Google 隐私权政策","storeLabel":"我们存储的内容：","store":"{label}我们自己 YouTube 频道的 OAuth 刷新令牌，以及我们已发布视频的视频 ID 和列表元数据。除此之外，不会从 YouTube API 获取任何其他内容。","revocationLabel":"保留与撤销：","revocation":"{label}刷新令牌保存在我们自己的服务器上，访问受到严格限制，并会在停用该集成时删除。你可以随时在{link}中撤销授权，撤销后我们的访问权限会立即永久终止。已存储的视频 ID 和列表元数据会在收到撤销请求后 30 天内删除。","revocationLink":"Google 安全设置"},"gdpr":{"h":"14. 数据控制者与你的权利","controllerLabel":"谁负责你的数据：","controller":"{label}TikTools 由 B4Battle LLC（131 Continental Drive, Newark, DE 19713, United States）运营。B4Battle LLC 是本政策所述个人数据的控制者。如有任何隐私相关请求，请联系 {email}。","purposesLabel":"我们为何处理你的数据：","purposeContract":"为提供你所注册的服务：你的账户、API 密钥、套餐和用量限制（履行合同）。","purposePayment":"为收取付款并保存法律要求的记录（法定义务）。","purposeSecurity":"为保护本服务免受滥用、欺诈和多个免费账户的影响（维护服务安全与公平的正当利益）。","purposeSupport":"为回复你的支持消息（履行合同；如你并非客户，则基于正当利益）。","rightsLabel":"你的权利：","rightsIntro":"{label}如果你位于欧洲经济区、英国或瑞士，你有权：","rightAccess":"访问我们所持有的关于你的个人数据并获取副本；","rightRectify":"要求更正不准确的数据；","rightErase":"要求删除你的数据，但法律要求我们保留的除外（例如付款记录）；","rightRestrict":"限制或反对基于我们正当利益的处理；","rightPortability":"以可移植、机器可读的格式获取你的数据；","rightWithdraw":"在处理基于同意的情况下，随时撤回同意。","exercise":"如需行使上述任何权利，请使用你账户绑定的邮箱发送邮件至 {email}。我们会在一个月内答复。","complaint":"你也可以向你居住地或工作地的数据保护机构投诉。","transfersLabel":"跨境传输：","transfers":"{label}我们位于美国，并在美国处理数据。在法律要求的情况下，从欧洲经济区、英国或瑞士进行的数据传输以欧盟委员会的标准合同条款或同等保障措施为依据。"},"contact":{"h":"15. 联系我们","p1":"如果你对本隐私政策有任何疑问或顾虑，请通过 {email} 联系我们。"},"extension":{"h":"机构 Chrome 扩展","p1":"资格检查扩展包含在 Agency 套餐中。当你点击 Connect 时，扩展会把该浏览器的 Backstage 会话（其 Backstage Cookie，包括登录会话，以及 Backstage 使用的请求令牌）连同你的 Backstage 机构 ID 一起发送给我们。对于其检查的每位创作者，扩展会发送用户名、TikTok 用户 ID、昵称、头像以及 Backstage 返回的结果，并附上你选择的地区和列表。开启可选的切换账户设置后，扩展还会发送当前使用的 Backstage 账户的登录邮箱。我们绝不会收到你的 TikTok 密码：为切换账户而保存的密码只保留在该浏览器的扩展存储中。","p2":"我们使用 Backstage 会话和机构 ID，仅是为了把结果记录在其来源的 Backstage 机构名下，绝不记录到其他机构名下。我们的服务器不会使用该会话向 TikTok 发出请求：检查在你的浏览器中运行。我们使用检查结果在你的名单、榜单和排名中显示每位创作者的状态，把已检查的名字从团队队列中移除，并执行你套餐的检查限额以及每个 Backstage 账户的每小时节奏。","p3":"Backstage 会话、机构 ID 和切换账户邮箱最多保留 24 小时，之后自动删除。每次 Connect 都会开始新的 24 小时期限。检查结果在你的账户有效期间保留，以便你的名单和榜单保持最新，你可以随时要求我们删除。","p4":"会话 Cookie 和令牌关联到你的 tik.tools 账户，不会向任何人显示，包括你的团队。检查结果仅对你的机构账户及其团队成员可见。我们不会出售这些数据，也不会与其他客户共享。","p5":"{link}页面介绍了扩展在 Backstage 中的工作方式。","p5Link":"信任与账单说明"}},"changelog":{"seo":{"title":"更新日志 - TikTool","description":"TikTool 平台更新日志：所有更新和修复。"},"title":"平台{accent}","titleAccent":"更新日志","subtitle":"TikTool 平台的所有更新、修复和改进。","loading":"加载中...","empty":"暂无条目。"},"updates":{"seo":{"title":"产品更新 - tik.tools","description":"仅限客户查看的平台更新。"},"customerBadge":"（客户专区）","title":"平台{accent}","titleAccent":"动态","subtitle":"tik.tools 的新变化：修复、性能提升和新功能的完整更新日志。","loading":"正在加载更新...","locked":{"title":"订阅用户专属更新","body":"真实的平台更新仅对有效订阅用户开放。下方显示的是示例条目。","cta":"订阅查看真实更新"},"empty":"暂无更新。","placeholderBadge":"示例","badges":{"new":"新功能","fix":"修复","performance":"性能","update":"更新","security":"安全","docs":"文档"}},"captions":{"headings":{"liveCaptions":"实时字幕","captionsGuide":"TikTok LIVE 字幕指南","obsGuide":"OBS 字幕指南"},"seo":{"description":"实时字幕已不再向新客户提供。现有字幕客户可继续在控制台中使用。","obsDescription":"实时字幕已不再向新客户提供。现有字幕客户可继续在控制台中使用字幕叠加层工具。"},"notice":{"lead":"实时字幕已不再向新客户提供。","body":"已经在用实时字幕？一切照旧。你可以在控制台中管理字幕，并继续用字幕叠加层工具把字幕加到直播画面里。","openDashboard":"打开控制台","overlayTools":"字幕叠加层工具","foot":"在用 TikTok LIVE 做开发？请查看{link}。"}}},"agencyDesk":{"pulse":{"title":"看板","regions":"地区","diamondFilter":{"title":"按月钻石筛选","from":"从","fromAria":"钻石下限","to":"到","toAria":"钻石上限"},"hideIneligible":{"title":"隐藏你标记为不符合资格的主播","label":"隐藏不符合资格"},"helpAria":"看板使用说明","refreshAria":"刷新看板","locked":{"title":"Agency Global 解锁实时地区看板","sub":"查看你所选地区所有联赛、排行榜、游戏榜和 Top 99+ 上的每一位主播，已去重并显示实时在线状态，另含专属 Telegram 机器人。"},"capped":"{starter} 一次只显示 1 个地区。同时查看所有地区属于 {global}。","upgrade":"升级","namesUnlocked":"用户名已解锁","purpose":{"live":"你所在地区的所有主播，正在直播的排在前面，其次是离线的，已检测过的不再显示。复制一批 30 个，到公会后台检测，然后标记完成，拉取下一批 30 个。","rising":"正在重新冲回榜单的主播。抢在其他公会之前拿下。","recruit":"你所在地区待检测的新主播。「完成」会为整个团队清除该主播，「认领」会把你的名字挂在主播上。","gifters":"大哥们。谁今天、本周、本月在刷礼物，谁刚刚开始刷。","digest":"自你上次查看以来，所有名单中的变化。","team":"谁负责谁：带外联阶段的认领、已联系记录、席位和提醒。"},"seo":{"title":"Agency Pulse - 你所在地区的所有主播，实时更新","description":"公会实时看板：汇总每个地区排行榜、联赛、游戏榜和 Top 99 上升主播中的所有人，已去重并显示实时在线状态。选好你的地区，只处理一份最新名单。","ogDescription":"选择你的地区，即可获得排行榜、联赛、游戏榜和 Top 99 上升主播中所有主播的去重合集，并显示实时在线状态。"}},"views":{"live":"直播中","rising":"飙升","recruit":"招募","gifters":"送礼用户","digest":"简报","team":"团队"},"segmentNav":{"aria":"看板视图"},"batchBar":{"checkedThese":"这 {count} 个已检测","next":"下一批 {count} 个","undo":"撤销"},"copyAll":{"titleOne":"复制 {count} 个用户名，每行一个","titleMany":"复制 {count} 个用户名，每行一个","copied":"已复制 {count} 个","label":"全部复制"},"deskRail":{"myClaims":"我的认领","claimsEmpty":"还没有认领。在任意卡片上点「认领」即可把你的名字挂在主播上。","teamNotes":"团队备注","notesEmpty":"还没有备注。任意卡片上的备注都会共享给所有经纪人。","teammate":"队友"},"claimStatus":{"claimed":"已认领","contacted":"已联系","responded":"已回复","interested":"有意向","signed":"已签约","not_interested":"无意向"},"explainer":{"dismiss":"关闭","title":"你的团队如何使用这个看板","lines":{"claim":"认领主播或送礼用户，把你的名字挂上去，然后用醒目的「已联系 / 已回复 / 有意向」按钮推进阶段。整个团队都能看到谁负责谁。","done":"在招募推送中点「完成」会把主播从所有人的看板上清除，不会有人重复联系。","notes":"你添加的备注会共享给整个团队。","copyAll":"「全部复制」会把所有可见用户名复制到剪贴板，每行一个，可直接用于批量检测。"}},"helpSheet":{"aria":"看板使用说明","title":"如何使用这个看板","close":"关闭","gotIt":"知道了","steps":{"regions":{"title":"选择你的地区","text":"顶部的「地区」按钮控制所有标签页，你的选择会自动保存。"},"lists":{"title":"在四个名单里挖掘","text":"直播中 = 此刻正在直播。飙升 = 正在冲回榜单。招募 = 待检测的新主播。送礼用户 = 正在刷礼物的大哥。"},"intel":{"title":"点击名字查看情报","text":"卡片会立即打开，显示收益、排名和送礼用户。左右滑动可逐个浏览名单。"},"claim":{"title":"认领你正在跟进的主播","text":"「认领」会为整个团队把你的名字挂在主播上，之后用醒目的「已联系 / 已回复 / 有意向」按钮记录外联进度。已认领的主播不会被重复联系。"},"notes":{"title":"备注全员共享","text":"任意卡片上的备注 = 每位主播一条团队备注，所有经纪人都能看到。"},"copy":{"title":"复制用于批量检测","text":"「复制」复制一个用户名；「全部复制」复制整份可见名单，每行一个，可直接粘贴到批量资格检测中。"},"clear":{"title":"清除已处理的主播","text":"在「招募」中点「完成」会为整个团队移除该主播。小 x 只为你自己隐藏卡片。"},"team":{"title":"「团队」是总台账","text":"按经纪人分组的所有认领及其阶段、已联系记录、席位和提醒接入，都在这里。"}}},"claimSheet":{"aria":"{'@'}{handle} 的认领","claimedByYou":"由你认领","claimedBy":"由 {name} 认领","notClaimed":"未认领","close":"关闭","hintMine":"这次外联现在进行到哪一步了？你的团队会立即看到阶段变化。","hintOther":"外联阶段 - 只有认领的经纪人可以修改。","roster":{"added":"已在你的主播名单中","adding":"添加中...","add":"加入主播名单","error":"无法加入主播名单，请稍后再试。","full":"你的主播名单已满，请先移除一位主播。"},"done":"完成","release":"取消认领","stages":{"contacted":"已联系","responded":"已回复","interested":"有意向","signed":"已签约","not_interested":"无意向"}},"lockedAccess":"需要 Agency 权限","card":{"locked":"已锁定","new":"新","monthlyDiamonds":"月钻石：{band}","mark":{"eligible":"符合资格","premiumTitle":"只能通过高级邀请名额邀请","premium":"高级邀请可签","ineligible":"不符合资格","checked":"已检测"},"claimedBy":"由 {name} 认领","eligibility":"资格","markEligible":"标记为符合资格","markIneligible":"标记为不符合资格","copied":"已复制","copyHandle":"复制 {'@'}{handle}","copy":"复制","editNote":"编辑团队备注","addNote":"添加团队备注","note":"备注","markedDone":"已标记完成","markDone":"标记完成 - 从整个团队的推送中清除该主播","done":"完成","claimThis":"认领该主播","claimed":"已认领","claim":"认领","hide":"从我的看板隐藏","liveStat":"LIVE","active":{"today":"今天活跃","oneDay":"1 天前活跃","days":"{days} 天前活跃","oneMonth":"1 个月前活跃","months":"{months} 个月前活跃"}},"noteSheet":{"title":"{'@'}{handle} 的备注","close":"关闭","placeholder":"给团队写条备注：引荐人、报价、提醒事项...","lastEditedBy":"最后由 {name} 编辑","cancel":"取消","save":"保存"},"regionSheet":{"aria":"选择你的地区","title":"你的地区","sub":"{count} 个已启用 - 点击切换，自动保存","close":"关闭","done":"完成"},"live":{"progress":"{online} 位直播中 - {regions}内还有 {total} 位待检测","copyThese":"复制这批","loading":"正在加载你的看板...","empty":{"title":"你所在地区已全部处理完","sub":"这里的每位主播你都已处理过。新名字会自动出现，看板会实时监测，每隔几秒刷新一次。已检测的名字会在 30 天后重新出现。"},"undoLast":"撤销上一批","regionsCount":"{count} 个地区"},"rising":{"empty":{"title":"目前没有飙升的主播","sub":"本周期你所选地区没有主播冲回榜单边缘。随着排名变化，新的飙升主播会出现在这里。"},"peak":"峰值 #{rank}","backInReach":"距回榜：{amount}","liveNow":"正在直播"},"recruit":{"regionAria":"招募地区","progress":"共 {total} 位，剩余 {remaining} 位","empty":{"title":"该地区已全部处理完","sub":"这里当前排名的每位候选人你都已处理过。已检测的名字会在 30 天后重新出现，也可以在上方切换地区。"},"points":"{score} 分"},"gifters":{"listAria":"送礼用户名单","rising":"飙升","top":"头部","periodAria":"时间范围","regionTitle":"地区：{region}","loading":"正在加载送礼用户...","upgradeFeature":"送礼用户情报","emptyRising":"本期没有新大哥。当送礼用户的消费明显高于平时，就会出现在这里。","emptyTop":"该地区暂无送礼数据。LIVE 中有礼物送出后就会逐步填充。","period":{"daily":"今天","weekly":"本周","monthly":"本月"},"global":"全球","diamonds":"{amount} 钻石","creatorsGiftedOne":"送礼给 {count} 位主播","creatorsGiftedMany":"送礼给 {count} 位主播"},"digest":{"caption":"你的简报会在这里实时更新。Telegram 和 Discord 每天推送数次。","seeAll":"在{view}中查看全部","empty":"暂时没有新动态。随着主播开播、大哥开始刷礼物，你的简报会在这里逐步填充。","offline":"离线","sections":{"since":"自你上次查看以来","earlier":"今天早些时候","live":"正在直播","gifters":"今日新送礼用户"}},"team":{"claimed":{"title":"已认领","lede":"队友已挂上名字的主播和送礼用户，以及外联阶段。所有人都能看到谁负责谁。","empty":"还没有认领的主播。在主播上点「认领」即可挂上你的名字。"},"contacted":{"title":"已联系","lede":"团队标记为「完成」的名字会从所有人的看板上移除，不会重复联系。","empty":"还没有联系记录。把主播标记为「完成」后，会在这里为整个团队记录。"},"members":{"title":"团队成员","member":"成员","inviteLink":"邀请链接","awaiting":"等待接受","pending":"待处理","empty":"目前只有你。邀请经纪人或星探一起使用看板。"},"invite":{"placeholder":"teammate{'@'}email.com","manager":"经纪人","scout":"星探","sending":"发送中...","send":"邀请","sent":"邀请已发送。","error":"邀请发送失败，请检查邮箱后重试。"},"alerts":{"title":"提醒推送","lede":"在团队常用的工具里接收新主播提醒。","connected":"已连接","tapToConnect":"点击连接"},"seats":"已用 {used} / {cap} 个席位","roles":{"owner":"所有者","manager":"经纪人","scout":"星探"},"claimStatusLabel":{"claimed":"已认领","contacted":"已联系","responded":"已回复","interested":"有意向","signed":"已签约","not_interested":"无意向"}},"unlockCard":{"paymentReceived":"已收到付款","unlocking":"正在解锁用户名...","namesShortly":"用户名即将显示。","confirming":"正在确认权限。","title":"解锁用户名","billingAria":"计费周期","weekly":"按周","perWeek":"/周","monthly":"按月","perMonth":"/月","buy":"购买权限","note":"即时解锁，可随时取消。","more":"查看完整公会功能"},"discord":{"aria":"连接 Discord","close":"关闭","eyebrow":"连接 DISCORD","title":"在 {brand} 中查看你的榜单","sub":"三步完成，你的公会榜单推送就会直接发到你的服务器。","step1":{"title":"添加机器人","desc":"打开邀请页，选择你的服务器并授权。你需要是服务器管理员。","cta":"将机器人添加到 Discord"},"step2":{"title":"绑定你的 Key","desc":"在你的服务器中运行 {command}，机器人询问时粘贴这个 Key。Key 会保持私密，机器人绝不会在频道中显示。"},"keyCopied":"Key 已复制","copyKey":"复制 Key","copied":"已复制","copy":"复制","step3":{"title":"查看你的榜单","desc":"运行 {command} 开启榜单推送，然后用按钮随时拉取主播、游戏榜和 99+ 上升主播。"},"noKey":"你的账号下还没有 API Key。","keyLoadError":"无法加载你的 API Key，请稍后再试。","loadingKey":"正在加载你的 Key...","copyFailed":"复制失败，请选中 Key 后手动复制。"},"telegram":{"aria":"连接 Telegram","close":"关闭","eyebrow":"连接 TELEGRAM","title":"在 {brand} 中接收实时提醒","sub":"扫描二维码或点击链接，每个链接仅限一台设备。","qrAria":"Telegram 二维码","qrCaption":"用手机相机或 Telegram 扫描","linkActive":"链接 {seconds} 秒内有效","open":"在 Telegram 中打开","copied":"已复制","copyLink":"复制链接","hintPc":"在{device}上：点击「在 Telegram 中打开」。","pc":"电脑","hintPhone":"在{device}上：扫描二维码。","phone":"手机","generating":"生成中...","generate":"生成新链接","mintError":"无法生成你的链接，请稍后再试。","copyFailed":"复制失败，请选中链接后手动复制。"},"eligible":{"hero":{"title":"寻找可招募的{accent}","titleAccent":"新主播","sub":"在排行榜和联赛中发现的新主播，此刻正在各活跃地区赚钻石。复制用户名，用 Chrome 插件或在公会后台批量粘贴自行检测资格，然后标记结果。"},"preview":{"statLive":"位主播正在直播","statRegions":"个地区已覆盖","statEarned":"今日各榜单累计收益","title":"此刻谁在赚钱，按地区一览","sub":"下方每一行都是今日榜单上的真实主播。Agency 权限可显示用户名、加上月钻石区间，并标记你已检测过的主播。","liveCount":"{count} 位直播中","seeBoard":"查看{region}榜单","unlock":"用 Agency 解锁用户名","login":"已是会员？登录"},"gate":{"title":"Agency 套餐解锁招募看板","sub":"用插件或在公会后台手动检测主播，标记结果，按地区处理一份干净的候选人看板。","cta":"用 Agency 解锁"},"mode":{"aria":"检测模式","auto":"自动检测","manual":"手动检测"},"regionAria":"地区","noRegions":"暂无地区","starterNote":"{starter} 一次只能处理一个地区。同时处理所有地区属于 {global}。","upgrade":"升级","counts":{"eligible":"{count} 位标记为符合资格","premium":"{count} 位高级邀请可签","ineligible":"{count} 位不符合资格","checked":"{count} 位已检测"},"hideIneligible":"隐藏不符合资格","copyEligible":"复制已标记符合资格","manual":{"title":"待检测主播","hint":"{region} - 复制这一批，放到公会后台进行资格检测，然后逐个标记结果。","loading":"正在加载上榜主播...","emptyTitle":"{region}已全部处理完","emptySub":"这里的每位上榜主播你都已处理过。已检测的名字会在 30 天后重新出现，也可以在上方切换地区。"},"checked":{"title":"已检测主播","loading":"正在加载你的看板...","allIneligibleTitle":"你在这里检测过的主播都标记为不符合资格","allIneligibleSub":"关闭{toggle}即可查看，或切换地区。","emptyTitle":"该地区还没有检测过的主播","emptyAuto":"安装上方的插件即可自动检测。","emptyManual":"从左侧复制一批并标记结果，即可填充这个看板。"},"auto":{"title":"自动检测","sub":"安装插件，为每个地区连接一个备用公会后台账号，它就会替你逐个检测上榜名单，每个结果都会作为你自己的资格标记出现在这个看板上。","cta":"获取插件"},"candidates":{"title":"招募候选人","sub":"{region}的较低等级 - 正在直播的主播优先。","note":"语言根据主播的直播弹幕识别，表示其直播面向的市场，而非经过验证的账号国家。","loading":"正在加载候选人...","empty":"{region}榜单上目前没有较低等级的主播。"},"seen":"{date} 出现","thisRegion":"该地区","rateLimit":"TikTok 每小时大约允许 600 次检测。请等待 {minutes} 分 {seconds} 秒。","seo":{"title":"寻找可招募的 TikTok 新主播 · 自行检测资格","description":"在排行榜和联赛中发现的 TikTok 新主播：此刻谁在赚钱，覆盖每个地区，按上升势头排序。复制用户名，用 Chrome 插件或在公会后台批量粘贴检测资格，并标记已检测的主播。","ogDescription":"在各活跃地区的排行榜和联赛中发现的新主播。复制用户名，在公会后台检测资格。"},"og":{"title":"可招募的 TikTok LIVE 新主播","subtitle":"按地区划分的待检测、待招募主播看板。","badge":"AGENCY"}}},"compare":{"ui":{"getTestKey":"获取 7 天评估 Key","seePricing":"查看价格","swipeHint":"左右滑动表格查看所有列","whoBuilds":"tik.tools 由谁打造","breadcrumbAria":"面包屑导航","breadcrumbHome":"首页","breadcrumbCompare":"对比","vsTitle":"tik.tools 对比 {name}","ogBadge":"对比"},"hub":{"title":"tik.tools 与同类工具对比","intro":"与其他 TikTok LIVE 数据和公会工具的客观对比，依据各厂商自己公开的价格和功能整理。每个页面都标注日期并附上来源；页面中的 tik.tools 价格和限额实时读取自我们的套餐。","listHeading":"对比列表","checked":"核对于 {date}","migrateNote":"想从开源 TikTok LIVE 连接库迁移过来？请看{link}。","migrateLink":"一步迁移指南","glanceHeading":"一览","columns":{"vendor":"厂商","entryPrice":"起步价","realtime":"实时 LIVE 事件","webhooks":"签名 Webhook","mcp":"MCP 服务器"},"glanceNote":"汇总自各详情页；每一行都链接到完整对比及其来源。","codeAndPackages":"代码和软件包：{github}、{npm}、{pypi}。","seo":{"title":"tik.tools 与 {toktik}、{rng} 和 {tikleap} 对比","description":"tik.tools 与 {toktik}、{rngFull} 和 {tikleap} 的对比，标注日期并附来源：公开价格、实时事件、Webhook、MCP、SDK 和公会招募工具。","ogSubtitle":"与 {toktik}、{rng} 和 {tikleap} 的对比，标注日期并附来源。"},"jsonLd":{"listName":"tik.tools 对比"}},"detail":{"notFound":"未找到该对比","checked":"{name} 的数据于 {date} 依据其公开页面核对。tik.tools 的数据为实时数据。","factsHeading":"逐项对比","topic":"项目","plansAria":"套餐与价格","ourPlans":"tik.tools 套餐","theirPlans":"{name} 套餐","ourPlansNote":"当前价格及全部限额：{link}。","ourPlansNoteLink":"价格","chooseAria":"哪个更适合你","chooseUs":"以下情况选 tik.tools","chooseThem":"以下情况选 {name}","sourcesHeading":"来源","ourPricing":"tik.tools 价格","ourDocs":"tik.tools API 文档","correction":"厂商会调整价格。如果这里的数据已过时，请通过{help}告诉我们，我们会及时更正。其他对比：{all}。","correctionHelp":"帮助中心","correctionAll":"全部对比","seo":{"title":"tik.tools 对比 {displayName}：价格与功能对比","description":"{name} 与 tik.tools 逐项对比：公开价格、实时事件、Webhook、MCP、SDK 和公会工具。{name} 的数据核对于 {date}。"}},"migrate":{"hero":{"badge":"迁移指南","title":"{accent}，即可从 TikTok-Live-Connector 迁移","titleAccent":"只需改几行代码","desc":"已经在用 {pkg}？只需修改 import 和构造函数，即可切换到托管的 TikTool API。你的事件处理函数保持不变。"},"steps":{"install":"安装 SDK","import":"修改 import","key":"把你的 TikTools API Key 传给构造函数","keyNote":"在 {link} 获取 7 天评估 Key，无需信用卡。"},"done":{"strong":"就这么简单。","text":"{strong}以下事件的处理函数照常工作：{events}。名称不同的事件列在下方表格中。"},"example":{"title":"完整可运行示例","desc":"同样的处理函数，写成 {old} 脚本。换成 {new} 时只需修改 import 和构造函数。"},"compat":{"title":"事件名对照表","desc":"TikTok-Live-Connector 的事件名与 TikTools Node SDK 中对应的事件名，已对照两个包的源码核实。","columns":{"event":"TTLC 事件","status":"TikTools 事件","notes":"说明"},"notes":{"identical":"名称相同","alias":"改为监听 {event}","newIn":"{version} 新增 - 已支持","rawData":"触发时附带完整原始事件 payload","wsOpen":"WS 连接建立时触发","viaSocial":"以 {event} 事件送达，action 为 {action}"}},"why":{"title":"为什么要切换到托管 API？","items":{"neverBreaks":{"title":"协议变更由我们处理","desc":"TikTok 更改协议时，TikTools 会在服务端或通过 SDK 更新发布修复。实时状态页会显示所有故障。"},"fasterDelivery":{"title":"以 JSON 格式接收事件","desc":"事件到达时已完成解码，你无需处理 protobuf。"},"zeroDeps":{"title":"只有一个小依赖","desc":"Node SDK 只依赖 ws 包。你的代码中不需要 protobuf 库，也不需要请求签名。"},"autoReconnect":{"title":"自动重连","desc":"连接断开时，内置的指数退避重连机制会自动重连。"},"dashboard":{"title":"用量控制台","desc":"在 tik.tools/dashboard 实时监控你的 API 用量、WebSocket 连接和事件量。"},"support":{"title":"开发者支持","desc":"通过 Discord、邮件或站内在线客服获取帮助。"}}},"faq":{"title":"常见问题","items":{"types":{"q":"我的 TypeScript 类型还能用吗？","a":"是的。{pkg} 为每种事件 payload 提供 TypeScript 类型定义，包括 {chat}、{gift} 和 {roomUser}。"},"options":{"q":"TTLC 的 sessionId、processInitialData 和 requestPollingIntervalMs 等选项怎么办？","a":"构造函数接收一个包含 {uniqueId} 和 {apiKey} 的选项对象，另有 {autoReconnect}、{debug} 等可选设置。{processInitialData}、{requestPollingIntervalMs} 等 TTLC 选项没有对应项，可以直接删除。"},"apiKey":{"q":"TTLC 有时不需要 API Key 也能用。TikTool 需要吗？","a":"需要，必须提供 {signApiKey}。在 {loginLink} 获取用于 7 天评估的 Sandbox Key 只需 30 秒，无需信用卡。Sandbox 包含每天 5,000 次 API 调用和 3 个并发 WebSocket 连接，足够开发和测试使用；7 天后需要付费套餐。"},"protocol":{"q":"TikTok 更新协议时，实际会发生什么？","a":"TikTok 会不时更改签名机制和消息格式。使用开源连接器时，你需要等待库发布新版本后再升级。使用 TikTools 时，变更在服务端或通过 SDK 新版本处理，实时状态页会显示所有故障。"}}},"bonus":{"title":"TikTools 还包括","items":{"liveFeed":{"title":"Live Feed 发现","desc":"查看哪些主播此刻正在 TikTok 上直播。"},"pythonSdk":{"title":"Python SDK","desc":"Python SDK：pip install tiktok-live-api。同样的事件名，用于 Python。"}}},"cta":{"title":"准备好迁移了吗？","desc":"获取 7 天评估 Key，无需信用卡。Sandbox 套餐在 7 天内提供每天 5,000 次请求和 3 个并发 WebSocket 连接，仅限开发和评估使用。","getKey":"获取 7 天评估 Key","docs":"阅读文档"},"seo":{"title":"从 TikTok-Live-Connector 迁移到 TikTool API","description":"只需修改 import 和构造函数，即可从 tiktok-live-connector 切换到托管的 TikTool API。附事件名对照表和完整可运行示例。","ogTitle":"从 TikTok-Live-Connector 迁移","ogDescription":"修改 import 和构造函数，事件处理函数保持不变。附事件名对照表。","ogImageTitle":"一步迁移到 TikTool","ogImageSubtitle":"TikTok-Live-Connector 的托管替代方案。只需修改 import 和构造函数。","ogBadge":"迁移"},"guideLink":"Node 和 Python 代码并排对照、完整的事件名对照表以及常见连接器错误的修复方法：{guide}和{troubleshooting}。","guideLinkLabel":"分步迁移指南","troubleshootingLinkLabel":"故障排查指南"},"vendors":{"eulerstream":{"tagline":"TikTok LIVE API，提供免费档、$50/月的 Business 套餐和付费附加项","summary":"{name} 出售 TikTok LIVE API：以二进制 protobuf 转发 TikTok LIVE 事件的 WebSocket，查询直播状态、直播间信息、排行榜、礼物和公会的 REST 接口，签名 API，推送到你 HTTP 端点的 TikTok LIVE Alerts，以及公开测试中的托管 MCP 服务器。{name} 是其所有者的商标；tik.tools 与其无任何关联。","plansNote":"每个套餐都列有附加项，但价格页未标价：Premium Webcast Routes、Priority API Requests、Enterprise Server Access、TikTok LIVE Signature Access、TikTok CAPTCHA Routes 和 TikTok Dataset Catalog Routes。价格滑块还显示 50,000 至 200,000 次请求/天的档位，页面文字中未注明其价格。其条款称套餐速率限制可能随时变更，恕不另行通知。","plans":{"community":{"price":"$0，无需绑卡","detail":"2,500 次请求/天，25 个云端 WebSocket，5 个 TikTok LIVE Alerts"},"business":{"price":"$50/月","detail":"10,000 次请求/天，100 个云端 WebSocket，50 个 TikTok LIVE Alerts；7 天免费试用"},"enterprise":{"price":"定制报价","detail":"250,000+ 次请求/天，1,500+ 个云端 WebSocket，1,000+ 个 TikTok LIVE Alerts"}},"facts":{"entry":{"topic":"入门方式","ours":"Sandbox Key 提供 7 天评估，之后 {apiBasicWeekly}/周起","them":"Community 套餐 $0，2,500 次请求/天，25 个云端 WebSocket；Business 提供 7 天免费试用"},"around10k":{"topic":"每天约 10,000 次请求","ours":"Basic，{apiBasicMonthly}/月：{basicDailyLimit} 次请求/天，{basicWsLimit} 个并发直播间","them":"Business，$50/月：10,000 次请求/天，100 个云端 WebSocket"},"higherVolumes":{"topic":"更大用量","ours":"自助开通的 Pro、Ultra 和 Agency 套餐，价格公开，最高 {agencyDailyLimit} 次请求/天、{agencyWsLimit} 个并发直播间","them":"Enterprise 定制报价，250,000+ 次请求/天"},"eventFormat":{"topic":"实时事件格式","ours":"已解码的 JSON 事件，{eventTypes} 种有文档的 WebSocket 事件类型","them":"以二进制 protobuf 转发所有 TikTok LIVE 事件，需用其 SDK 或社区库解码"},"connectionLifetime":{"topic":"实时连接时长","ours":"Pro 和 Agency Starter 为 12 小时，Ultra 和 Agency Global 为 24 小时","them":"8 小时（据其 WebSocket 关闭码说明）"},"alerts":{"topic":"提醒与 Webhook","ours":"所有付费套餐均为 HMAC 签名：开播与下播；Ultra 和 Agency 另含峰值观众和高价值礼物；Agency 另含粉丝里程碑和招募提醒","them":"推送到你 HTTP 端点的 TikTok LIVE Alerts：按套餐 5、50 或 1,000+ 个；其提醒目标页面未列出触发事件"},"mcp":{"topic":"面向 AI 助手的 MCP 服务器","ours":"npm 上的 tiktok-live-mcp，11 个工具，可用于 Claude、Cursor 和 VS Code","them":"公开测试中的托管 MCP 端点（「尚未达到生产就绪」），19 个工具，用于管理和排行榜"},"sdks":{"topic":"SDK","ours":"Node.js/TypeScript 和 Python","them":"TypeScript、Python、C#、Java 和 Go，由其 OpenAPI 规范生成，另有 WebSocket SDK"},"rankings":{"topic":"排行榜","ours":"44 个排名地区，含日榜、联赛榜、游戏榜和热门 LIVE 榜","them":"按国家、联赛和钻石收益划分的排行榜；未说明地区数量"},"agencyTools":{"topic":"公会工具","ours":"Agency 套餐：主播招募推送和 Backstage 资格检测工具","them":"Agency Registry，可搜索 100,000+ 家 TikTok LIVE 公会，以及公会目录 API 接口"}},"chooseThem":{"freePlan":"你想要一个不限时长的免费套餐，用于小用量。","moreWebsockets":"你在每天约 10,000 次请求的用量下需要更多并发 WebSocket。","otherLanguages":"你用 C#、Java 或 Go 开发并需要官方 SDK，或者你需要原始 protobuf 事件。"},"chooseUs":{"decodedJson":"你需要已解码的 JSON 事件和签名 Webhook，不想自己写 protobuf 解码器。","publishedPrices":"你需要每天 10,000 次请求以上、价格公开的自助套餐。","agencyTools":"你经营公会，需要招募和资格检测工具。","rankings":"你需要覆盖 44 个地区的排行榜，含日榜、联赛榜、游戏榜和热门 LIVE 榜。"},"glance":{"entry":"免费套餐；Business $50/月","realtime":"WebSocket，所有事件均为二进制 protobuf","webhooks":"LIVE Alerts：按套餐 5 / 50 / 1,000+ 个","mcp":"托管，公开测试中"},"sources":{"pricing":"{name} 价格","websocketDocs":"{name} WebSocket 文档","eventTypes":"{name} 事件类型","alertTargets":"{name} LIVE 提醒目标","mcp":"{name} MCP","terms":"{name} 条款"}},"toktik":{"tagline":"TikTok LIVE 情报网站和开发者 API，按积分计量计费","summary":"{name} 发布 TikTok LIVE 排行榜、送礼用户榜、公会名录和招募池，并出售 REST 和 WebSocket 开发者 API。其套餐按月计费，配合预付积分钱包，实时流按直播间分钟计费。","plansNote":"以上为 Live 模块价格。Lookup Data 模块另需 $5 至 $79/月，打包则为 $18 至 $279/月。一次缓存读取消耗 1 积分；从 TikTok 实时抓取一次消耗 1,250 积分；实时流按直播间分钟计费。","plans":{"free":{"price":"$0/月","detail":"5,000 次请求/天，仅缓存读取，排行榜脱敏，7 天历史"},"starter":{"price":"$15/月","detail":"15,000 次请求/天，前 3 名不脱敏，90 天历史，CSV 导出"},"pro":{"price":"$39/月","detail":"100,000 次请求/天，排行榜不脱敏，180 天历史，3 个席位"},"scale":{"price":"$99/月","detail":"400,000 次请求/天，联赛排名不脱敏，XLSX 导出，12 个月历史，5 个席位"},"agency":{"price":"$249/月","detail":"1,200,000 次请求/天，主播名单工具、招募用户名、主播简报，10 个席位；通过其销售团队购买"}},"facts":{"pricingModel":{"topic":"计费模式","ours":"固定的周付或月付套餐，设每日请求数和并发直播间上限。实时流不按分钟计费。","them":"月付套餐加预付积分钱包。每次从 TikTok 实时抓取消耗 1,250 积分，实时流按直播间分钟计费。"},"eventTypes":{"topic":"实时事件类型","ours":"{eventTypes} 种有文档的 WebSocket 事件类型","them":"15 种事件类型（据其实时接口文档）"},"connecting":{"topic":"连接直播间","ours":"用 API Key 按用户名连接；Pro 最多 {proWsLimit} 个并发直播间，Agency 最多 {agencyWsLimit} 个","them":"先生成短期 token，再通过一个 socket 订阅主播；每个订阅会返回排队、活跃或离线状态"},"webhooks":{"topic":"Webhook","ours":"所有付费套餐均为 HMAC 签名：开播与下播；Ultra 和 Agency 另含峰值观众和高价值礼物；Agency 另含粉丝里程碑和招募提醒","them":"每个套餐都列有 Webhook 和提醒"},"gifterFirehose":{"topic":"实时送礼用户流","ours":"Agency 已包含","them":"在 Agency 套餐中标注为即将推出"},"mcp":{"topic":"面向 AI 助手的 MCP 服务器","ours":"npm 上的 tiktok-live-mcp，11 个工具，可用于 Claude、Cursor 和 VS Code","them":"其价格页和开发者页面均未列出"},"sdks":{"topic":"SDK","ours":"Node.js/TypeScript 和 Python","them":"JavaScript 和 Python"},"agencyDirectory":{"topic":"公会名录","ours":"公会可认领入驻信息并接收私信；不会转载公会联系方式","them":"公开的 TikTok LIVE 公会名录；联系方式需 Agency 套餐解锁"},"eligibility":{"topic":"主播资格","ours":"Agency 套餐包含 Chrome 插件，在你自己的 Backstage 中检测公会签约资格","them":"Agency 套餐提供招募用户名和标记"},"exports":{"topic":"导出","ours":"Ultra 和 Agency 可将整个榜单复制到剪贴板","them":"Starter 起支持 CSV，Scale 起支持 XLSX"},"entry":{"topic":"入门方式","ours":"Sandbox Key 提供 7 天评估，之后 {apiBasicWeekly}/周起","them":"免费档：每天 5,000 次缓存读取，排行榜脱敏，无需绑卡"}},"chooseThem":{"freeTier":"你想要一个零成本档位，用于小用量的缓存读取。","exports":"你需要 CSV 或 XLSX 导出，并希望低价套餐有明确的历史数据时长。","creditWallet":"你更喜欢网页应用和 API 共用一个月度积分钱包。"},"chooseUs":{"noPerMinute":"你同时关注很多直播间，不想按分钟计费。","fullEvents":"你需要完整的 LIVE 事件，而不是其中一部分。","oneVendor":"你希望从同一家厂商获得签名 Webhook、MCP 服务器和 SDK。","eligibility":"你的公会在自己的 Backstage 中检测主播资格。"},"glance":{"entry":"免费档；付费 $15/月起","realtime":"WebSocket，15 种事件类型，按直播间分钟计费","webhooks":"每个套餐均列出","mcp":"未列出"},"sources":{"pricing":"{name} 价格","realtime":"{name} 实时接口文档","developerApi":"{name} 开发者 API"}},"rngrow":{"tagline":"面向 TikTok LIVE 公会的分国家招募线索，另有 AI 外联附加项","summary":"{displayName} 按国家出售 Radar 权限，提供其已检测为可自由加入公会的 TikTok LIVE 主播及钻石收益数据。AI Recruiter 和 AI Manager 需另外购买，每个 Radar 国家都附带 API 权限。","plansNote":"价格含增值税。列出的市场：罗马尼亚、英国、美国、德国、意大利、法国、波兰、西班牙、澳大利亚、中东北非和拉美，中亚标注为即将推出。每个账号可在审核通过后，针对一个国家试用一次 1 天的 Radar。","plans":{"radar":{"price":"每个国家 €1,599/月","detail":"单一市场的可招募主播线索；首月 €799；含 API 权限（60 次请求/分钟，10,000 次请求/天）"},"radarWeekly":{"name":"Radar 周付","price":"每个国家 €399/周","detail":"同样的 Radar 权限，按周计费"},"additionalCountry":{"name":"追加国家","price":"每个 €1,199/月","detail":"在现有 Radar 套餐上追加一个市场"},"dayPass":{"price":"€49","detail":"单一市场 24 小时访问权限"},"aiRecruiter":{"price":"€299 至 €1,199/月","detail":"1,500 至 25,000 条 AI 回复；每个国家都需要有效的 Radar 套餐"},"aiManager":{"price":"€299 至 €1,199/月","detail":"通过 WhatsApp 辅导主播，按 AI 回复计量"}},"facts":{"oneMarket":{"topic":"单一市场一个月","ours":"{agencyGlobalMonthly}/月，覆盖我们排名的所有地区","them":"每个国家 €1,599/月（首月 €799）"},"weekly":{"topic":"周付选项","ours":"{agencyGlobalWeekly}/周，所有地区","them":"每个国家 €399/周"},"moreMarkets":{"topic":"更多市场","ours":"已包含","them":"每追加一个国家 €1,199/月"},"findingCreators":{"topic":"寻找可自由加入的主播","ours":"在地区排行榜和联赛中出现的新主播，按上升势头排序；资格由你自行确认","them":"{name} 按公会签约资格检测主播，并将线索推送到其控制台"},"eligibility":{"topic":"资格检测","ours":"Chrome 插件在你自己的 Backstage 中检测资格，也可以在那里批量粘贴名单","them":"由 {name} 在推送线索前完成"},"outreach":{"topic":"外联","ours":"不自动化；由你的团队联系主播","them":"AI Recruiter 从你的 Backstage 发送开场白、回复和邀请，在 Radar 之外另收 €299/月起"},"api":{"topic":"套餐内 API","ours":"{agencyDailyLimit} 次请求/天，{agencyRateLimit}/分钟，{agencyWsLimit} 个并发直播间","them":"每个国家 10,000 次请求/天和 60 次/分钟"},"diamonds":{"topic":"钻石追踪","ours":"带钻石数据的日榜、联赛榜、游戏榜和热门 LIVE 榜，主播主页和实时送礼用户流","them":"线索包含钻石收益数据；公开的送礼用户榜和联赛排行榜"},"realtime":{"topic":"实时数据与提醒","ours":"WebSocket 流（{eventTypes} 种有文档的 WebSocket 事件类型）和签名 Webhook，包括招募提醒","them":"REST API，提供礼物收入激增主播的 HOT 信号；其 API 文档中没有直播间事件流或 Webhook"},"devTools":{"topic":"开发者工具","ours":"Node.js 和 Python SDK，MCP 服务器","them":"JavaScript SDK（{'@'}rngrow/sdk）"}},"chooseThem":{"checkedLeads":"你只在一两个国家招募，希望线索已经替你检测好。","autoOutreach":"你希望从你的 Backstage 自动发送外联消息。"},"chooseUs":{"severalRegions":"你在多个地区招募，希望一个价格覆盖全部。","ownTeam":"你的团队在自己的 Backstage 中核实资格并负责联系。","allInOne":"你还需要在同一个套餐里获得钻石追踪、实时提醒、API、Webhook 或 MCP 服务器。"},"glance":{"entry":"每个国家 €1,599/月（首月 €799）","realtime":"REST API，提供 HOT 信号；未列出直播间事件流","webhooks":"其 API 文档中没有","mcp":"未列出"},"sources":{"pricing":"{name} 价格","aiRecruiter":"{name} AI Recruiter","apiDocs":"{name} API 文档"}},"tikleap":{"tagline":"公开的 TikTok LIVE 排行榜网站，提供按周套餐的 REST API","summary":"{name} 发布 TikTok LIVE 国家排行榜、联赛、游戏榜和送礼用户数据，并以一次性周套餐出售 REST API 权限。它还提供使用同一 API Key 的托管 MCP 端点。","plansNote":"套餐为一次性 7 天付款，不是订阅。查询不同主播会计入单独的主播数/天上限。","plans":{"basic":{"price":"$5/周","detail":"11,000 次请求/天，600 个主播/天，仅当前数据，60 次请求/分钟"},"pro":{"price":"$10/周","detail":"77,000 次请求/天，2,200 个主播/天，30 天历史，180 次请求/分钟"},"ultra":{"price":"$25/周","detail":"320,000 次请求/天，22,000 个主播/天，60 天历史，600 次请求/分钟"}},"facts":{"weeklyPrice":{"topic":"周价格（Basic / Pro / Ultra）","ours":"{apiBasicWeekly} / {apiProWeekly} / {apiUltraWeekly}","them":"$5 / $10 / $25"},"requestsPerDay":{"topic":"每天请求数","ours":"{basicDailyLimit} / {proDailyLimit} / {ultraDailyLimit}","them":"11,000 / 77,000 / 320,000"},"requestsPerMinute":{"topic":"每分钟请求数","ours":"{basicRateLimit} / {proRateLimit} / {ultraRateLimit}","them":"60 / 180 / 600"},"billing":{"topic":"计费","ours":"按周或按月订阅","them":"一次性 7 天套餐"},"realtime":{"topic":"实时 LIVE 事件","ours":"任意直播主播的 WebSocket 流，{eventTypes} 种有文档的 WebSocket 事件类型，{basicWsLimit} 至 {ultraWsLimit} 个并发直播间","them":"其 API 文档中只有 REST 接口（排行榜、主播、直播和直播事件）"},"webhooks":{"topic":"Webhook","ours":"所有付费套餐均为 HMAC 签名：开播与下播；Ultra 和 Agency 另含峰值观众和高价值礼物；Agency 另含粉丝里程碑和招募提醒","them":"其 API 文档中没有"},"mcp":{"topic":"MCP 服务器","ours":"tiktok-live-mcp，通过 npx 在本地运行","them":"基于 HTTP 的托管 MCP 端点"},"sdks":{"topic":"SDK","ours":"Node.js/TypeScript 和 Python","them":"未在 npm 或 PyPI 发布"},"boards":{"topic":"榜单","ours":"所有套餐都有地区榜（Pro 起完全不脱敏）；联赛榜 Ultra 起完全不脱敏；游戏榜、热门 LIVE 榜和团队榜需 Agency","them":"每个套餐都有排行榜、联赛、游戏榜和实时礼物"},"agencyTools":{"topic":"公会工具","ours":"Agency 套餐：招募推送、Backstage 资格检测工具、送礼用户实时流","them":"未列出公会招募工具"}},"chooseThem":{"restOnly":"你只需要通过 REST 获取排行榜和联赛数据，并追求最低周价格。","hostedMcp":"你想要无需安装的托管 MCP 端点。","oneTime":"相比订阅，你更喜欢一次性周套餐。"},"chooseUs":{"realtime":"你需要通过 WebSocket 获取直播间的实时事件（弹幕、礼物、PK）。","webhooksSdks":"你需要签名 Webhook 以及 Node.js 和 Python SDK。","agencyTools":"你经营公会，需要招募和资格检测工具。"},"glance":{"entry":"$5/周","realtime":"仅 REST","webhooks":"其 API 文档中没有","mcp":"托管端点"},"sources":{"apiPackages":"{name} API 套餐","apiDocs":"{name} API 文档"}}},"ours":{"ownership":"tik.tools 是一款独立产品。它不是任何其他 TikTok LIVE 数据厂商的转售商、封装层或子品牌，也与 TikTok 或字节跳动无关。tik.tools 自行采集数据，并自主开发和运营自己的 WebSocket API、HMAC 签名直播 Webhook、MCP 服务器（tiktok-live-mcp）和 SDK（{'@'}tiktool/live 和 tiktok-live-api）。","glance":{"entry":"{apiBasicWeekly}/周起；Agency {agencyGlobalMonthly}/月，覆盖所有地区","realtime":"WebSocket，{eventTypes} 种事件类型","webhooks":"HMAC 签名，所有付费套餐","mcp":"有，npm 上的 tiktok-live-mcp"},"plans":{"basic":{"price":"{apiBasicWeekly}/周 或 {apiBasicMonthly}/月","detail":"{basicDailyLimit} 次请求/天，{basicWsLimit} 个并发直播间，签名 Webhook"},"pro":{"price":"{apiProWeekly}/周 或 {apiProMonthly}/月","detail":"{proDailyLimit} 次请求/天，{proWsLimit} 个并发直播间，地区榜完全不脱敏"},"ultra":{"price":"{apiUltraWeekly}/周 或 {apiUltraMonthly}/月","detail":"{ultraDailyLimit} 次请求/天，{ultraWsLimit} 个并发直播间，联赛榜完全不脱敏"},"agency":{"price":"{agencyGlobalWeekly}/周 或 {agencyGlobalMonthly}/月","detail":"覆盖我们排名的所有地区，主播招募推送，Backstage 资格检测工具，游戏榜和热门 LIVE 榜，实时送礼用户流，{agencyDailyLimit} 次请求/天，{agencyWsLimit} 个并发直播间"}}}},"agency":{"seo":{"title":"TikTok LIVE 公会工具 - 挖掘主播、复制主播名单、送礼用户情报 {'|'} tik.tools","description":"面向 TikTok LIVE 公会的 Agency Starter 和 Agency Global：一键复制主播名单、招募漏斗、团队席位、Telegram + Discord 挖掘提醒。Global 另含主播名单健康度、全地区挖掘、头部送礼用户情报和 Ultra 级 API。","ogImageTitle":"TikTok LIVE 公会工具","ogImageSubtitle":"挖掘主播、复制主播名单、查看送礼用户情报。","ogImageBadge":"AGENCY"},"hero":{"kicker":"专为 TikTok LIVE 公会打造","openWord":"打开{label}","words":{"creatorScouting":"主播挖掘","topGifters":"头部送礼用户","newCreators":"新主播","dailyDigest":"每日简报","seats":"{count} 个席位"},"sub":"挖掘主播、一键复制主播名单、头部送礼用户情报，每个套餐都含 {seats} 个经纪人席位。两个公会套餐：{starterPlan}（{starterPrice}/月起）和 {globalPlan}。","cta":{"newCreators":"新主播","manageTeam":"管理团队","getAccess":"开通 Agency","chat":"在线咨询","billing":"账单","openDashboard":"打开控制台"},"trust":{"aria":"公会套餐要点","regions":"{count} 个地区","seats":"每个套餐均含 {count} 个席位","api":"套餐 {price}/月起"}},"rosterTabs":{"aria":"公会主播名单","tabs":{"creators":"主播","gifters":"头部送礼用户","eligible":"新主播"},"meta":{"creators":{"title":"头部主播，覆盖所有地区","cta":"查看全部主播"},"gifters":{"title":"头部送礼用户","cta":"查看全部送礼用户"},"eligible":{"title":"待挖掘的新主播","cta":"查看全部新主播"}},"livePill":"{count} 位直播中","copyAllAria":{"creators":"复制全部 {count} 位主播","gifters":"复制全部 {count} 位送礼用户"},"copiedCount":"已复制 {count} 个","copyAllCount":"全部复制 {count} 个","liveNow":"正在直播","copyOneAria":"复制 {name}","empty":"主播名单加载中...","unlockMore":{"creators":"位更多真实主播 - 解锁全部用户名 + 一键全部复制","gifters":"位更多真实送礼用户 - 解锁全部用户名 + 一键全部复制"},"fallbackName":"主播","perThirtyDays":"{amount} / 30 天"},"valueModules":{"kicker":"公会日常所需，一应俱全","title":"两个套餐，全套工具。","seats":{"tag":"团队","title":"每个套餐 {count} 个席位，不另收费","body":"整个经纪团队共用一个公会订阅（{starterPlan} 或 {globalPlan}）使用全部功能。","caption":"Starter 和 Global 均含 {count} 个经纪人席位"},"api":{"tag":"供你的开发人员使用","title":"包含 API 权限","body":"两个套餐都为你的开发人员提供 API 权限：{starterPlan} 可同时接入 {starterStreams} 场直播，{globalPlan} 可接入 {globalStreams} 场。使用控制台完全不需要写代码。","perDay":"{count} 次请求/天","devLink":"开发者入口"},"copy":{"tag":"工作流","title":"一键复制主播名单","body":"主播、头部送礼用户、招募候选人，全部汇总到一处，点一下即可复制。","copied":"已复制 {count} 个","copyAll":"全部复制 {count} 个"},"alerts":{"tag":"提醒","title":"挖掘提醒","body":"Telegram + Discord 榜单推送把新面孔直接发给你的团队，看到就能复制。","feedHead":"#rank-feed - 飙升主播","copyAria":"复制 {handle}"},"reveal":{"tag":"不脱敏","title":"脱敏秒变真实","body":"未订阅套餐时用户名会脱敏。公会套餐显示每个真实用户名，可直接复制。","hintTouch":"公会用户自动显示","hintHover":"悬停查看真实用户名"},"constellation":{"tag":"全部包含","title":"Global：全部功能","body":"{globalPlan}：新主播、送礼用户情报、提醒、API 权限、批量复制、控制台、{seats} 个席位，一个价格全包。{starterPlan} 以更低价格覆盖控制台、招募和团队功能。","satellites":{"talents":"主播","gifters":"送礼用户","alerts":"提醒","ultraApi":"API 权限","bulkCopy":"批量复制","teamSeats":"团队席位"}}},"pricing":{"seo":{"title":"TikTok LIVE 公会套餐 - 挖掘主播、复制主播名单、送礼用户情报 {'|'} tik.tools","description":"Agency Starter 和 Agency Global：一键复制主播名单、招募漏斗、团队席位、Telegram + Discord 挖掘提醒。Global 另含主播名单健康度、全地区挖掘、头部送礼用户情报和 Ultra 级 API。"},"kicker":"公会套餐","title":"从控制台起步，用 Global 解锁全部功能。","sub":"{starterPlan} 用 {seats} 个席位管理你的主播名单、招募漏斗和团队。{globalPlan} 另含主播名单健康度、全地区招募推送、所有 Global 专属榜单、送礼用户情报以及更大的 API 额度。","badges":{"monthly":"按月","weekly":"按周","save":"省 {percent}%"},"perMonth":"/月","perWeek":"/周","billed":{"monthly":"按月扣费","monthlyOnly":"按月扣费 - 仅限月付","weekly":"按周扣费 - 约合每月 {price}","monthlyOneCharge":"按月扣费 - 每月扣一次，而不是四次"},"hooks":{"starter":"公会控制台、招募和团队工具，每次覆盖一个地区。已包含，无需积分，可随时取消。","weekly":"完整不脱敏情报 + {seats} 个席位 + 提醒 + 批量复制 + 更大的 API 额度。可随时取消。","monthly":"同样的完整权限，按月付费更划算。可随时取消。"},"globalAdds":"{plan} 另含","opening":"正在打开...","processing":"处理中...","confirming":"正在确认付款...","preparing":"正在准备安全结账...","cta":{"onPlanManage":"你当前是 {plan} - 管理套餐","switchInBilling":"在账单页切换到 {plan}","onAgencyManage":"你当前是 Agency - 管理套餐","get":"获取 {plan}","upgradeToGlobal":"升级到 Global","getAgency":"获取 Agency","everyMonth":"{action} - 每月 {price}","everyWeek":"{action} - 每周 {price}"},"fine":{"monthly":"按月自动续费。{link}。","weekly":"按周自动续费。{link}。"},"manageInBilling":"在账单页管理或取消","crosslink":"不是公会？查看开发者价格","modal":{"close":"关闭","badgeStarterMonthly":"AGENCY STARTER 月付","badgeWeekly":"AGENCY 周付","badgeMonthly":"AGENCY 月付"},"success":{"title":"权限已解锁","body":"公会情报已开通，前往你的控制台吧。","cta":"打开控制台"},"order":{"credit":"当前套餐未使用时长的抵扣","tax":"税费","creditedNextInvoice":"抵扣至下一张账单","chargedToday":"今日扣款","totalToday":"今日合计","labelWeekly":"{plan} 周付","labelMonthly":"{plan} 月付"},"paypalSwap":{"opening":"正在打开 PayPal...","continue":"继续前往 PayPal","footnote":"请在 PayPal 中确认新套餐。确认后，你当前的 PayPal 套餐会自动取消，绝不会重复扣费。"},"proration":{"confirmChange":"确认变更 - 今日 {amount}","confirmUpgrade":"确认升级 - 今日 {amount}","footnote":"从你已绑定的卡扣款。只有一个订阅，不会重复扣费，当前套餐的剩余时长会自动抵扣。"},"business":{"label":"企业采购","companyName":"公司名称"},"methods":{"card":"银行卡订阅","cardSub":"Visa - Mastercard - Amex - Google Pay - Apple Pay","once":"一次性付款 - 不自动续费","onceSub":"支付宝 - 微信支付 - 加密货币 - 银行卡 - iDEAL - Pix - OXXO","paypal":"PayPal 订阅","paypalSub":"PayPal 余额 - 已绑定的卡 - 弹窗打开","footnote":"由 Stripe 和 PayPal 提供安全保障 - 可随时在 Agency 账单页取消"},"back":"返回","oneTimeTag":"一次性","pay":"支付 {amount}","chooseAnother":"选择其他支付方式","errors":{"upgradeFailed":"升级失败，你的套餐未变更。","noApprovalLink":"PayPal 未返回确认链接，请重试。","paypalChangeFailed":"无法发起 PayPal 变更，你的套餐未变更。","initFailed":"支付初始化失败，请重试。","checkoutFailed":"结账失败","paymentFailed":"付款失败。"},"features":{"global":{"realUsernames":"真实用户名 + 主页链接（覆盖所有活跃地区）","copyAll":"所有榜单均可复制任意用户名 + 一键全部复制","newCreators":"新主播发现工具（完整名单）","popularLive":"热门 LIVE - 各地区实时头部主播","gifterIntel":"头部送礼用户情报 + 跨主播关系图","seats":"{seats} 个经纪人席位，一个价格","ultraApi":"API：每天 {dailyRequests} 次请求，{streams} 场直播","alerts":"Telegram + Discord 挖掘提醒","bulkCopy":"批量复制 + 公会控制台"},"starter":{"apiRequests":"API：每天 {dailyRequests} 次请求","wsRooms":"同时接入 {wsConnections} 场直播","accountChecks":"每天 {accountChecks} 次主播查询","boards":"标准榜、联赛榜和游戏榜不脱敏","gifterBoard":"你所在地区的送礼榜不脱敏","dashboard":"公会控制台：主播名单、招募漏斗、分地区招募、送礼用户库","digest":"主播简报、挖掘提醒和团队页面","seats":"包含 {seats} 个席位","backstage":"Backstage 资格检测插件（每天 {backstageChecks} 次检测）","noCredits":"已包含，无需购买积分"},"globalAdds":{"rosterHealth":"主播名单健康度、健康度提醒和健康度简报","allRegions":"全地区招募及可签约主播推送","shoppingWeekly":"电商榜和周榜","gifterFirehose":"全球送礼榜、实时送礼提醒和头部送礼用户情报","hotSpikes":"热度飙升和联赛掉榜","popularLive":"热门 LIVE、飙升榜等 Global 专属榜单","unlimitedBackstage":"Backstage 资格检测不限次数","ultraPlus":"更大的 API 额度：{wsConnections} 场直播，每天 {accountChecks} 次主播查询"}}},"trialModal":{"close":"关闭","eyebrow":"GLOBAL AGENCY","next":"下一步","back":"返回","step1":{"title":"你的公会叫什么？","sub":"完整的 Agency Global 权限。查看价格以选择套餐。","label":"输入你的公会名称","placeholder":"例如 Northstar Talent"},"step2":{"title":"在哪个地区？","sub":"你的公会挖掘主播和运营的地区。","label":"输入你的地区","placeholder":"例如 美国、中东北非、东南亚","activating":"开通中...","activate":"开通 20 分钟"},"success":{"title":"已开通","sub":"已解锁 20 分钟完整权限。"},"upsell":{"eyebrow":"AGENCY 权限","title":"保留完整权限","cta":"查看周付和月付通行证"},"errors":{"generic":"出了点问题，请重试。","sessionExpired":"登录已过期，请重新登录。"}},"onboarding":{"aria":"公会评估版上手引导","skip":"跳过","back":"返回","next":"下一步","finish":"开始探索","stepOf":"第 {step} 步，共 {total} 步","welcome":{"eyebrow":"GLOBAL AGENCY 已开通","title":"欢迎使用你的{accent}","accentTrial":"公会评估版","accentAccess":"公会权限","subTrial":"你的账号现已开通完整 Agency Global 权限：所有主播不脱敏，所有送礼用户，所有飙升中的签约对象。计时已经开始，马上带你进入数据。","subPaid":"你的账号已开通完整 Agency Global 权限：覆盖全部 {count} 个地区，所有主播不脱敏，所有送礼用户，所有飙升中的签约对象。马上带你进入数据。","cta":"开始吧","clockLabel":"评估剩余时间","clockAria":"剩余时间","clockNote":"计时结束前享有完整权限","paidLabel":"完整权限已解锁","paidNote":"所有地区、所有主播，全部不脱敏，整个团队都能用。"},"copy":{"title":"复制任意主播，{accent}","accent":"随时随地","sub":"tik.tools 上的每个 {'@'}用户名现在都能直接复制。打开新主播、排行榜或送礼用户页面，点一下就能把用户名复制到你的公会后台工作流里。没有脱敏，没有占位符。","live":"LIVE","copied":"已复制","copy":"复制"},"rising":{"title":"看看谁在{accent}","accent":"飙升","sub":"抢先发现潜力新人，同时完整查看头部送礼用户、各游戏的游戏榜，以及今天进过地区 Top 99+ 但此刻没在直播的每一位主播。那些藏在截止线后面的签约对象。","cutoff":"TIKTOK 截止线","peak":"峰值 #{rank}","features":{"rising":{"label":"飙升主播","desc":"看增速不看体量，势头一起就能发现。"},"gifters":{"label":"头部送礼用户","desc":"每位主播背后真正的大哥，全部不脱敏。"},"gaming":{"label":"游戏榜","desc":"按地区、按游戏划分的榜单，覆盖所有游戏。"}}},"team":{"title":"让你的团队{accent}高效运转","accent":"全天","sub":"把同样的挖掘推送直接接入 Discord 和 Telegram，经纪人在哪里办公，就在哪里拿到可一键复制的主播名单。","installDiscord":"安装 Discord 机器人","opening":"正在打开...","telegram":"获取 Telegram 权限","commandsHead":"在你的服务器里三步完成","emptyHint":"点击{button}打开邀请页，三条设置命令随后会显示在这里。","steps":{"add":{"cmd":"添加机器人","desc":"在刚打开的邀请页中选择你的服务器，然后授权。"},"setup":{"desc":"绑定你的 tik.tools API Key，机器人就会用你公会的数据来回复。"},"rank":{"desc":"查询任意主播，然后为团队添加 /watch 和 /roster。"}},"tgError":"无法生成个人链接，上面的公开机器人链接仍然可用。"}},"creatorDigest":{"seo":{"title":"主播简报 - 可招募的 TikTok 新主播，邮件送达 {'|'} tik.tools","description":"把你所在地区排行榜和联赛上发现的 TikTok LIVE 新主播通过邮件发给你：一键复制的用户名加 CSV 表格，每 {hours} 小时到每周一次，覆盖 {count} 个地区。只保留近 {months} 个月最高单月钻石低于 {cap} 的主播，资格由你自行检测。","name":"主播简报","ogImageSubtitle":"你所在地区可招募的新主播，以用户名 + CSV 邮件送达。","ogImageBadge":"AGENCY"},"jsonLd":{"breadcrumbHome":"首页"},"getStarter":"获取 {plan} - {price}/月","hero":{"kicker":"公会专属","title":"你所在地区可招募的新主播。{highlight}","titleHighlight":"直达你的邮箱。","sub":"主播简报会把你所在地区排行榜和联赛上发现的新主播发到你的邮箱，以一键复制的用户名加 CSV 表格呈现，方便你自行检测资格。每 6 小时、每天或每周一次，由你决定。","setup":"设置你的简报","sample":"查看示例邮件"},"facts":{"aria":"简报一览","regions":"个地区可选","hoursValue":"{hours} 小时","cadence":"最快频率，最慢每周一次","sheet":"每封邮件都附带表格","ceiling":"近 {months} 个月最高单月钻石上限"},"features":{"kicker":"你能得到什么","title":"按计划送达的可招募新人","lede":"候选人与{link}页面相同：此刻正在赚钻石、且近 {months} 个月最高单月钻石低于 {cap}（TikTok 公会邀约规则）的主播。简报负责送上名单，资格由你用 Chrome 插件或在公会后台批量粘贴来检测。","ledeLink":"新主播","items":{"copy":{"title":"一键复制的用户名","body":"每行一个用户名，按地区分组。选中、复制，粘贴到公会后台的批量资格检测或你的外联表格里。无需抓取，无需整理格式。"},"csv":{"title":"每封邮件附带 CSV 表格","body":"用户名、昵称、地区，以及决定排名的评分。可用 Sheets 或 Excel 打开，直接导入你的 CRM。"},"delta":{"title":"自上次简报以来的新面孔","body":"上一封邮件里没有的名字排在最前面。切换到「仅新名字」后，每封简报都只包含新增部分。"},"cadence":{"title":"你定频率","body":"每 6、12 或 18 小时，每天或每周一次。快到能在主播开始赚钱的当天联系上，也可以慢到每周一集中处理。"},"regions":{"title":"{count} 个地区","body":"选一个市场或全部市场都行。每个地区在邮件里单独成块，在表格里单独成列。"},"ceiling":{"title":"内置签约上限筛选","body":"只有近 {months} 个月最高单月钻石低于 {cap} 的主播才会入选，这是 TikTok 的公会邀约规则，与新主播页面使用同一筛选。资格本身由你自行检测。"}}},"sample":{"kicker":"示例邮件","title":"你的邮箱会收到什么","lede":"每期简报一封邮件。名字每行一个，整块粘贴到公会后台的批量资格检测、表格或消息里即可。CSV 包含同样的名字，以及地区、昵称和决定排名的评分。","list":{"newFirst":"自上次简报以来的新面孔排在最前","fullList":"下方是完整地区名单（也可以只看新名字）","csv":"每封邮件都附带 CSV 表格","recipient":"只发送到你的账号邮箱，不会发给其他人"},"aria":"示例简报邮件","when":"每 6 小时","subject":"待检测的新主播 - 北美、巴西 - 248 个名字","greeting":"Maya 你好，以下是此刻在你所在地区发现的新主播。","newTag":"自上次简报以来新增","regionNorthAmerica":"北美","regionBrazil":"巴西","rows":"{count} 行"},"steps":{"kicker":"设置","title":"三步搞定，大约一分钟","items":{"open":{"title":"打开简报设置","body":"公会账号可以在本页找到，也可以在挖掘看板的「团队」下找到。打开开关。"},"pick":{"title":"选择地区、频率和模式","body":"点选你招募的地区，选择收信频率，再决定每次收完整名单还是只收新名字。"},"save":{"title":"保存","body":"第一期简报会在下一次计划发送时发到你的账号邮箱。之后随时修改，下一封邮件就会生效。"}}},"settings":{"kicker":"你的简报","title":"在这里设置","lede":"简报会发送到你的账号邮箱。地区和频率随时可改，下一期简报即按新设置发送。"},"price":{"kicker":"Agency 已包含","title":"所有 Agency 套餐均包含","lede":"每个 Agency 账号（Starter 和 Global）都包含简报，同时还有公会控制台、一键复制主播名单、团队席位和 Telegram 挖掘机器人。无需加购，不按地区收费。","perMonth":"/ 月","alt":"或 {plan} 每周 {price} 起","note":"即时解锁，可随时取消。"},"faq":{"kicker":"常见问题","title":"公会常问的问题","items":{"eligibility":{"q":"简报会检测资格吗？","a":"不会。简报从排行榜和联赛中找出新主播，并按 TikTok 公会邀约规则筛除近 {months} 个月内任一月钻石达到 {cap} 及以上的主播。资格需要你自己用 Chrome 插件检测，或把用户名粘贴到公会后台进行批量检测。"},"regions":{"q":"我可以订阅多少个地区？","a":"任意数量，最多全部 {count} 个。每个地区在邮件里单独成块，在 CSV 里单独分组，选得再多也清晰易读。"},"modes":{"q":"完整名单和仅新名字有什么区别？","a":"完整名单每次发送你所在地区的全部候选人，新面孔标注在最前面。仅新名字只发送上一期简报中没有出现过的主播。"},"recipient":{"q":"邮件发到哪里？","a":"发到你 tik.tools 账号绑定的邮箱。收件人由你的账号决定，而不是表单填写，因此简报永远不会被指向其他人。"},"charge":{"q":"简报需要额外付费吗？","a":"不需要。所有 Agency 套餐（Starter 和 Global）都包含简报，同时还有公会控制台、一键复制主播名单、团队席位和 Telegram 挖掘机器人。"}}}},"digestSettings":{"title":"邮件简报","lede":"你会按所选频率在账号邮箱中收到各地区发现的新主播，包含一键复制的用户名和附带的 CSV 表格。","regions":{"label":"地区","count":"{active} 个活跃，已选 {picked} 个","loadError":"地区加载失败，请刷新页面后重试。"},"countryBoards":"国家榜单","cadence":{"label":"频率","hours":{"6":"每 6 小时","12":"每 12 小时","18":"每 18 小时","24":"每天","168":"每周"},"atSetTimes":"按指定时间"},"sendAt":{"label":"发送时间","hint":"每天最多 {max} 次，按 {tz} 时间"},"timezone":"时区","perRegion":{"label":"各地区使用不同时间","hint":"可选 - 未单独设置时间的地区按上方时间发送","ownTimes":"：单独时间","sameAsAbove":"：同上"},"mode":{"label":"每封邮件","options":{"full":"每次发送完整名单","new":"仅新名字"}},"include":{"label":"包含","creators":"主播","gifters":"送礼用户 + 其前 3 位主播"},"attachment":{"label":"附件","hint":"批量复制粘贴时，每个地区一张表更方便分给团队","combined":"合并为一张表","split":"每个地区一张表，仅含用户名"},"saving":"保存中...","save":"保存简报设置","feedback":{"pickTime":"请至少选择一个发送时间。","ownTimesOne":"，其中 {count} 个地区使用单独时间","ownTimesMany":"，其中 {count} 个地区使用单独时间","atTimes":"于 {times}（{tz}）{ownTimes}","cadence":{"6":"每 6 小时","12":"每 12 小时","18":"每 18 小时","24":"每天","168":"每周"},"saved":"已保存 - {when}发送到你的账号邮箱。","savedOff":"已保存 - 简报已关闭。","saveFailed":"保存失败，请确认已选择地区。"}},"recruit":{"seo":{"title":"按收益区间招募主播 - tik.tools","description":"公会主播招募搜索。按各地区月均钻石区间筛选候选主播。"},"badge":"公会功能","title":"按{highlight}招募","titleHighlight":"收益区间","sub":"按月均钻石筛选候选主播。结果以区间范围呈现，用于指导招募，而非导出我们的数据集。","upsell":{"title":"主播招募搜索仅限 Agency","body":"升级后即可在所有地区按月收益区间筛选主播。","unlock":"用 Agency 解锁","login":"登录"},"filters":{"region":"地区","allRegions":"所有地区","avgMonth":"月均","searching":"搜索中...","search":"搜索"},"table":{"creator":"主播","active":"活跃","liveDays":"开播天数","months":"{count} 个月","days":"{count} 天","foot":"最多显示 50 条 - 数值为区间范围，并非精确总数。"},"empty":"没有符合该区间和地区的主播。","notices":{"dailyCap":"已达到每日搜索上限，24 小时后重置。","rate":"搜索过于频繁，请稍等片刻再试。","allRegions":"{starterPlan} 一次只能搜索一个地区。请选择地区，或升级到 {globalPlan} 一次搜索所有地区。","planRequired":"需要 Agency 套餐。","unavailable":"搜索暂时不可用，请稍后再试。"}},"watchedGifters":{"nav":"关注的送礼用户","intro":"通过 {'@'}用户名或 TikTok 主页链接，添加你关心的送礼用户。我们会跟踪他们支持和关注的主播，从而记录到他们更多的礼物。","disclosureTitle":"覆盖范围有限","disclosure":"覆盖率并非 100%：我们只能记录送礼用户在我们已连接的 LIVE 直播间中送出的礼物。我们会自动跟踪该送礼用户支持和关注的主播以捕获更多礼物，但在我们未连接的直播间中送出的礼物可能会遗漏。","inputLabel":"TikTok 用户名或主页链接","inputPlaceholder":"{'@'}username 或 tiktok.com/{'@'}username","add":"添加送礼用户","adding":"添加中...","counter":"已关注 {count} / {limit} 位送礼用户","added":"已开始关注 {'@'}{handle}。","alreadyWatching":"{'@'}{handle} 已在你的列表中。","removed":"已停止关注 {'@'}{handle}。","empty":"还没有关注的送礼用户。在上方添加一位，开始记录其礼物。","loadError":"无法加载你关注的送礼用户。","retry":"重试","remove":"移除","removeConfirm":"停止关注 {'@'}{handle}？已记录的礼物会保留在我们的数据中，但我们将不再围绕其扩展覆盖范围。","showGifts":"显示礼物","hideGifts":"隐藏礼物","lastGift":"最近一次礼物","lastGiftLine":"{gift} 送给 {'@'}{creator}","noGiftsYet":"暂无礼物记录","totalDiamonds":"已记录钻石","gifts":"礼物","creators":"打赏过的主播","diamondsShort":"{count} 钻石","coverage":{"full":"正在为该送礼用户跟踪 {total} 位主播：{gifted} 位其打赏过，{follows} 位其关注，{seen} 个其出现过的直播间。{live} 位正在直播，{recording} 位正在记录。","private":"正在为该送礼用户跟踪 {total} 位主播：{gifted} 位其打赏过，{seen} 个其出现过的直播间。{live} 位正在直播，{recording} 位正在记录。其关注列表在 TikTok 上未公开，因此仅使用送礼记录和直播间出现记录。","notChecked":"正在为该送礼用户跟踪 {total} 位主播：{gifted} 位其打赏过，{seen} 个其出现过的直播间。{live} 位正在直播，{recording} 位正在记录。其关注列表尚未检查。","starting":"正在开始扩展覆盖范围，请几分钟后再来查看。","updated":"更新于 {ago}"},"panel":{"giftsTitle":"已记录的礼物","creatorsTitle":"打赏过的主播","time":"时间","creator":"主播","gift":"礼物","diamonds":"钻石","creatorSummary":"{gifts} 个礼物，共 {diamonds} 钻石","noFeed":"暂无该送礼用户的礼物记录。","loading":"正在加载礼物...","loadMore":"加载更多"},"alerts":{"title":"礼物提醒","label":"当该送礼用户送出的礼物不低于以下数值时提醒我","unit":"金币","save":"保存","saving":"保存中...","turnOff":"关闭","on":"已开启提醒：{coins} 金币及以上的礼物。","off":"尚未为该送礼用户设置提醒。","saved":"提醒已保存。","turnedOff":"提醒已关闭。","unavailable":"暂时无法加载提醒设置。","delivery":"提醒通过你账号中订阅了 gifter.watched_gift 的 Webhook，或你的公会 Telegram 席位发送。","webhooksLink":"管理 Webhook","errors":{"range":"请输入 {min} 到 {max} 之间的整数金币数。","failed":"无法保存提醒。你的提醒列表可能已满，或请稍后重试。"}},"errors":{"invalid":"请输入 TikTok {'@'}用户名或主页链接。","notFound":"未找到该 TikTok 账号。","limit":"你的套餐包含 {limit} 位关注送礼用户。请先移除一位再添加。","rate":"更改过于频繁，请等待几分钟后重试。","locked":"关注送礼用户功能属于付费 Agency 套餐。","notWatched":"该送礼用户已不在你的关注列表中。","feed":"无法加载该送礼用户的礼物。","generic":"出了点问题，请重试。"},"locked":{"title":"关注送礼用户功能属于付费 Agency 套餐","body":"Agency Starter 包含 {starter} 位关注送礼用户，Agency Global 包含 {global} 位。我们会围绕每位送礼用户扩展实时覆盖范围，记录到他们更多的礼物。","cta":"查看 Agency 套餐"}},"compare":{"kicker":"套餐对比","title":"{starterPlan} 还是 {globalPlan}？","sub":"两个套餐都包含公会控制台和 {seats} 个席位。区别在于你能在多少个地区招募，以及能看到多少送礼数据。","colFeature":"包含内容","included":"包含","notIncluded":"不包含","rows":{"price":{"label":"价格","starter":"每月 {price}","global":"每周 {weekly} 或每月 {monthly}"},"regions":{"label":"招募地区","starter":"每次一个地区","global":"同时覆盖全部 {count} 个地区"},"seats":{"label":"团队席位","value":"{count} 个席位"},"dashboard":{"label":"公会控制台：主播名单、招募漏斗、备注、任务"},"digest":{"label":"邮件简报","starter":"新主播","global":"新主播和新送礼用户"},"alerts":{"label":"Telegram 和 Discord 挖掘提醒"},"boards":{"label":"显示真实用户名的榜单","starter":"标准榜、联赛榜和游戏榜","global":"所有榜单，包括购物榜、周榜和 Popular LIVE"},"gifters":{"label":"头部送礼用户","starter":"你所在地区的送礼榜","global":"全球送礼榜、实时送礼提醒和头部送礼用户情报"},"health":{"label":"主播名单健康提醒和周一汇总"},"spikes":{"label":"热度飙升和联赛掉队"},"backstage":{"label":"Backstage 资格检测","starter":"每天 {count} 次","global":"不限次数"},"api":{"label":"供开发人员使用的 API","value":"每天 {requests} 次请求，{streams} 场直播，每天 {lookups} 次主播查询"}}},"morning":{"kicker":"每天早上","title":"每天早上你会收到什么","lede":"选择地区和简报送达时间：每天一次、每隔几小时或每周一次，按你所在的时区发送。新名字直接进入你的收件箱和团队群聊，随时可复制。无需代码，除此之外无需任何设置。","digest":{"title":"邮件简报","body":"你所选地区排行榜和联赛中的新主播，附 7 天和 30 天预估、可粘贴到批量检测的用户名列表，以及完整名单表格文件。"},"alerts":{"title":"挖掘提醒","body":"上升中的主播在排名攀升时即推送到你的 Telegram 或 Discord，团队看到就能复制名字。"},"health":{"title":"{plan} 的主播名单健康度","body":"名单中的主播出现风险时每天提醒，每周一发送汇总，包含总数据、收入最高的主播和你的招募漏斗。"},"note":"我们不会替你检测资格：请把用户名粘贴到资格检测插件或 Backstage 批量检测中。","digestAlt":"挪威的真实每日简报邮件：新主播表格，含 7 天和 30 天预估以及每位主播的首次出现日期。","digestCaption":"某一地区的真实每日简报（截取部分）。送礼用户部分属于 {plan}。","dashAlt":"加拿大公会控制台的招募面板：在 TikTok 排行榜和联赛中发现的新主播，每位都带有关注按钮。","dashCaption":"公会控制台的招募面板（截取部分）。来自实时排行榜和联赛数据的真实公开主播。","videoTitle":"观看演示视频"}},"legalNotice":{"text":"本页为参考译文。如与英文版本有任何不一致，以英文版本为准。{link}","link":"查看英文版本"},"dashboard":{"meta":{"title":"控制台 - TikTool Live"},"loading":"正在加载控制台...","common":{"seePricing":"查看价格"},"actions":{"copy":"复制","copied":"已复制","copiedBang":"已复制！","copyKey":"复制 Key","hide":"隐藏","show":"显示","hideKey":"隐藏 Key","showKey":"显示 Key","revealKey":"显示完整 Key"},"units":{"hours":"{n} 小时","days":"{n} 天","thousands":"{n}k","millions":"{n}M"},"ago":{"seconds":"{n} 秒前","minutes":"{n} 分钟前","hours":"{n} 小时前","days":"{n} 天前"},"blocked":{"title":"账号已受限","logout":"退出登录","seePlans":"查看套餐","contact":"联系我们","defaultMessage":"你的账号已受限。如认为这是误操作，请联系客服。"},"header":{"title":"控制台","billing":"账单","resetTitle":"所有每日限额均在 UTC 午夜重置","resetIn":"每日限额将在 {time} 后重置"},"keyBar":{"unnamed":"未命名","live":"{count} 人直播中","upgradeKey":"升级 Key"},"nudge":{"title":"{seconds} 秒内发出你的第一个请求","sub":"这个 Key 还没有发出过请求。示例代码已预填你的 API Key。选择一种语言，复制、粘贴、运行即可。","copyLabel":"复制首次运行代码","dismiss":"关闭"},"fpWarn":{"title":"检测到 Sandbox Key 被用于生产环境","foot":"Sandbox Key 仅限开发和评估使用。继续用于生产环境将触发自动永久封禁（不退款、不另行警告）。{link}。","termsLink":"参见条款 §4.3-4.4","upgradeNow":"立即升级"},"evaluation":{"endedLabel":"评估已结束","endedOn":"已于 {date} 结束","endedHint":"你的 Sandbox 评估已结束，此账号的 API 请求和直播会话都会被拒绝。选择一个套餐即可继续使用。"},"community":{"label":"今日已用免费会话","reached":"已达今日演示上限","hint":"每次会话最长 {duration}。UTC 午夜重置。","upgrade":"升级"},"live":{"title":"实时活动","sub":"实时：根据你正在进行的请求流量即时推送","state":{"connecting":"连接中","idle":"监听中","active":"LIVE"},"idleTitle":"正在监听实时活动","idleBody":"发出你的第一个 API 调用，此面板会立即亮起。","copyLabel":"复制首次调用代码","statWs":"WS {window}","statRest":"REST {window}","statErrors":"错误 {window}"},"welcome":{"title":"你的 API Key 已就绪","subtitle":"已为你的账号开通一个 Sandbox 套餐 Key。请妥善保存，完整 Key 仅显示这一次。","keyLabel":"API Key","copied":"已复制到剪贴板","getStarted":"开始使用","docs":"文档","starTitle":"在 GitHub 上给我们 Star","star":"在 GitHub 上 Star","reqPerDay":"每天 {count} 次请求","wsConnections":"{count} 个 WebSocket 连接","upgradeAnytime":"可随时升级"},"empty":{"title":"欢迎使用 TikTool Live","desc":"创建你的第一个 API Key，开始实时连接 TikTok 直播。","creating":"创建中...","create":"创建你的第一个 API Key"},"stats":{"todayRequests":"今日请求数","evalEnded":"评估已结束 - {link}","seePricing":"查看价格","ofDailyLimit":"每日上限 {limit}","wsToday":"今日 WS 连接数","wsPerDay":"每天上限 {limit}，UTC 午夜重置","wsNoCap":"此套餐无每日上限","totalRequests":"总请求数","allTime":"累计","wsConnections":"WebSocket 连接","live":"直播中","idle":"空闲","activeConnections":"个活跃连接","subscription":"订阅","activePlan":"有效 - {plan}","monthly":"按月","upgrade":"升级","upgradeTo":"升级到 {plan}"},"expiry":{"evalEndedUpgrade":"评估已结束，升级后即可继续","expired":"访问权限已到期","evalEndsToday":"评估今天结束","evalDaysLeft":"评估：剩余 {days} 天","expiresToday":"今天到期","daysLeft":"剩余 {days} 天"},"badge":{"renewing":"自动续费","expiring":"即将到期","expired":"已到期"},"upgradeNudge":{"title":"你已用掉今日请求配额的 {pct}%","reqPerDay":"{value} 次请求/天","webSockets":"{value} 个 WebSocket","unlock":"解锁 {plan}"},"limits":{"title":"当前生效的限额","custom":"自定义","override":"已覆盖","evalEnded":"评估已结束：API 会拒绝此 Key，以下限额已不再适用。{link}即可继续。","items":{"dailyLimit":"请求数 / 天","rateLimit":"请求数 / 分钟","wsLimit":"WebSocket 连接","bulkCheckLimit":"批量检查 ID 数","wsDailyLimit":"WS 连接数 / 天"}},"key":{"title":"API Key - {label}","titleEditing":"API Key -","rename":"重命名 Key","meta":{"plan":"套餐","status":"状态","renews":"续费日期","cancels":"取消日期","giftExpires":"赠送到期","expired":"已到期","accessUntil":"可用至","created":"创建时间"},"regenerateTitle":"轮换此 API Key（生成新值，限额和 ID 保持不变）","regenerate":"重新生成 Key","deleteTitle":"从控制台移除此 API Key","delete":"删除 Key","cancelSubTitle":"取消此 Key 的订阅","cancelSub":"取消订阅"},"quickStart":{"title":"快速入门"},"usage":{"title":"用量分析","metric":{"all":"全部","requests":"请求数","errors":"错误"},"range":{"today":"今天（UTC）","yesterday":"昨天（UTC）","lastHours":"最近 {n} 小时","days":"{n} 天"},"loading":"正在加载用量数据...","unit":{"connections":"个连接","errors":"个错误","requests":"次请求"},"series":{"requests":"请求数","ws":"WS","errors":"错误"},"stats":{"totalRequests":"总请求数","errorRate":"错误率","avgResponse":"平均响应时间","uniqueIps":"独立 IP","wsSessions":"WS 会话"},"seriesMissing":"此时间段的分时数据暂不可用。下方列出了该时段调用最多的接口。","showLastHours":"显示最近 {n} 小时","empty":"此时间段没有请求记录。","methods":"方法","statusCodes":"状态码"},"traffic":{"title":"{window} 流量","total":"合计","errors":"错误","empty":"最近 {window} 内没有请求。","hover":"{hour} - {count} 次请求","hoverWithErrors":"{hour} - {count} 次请求，{errors} 个错误"},"topEndpoints":"热门接口","recent":{"title":"最近的 API 调用","endpoint":"接口","method":"方法","status":"状态","time":"时间","details":"详情"},"newKey":{"title":"为新 API Key 命名","desc":"给 Key 起个名字，方便在控制台中识别。","placeholder":"例如：生产环境、测试环境、助手 2...","continue":"继续选择套餐"},"upgrade":{"keyCreated":"Key 已创建！","activated":"订阅已激活！","choosePlanFor":"为 {label} 选择套餐","upgradeYourKey":"升级你的 Key","descNewKey":"为你的新 API Key 选择套餐","descUpgrade":"选择套餐，解锁更高限额和高级功能","successNewKey":"已使用 {plan} 套餐创建你的新 API Key {label}。控制台即将刷新。","successUpgrade":"你的 API Key 已升级到 {plan}。控制台即将刷新。","backToDashboard":"返回控制台","cycle":{"weekly":"按周","monthly":"按月"},"cycleLower":{"weekly":"周付","monthly":"月付"},"period":{"wk":"周","mo":"月"},"feat":{"reqPerDay":"{value} 次请求/天","ws":"{count} 个 WS","wsFirehose":"{count} 个 WS + Firehose","captionOne":"{count} 路字幕","captionOther":"{count} 路字幕","priorityRouting":"优先路由","proLevelApi":"API：与 Pro 相同的每日请求量，直播接入数翻倍","agencyDashboard":"公会控制台","seats":"{count} 个席位","unmaskedGifter":"不脱敏送礼用户 API"},"select":"选择","selected":"已选择","discountNamed":"折扣（{name}）","discount":"折扣","subtotal":"小计","total":"合计","taxNextStep":"税费将在下一步计算","taxAuto":"如适用，税费将自动计算","couponToggle":"有优惠码？","couponPlaceholder":"优惠码","checking":"校验中...","apply":"使用","remove":"移除","couponApplied":"优惠码已生效！","business":"企业采购","companyName":"公司名称","taxId":"税号 / 增值税号（选填）","continueToPayment":"继续付款","swapCredit":"当前套餐未使用时长抵扣","swapLine":"{plan}（{cycle}）","continueToPaypal":"前往 PayPal","keepCurrent":"保留当前套餐","creditedNext":"抵扣至下一张账单","chargedToday":"今日从你的银行卡扣款","confirmChange":"确认更换套餐","or":"或","compare":"对比全部功能","settingUp":"正在准备付款...","paymentMethod":"付款方式","processing":"处理中...","pay":"支付 {amount}","backToSummary":"返回订单摘要","secured":"由 Stripe 提供安全保障。我们从不保存你的银行卡信息。","errors":{"alreadyOnPlan":"此 Key 已经是该套餐。","pricePlanFailed":"无法计算此次套餐变更的价格，请重试。","paypalNoLink":"PayPal 未返回确认链接，请重试。","changeFailedRetry":"无法更换套餐。请重试或联系客服。","changeFailedUnchanged":"无法更换套餐，你的套餐未发生变化。","invalidCoupon":"优惠码无效","couponValidateFailed":"无法校验优惠码","fixCoupon":"请先修改或移除无效的优惠码再继续。","stripeNotLoaded":"支付系统未加载，请重试。","initFailed":"付款初始化失败，请重试。","createSubFailed":"创建订阅失败","paymentFailed":"付款失败"}},"topUp":{"added":"积分已到账！","title":"充值字幕积分","desc":"选择积分套餐。{n} 积分 = {n} 分钟 × {n} 种语言。","success":"{credits}已充入你的账号。控制台即将刷新。","done":"完成","bestValue":"最划算","credits":"积分","creditsCount":"{count} 积分","ratePerCredit":"{price}/积分","savings":"节省 {percent}%","backToPackages":"返回积分套餐","errors":{"invalidCoupon":"优惠码无效","createFailed":"创建付款失败"}},"regenerate":{"title":"重新生成 API Key？","desc":"此操作会用新 Key {replace}你当前的 API Key，旧 Key 将{stop}。你的订阅和套餐会转移到新 Key。","replace":"替换","stop":"立即失效","cancel":"取消","loading":"正在重新生成...","confirm":"确认重新生成","failed":"重新生成失败，请重试。"},"cancelSub":{"title":"取消订阅？","desc":"此操作将{cancel}，并{revoke}。此操作无法撤销。","cancelStrong":"取消此 Key 的 Stripe 订阅","revokeStrong":"吊销该 API Key","warning":"订阅结束时，{forfeit}。字幕积分需要有效的 {plan} 或更高套餐订阅。","forfeit":"所有已购买的字幕积分将作废","keep":"保留订阅","loading":"正在取消...","confirm":"确认取消并吊销"},"deleteKey":{"title":"删除 API Key？","desc":"此操作会从控制台移除该 Key 并{deactivate}，Key 会马上停止工作。其上所有有效订阅都会被取消。","deactivate":"立即停用","keep":"保留 Key","loading":"删除中...","confirm":"确认删除 Key","failed":"删除 Key 失败"},"subStatus":{"active":"有效","paymentFailed":"付款失败","awaitingPayment":"等待付款","paymentIncomplete":"付款未完成","cancelled":"已取消","unpaid":"未付款","expired":"已到期","free":"免费"}},"account":{"billing":{"seoTitle":"账单 - TikTools","title":"账单","dashboard":"控制台","loading":"正在加载账单数据...","loadFailed":"账单数据加载失败。{retry}","retry":"重试","subsTitle":"订阅与 Key","empty":"暂无有效订阅或 Key。","viewPlans":"查看套餐","keyRevoked":"Key 已吊销","weekendCountdown":"{time}后自动续费为按周 {plan}（{date}）","labels":{"status":"状态","plan":"套餐","billing":"计费","amount":"金额","accessUntil":"可用至","renews":"续费日期","ended":"结束日期"},"cancelling":"取消中","interval":{"year":"按年","week":"按周","month":"按月"},"per":{"year":"{amount}/年","week":"{amount}/周","month":"{amount}/月"},"cancelNotice":"订阅将于 {date} 结束","pausedOn":"已暂停，期间不扣费。将于 {date} 恢复计费。","pausedAuto":"已暂停，期间不扣费。到期后自动恢复计费。","resumeNow":"立即恢复","changePlan":"更换套餐","cancelSubscription":"取消订阅","reactivate":"重新激活 / 选择新套餐","prepaid":"预付","renewStack":"立即续费，天数将累加","appStorePlan":"App Store 订阅","appStoreManage":"在 App Store 中管理","renewNow":"立即续费","sandboxNoSub":"{plan} 套餐，无订阅","notLinked":"订阅未关联","upgrade":"升级","getPlan":"选择套餐","paymentMethod":"付款方式","noPaymentMethod":"尚未绑定付款方式","opening":"正在打开...","updatePm":"更新付款方式","addPm":"添加付款方式","details":{"title":"发票信息","intro":"将作为发票上的「开票对象」显示。如需开具公司发票，请填写公司名称、地址和增值税号。","name":"公司名称或姓名","address":"地址","address2":"地址第 2 行","optional":"选填","city":"城市","postalCode":"邮政编码","state":"州 / 省 / 地区","country":"国家","chooseCountry":"选择国家","taxId":"增值税号或税号","taxIdUnavailable":"该国家暂不支持","verification":"验证状态：{status}","saving":"保存中...","save":"保存信息","saved":"已保存。新发票将使用这些信息。","saveFailed":"发票信息保存失败，请重试。"},"nextPayment":"下次付款","due":"{date} 到期","invoiceHistory":"发票记录","th":{"invoice":"发票","date":"日期","amount":"金额","status":"状态"},"view":"查看","downloadPdf":"下载 PDF","cancelModal":{"title":"取消订阅？","desc":"你的订阅在当前计费周期结束前仍然有效。之后该 Key 将降级为 {plan} 套餐。","pauseHead":"想先暂停一下？","pauseDesc":"暂停 {days} 天，保留你的 Key、套餐和历史记录。暂停期间不扣费，到期后自动恢复计费。","pauseCta":"暂停 {days} 天","working":"处理中...","keep":"保留订阅","cancelling":"正在取消..."},"paymentModal":{"updateTitle":"更新付款方式","addTitle":"添加付款方式","cancel":"取消","saving":"保存中...","save":"保存银行卡"},"errors":{"pauseFailed":"暂停订阅失败","resumeFailed":"恢复订阅失败","cancelFailed":"取消订阅失败","portalFailed":"无法打开账单门户，请联系 {email}","notLoaded":"支付系统未加载","loadFormFailed":"付款表单加载失败","updateFailed":"更新付款方式失败"},"previousKey":"原 Key","unknownPlan":"未知","timeLeft":{"renewing":"正在续费","days":"剩余 {d} 天 {h} 小时","hours":"剩余 {h} 小时 {m} 分钟"},"status":{"active":"有效","trialing":"有效","past_due":"已逾期","unpaid":"未付款","incomplete":"付款处理中","incomplete_expired":"付款未完成","canceled":"已取消","cancelled":"已取消","paused":"已暂停","suspended":"已停用","expired":"已到期","approval_pending":"等待确认","approved":"已确认","pending":"待处理","processing":"处理中","failed":"付款失败","refunded":"已退款","partially_refunded":"部分退款","paid":"已付款","open":"待付款","draft":"草稿","void":"已作废","uncollectible":"无法收款","verified":"已验证","unverified":"未验证","unavailable":"不可用","unknown":"未知"}},"vipBilling":{"seoTitle":"PASS 账单 - TikTool","title":"PASS 账单","plans":"PASS 套餐","apiBilling":"API 账单","empty":"暂无有效的 PASS 订阅。","viewPlans":"查看 PASS 套餐","subscription":"PASS 订阅","membership":"PASS 会员","endsOn":"订阅将于 {date} 结束","managePlan":"管理套餐","noInvoices":"暂无 PASS 发票。","cancelTitle":"取消 PASS 订阅？","cancelDesc":"你的套餐在本计费周期结束前仍然有效，之后 PASS 功能将被移除。不足一个月的部分不予退款。","keepPlan":"保留套餐","cancelFailed":"取消失败，请重试。"},"daypass":{"seoTitle":"{plan} 访问权限 - Tik.Tools","eyebrow":"邀请","title":"你的免费{pass}","lede":"完整 {plan} 访问权限：全部地区排行榜、联赛榜 + 游戏榜、送礼用户情报，以及 Discord 排行榜机器人。","giftersDesc":"头部送礼用户 + 主播主页","success":{"title":"已开通。","sub":"完整 {plan} 访问权限已解锁 {hours} 小时。马上开始：","ranksTitle":"实时排行榜","ranksDesc":"全部地区，实时更新，不脱敏","botTitle":"添加 Discord 机器人","botDesc":"然后在你的服务器中输入 {command}","giftersTitle":"主播和送礼用户","foot":"通行证将在 {hours} 小时后到期。我们会发邮件给你，一键即可继续使用。"},"demo":{"unmaskTitle":"不脱敏排行榜","unmaskDesc":"全部地区 + 联赛排名，显示真实名称","intelTitle":"送礼用户情报","discordDesc":"在你的服务器内查看实时榜单"},"activating":"正在激活你的通行证...","activate":"激活我的 Day Pass","google":"使用 Google 继续以开始","fineprint":"按月或按周计费 · 可随时取消。","startFailed":"无法开通你的通行证，请重试。"},"daypassKeep":{"seoTitle":"继续使用 {plan} - Tik.Tools","errorTitle":"出了点问题","retry":"重试","redirecting":"正在跳转到安全结账页面...","payWith":"{plan}：支持 Apple Pay、Google Pay、PayPal 或银行卡付款。","planMonthly":"{plan} - {price}/月","planWeekly":"{plan} - {price}/周","notOpened":"结账页面未打开，请重试。","failed":"结账失败，请重试。"},"page":{"seoTitle":"账号 - TikTools","avatarAlt":"你","fallbackName":"你的账户","loading":"正在加载你的账号...","profile":"个人资料","displayName":"显示名称","namePlaceholder":"你的名字","saving":"保存中...","save":"保存","saved":"已保存","saveFailed":"保存失败","email":"邮箱","googleSignIn":"Google 登录","emailPassword":"邮箱 + 密码","password":"密码","googleNote":"你使用 Google 登录，因此这里没有可修改的密码。请在你的 Google 账号中管理。","currentPassword":"当前密码","newPassword":"新密码","newPasswordPlaceholder":"至少 {min} 个字符，含 1 个大写字母和 1 个数字","confirmPassword":"确认新密码","repeatPassword":"再次输入新密码","hintLength":"{min} 个字符以上","hintUpper":"1 个大写字母","hintNumber":"1 个数字","updating":"更新中...","changePassword":"修改密码","pwFine":"每次修改密码时，我们都会向 {email} 发送确认邮件。","planBilling":"套餐与账单","currentPlan":"当前套餐","subscription":"订阅","noSubscription":"暂无有效订阅","manageBilling":"管理账单","viewPlans":"查看套餐","signOut":"退出登录","pwMismatch":"两次输入的新密码不一致","pwChanged":"密码已修改，确认邮件正在发送中。","pwFailed":"密码修改失败"},"completeProfile":{"seoTitle":"完善资料 - TikTool","connected":"TikTok 已连接","title":"最后一步","sub":"添加你的邮箱，以接收提醒、收据和账号找回选项。","save":"保存并继续","skip":"暂时跳过","invalidEmail":"请输入有效的邮箱地址。","saveFailed":"邮箱保存失败，请重试。"},"forgot":{"seoTitle":"重置密码 - tik.tools","title":"重置密码","subStep1":"我们会给你发送一封包含 {digits} 位验证码的邮件。","subStep2":"输入邮件中的验证码，并设置新密码。","sending":"发送中...","sendCode":"发送重置验证码","codeLabel":"{digits} 位验证码","passwordPlaceholder":"至少 {min} 个字符","passwordHint":"至少 {min} 个字符，需包含一个大写字母和一个数字。","saving":"保存中...","setPassword":"设置新密码","differentEmail":"使用其他邮箱","back":"返回登录","checkEmail":"请查收邮件。","updated":"密码已更新，正在跳转到登录页...","genericError":"出了点问题，请重试。"},"banned":{"seoTitle":"账号已停用","title":"已封禁","sub":"账号因滥用 API 已被停用","permanent":"永久","perma":"永久","minutes":"{min} 分钟","continue":"继续"},"claimError":{"seoTitle":"验证错误","title":"验证失败","close":"关闭","fallback":"验证过程中出现错误，请重试。"},"refundPolicy":{"text":"朗读时长包：每个账户限退款一次。一经申请即终止访问权限，未使用的时长将在扣除支付处理商手续费后退还。API 套餐和 Agency 套餐不予退款，但因我方原因导致的故障、重复扣款或计费错误除外（服务条款第 5.4 条）。{link}。","link":"查看服务条款"}},"agencyDash":{"sections":{"home":"控制台","today":"今天","watchlist":"观察名单","roster":"旗下主播","health":"主播名单健康度","pipeline":"招募漏斗","tracker":"直播追踪","notes":"备注","archive":"归档","battles":"PK 记录","gifters":"送礼用户库","tasks":"任务","teamActivity":"团队动态","teamTasks":"团队任务","team":"团队"},"shell":{"agencyTools":"公会工具","dashboard":"控制台","upgrade":"升级","billing":"账单","openMenu":"打开公会菜单","menu":"公会菜单","closeMenu":"关闭公会菜单","workspace":"工作区","account":"账号","seePlans":"查看公会套餐","backTo":"返回 {brand}","explore":{"newCreators":"新主播","agencyPulse":"公会动态","rising":"飙升","agencies":"公会"}},"wall":{"title":"公会 CRM","body":"实时主播名单追踪、送礼用户情报、PK 记录和团队工具，均包含在公会套餐中。","cta":"查看公会套餐"},"common":{"followers":"{count} 位粉丝","live":"LIVE","off":"未开播","offline":"离线","archive":"归档","openProfile":"打开主页"},"time":{"justNow":"刚刚","minutesAgo":"{n} 分钟前","hoursAgo":"{n} 小时前","daysAgo":"{n} 天前","secondsShort":"{n}秒","minutesShort":"{n}分","hoursShort":"{n} 小时","daysShort":"{n} 天","agoSuffix":"{ago}前","now":"现在"},"home":{"liveNow":"正在直播","watched":"关注中","diamonds24h":"钻石 · 24 小时","viewersNow":"当前观众","viewers":"观众","last24h":"24 小时","liveEmpty":"你关注的主播目前都没有开播。我们每隔几秒刷新一次他们的状态。","recruit":"招募","recruitSub":"{region}可招募的新主播，来自排行榜和联赛。添加后，他们每次开播你都能看到。","recruitLoading":"正在加载招募对象...","watchButton":"+ 关注","recruitEmpty":"{region}暂无招募对象。去{link}查看主播，填充此列表。","recruitPageLink":"招募页面","watchedOffline":"关注中 · 离线","offlineEmpty":"没有离线的关注主播。"},"watchlist":{"intro":"你正在挖掘的未签约主播。每条记录都显示完整的 CRM 信息：谁添加的、谁联系过、何时联系、签约资格以及持续更新的备注。点击任意卡片可打开主播主页并编辑备注。","copyAll":"复制全部用户名用于公会后台","addTarget":"+ 添加目标","usernamePrompt":"TikTok 用户名（不含 {'@'}）：","daily":"日榜","topGifter":"榜一","addedBy":"添加人","added":"添加时间","status":{"newTarget":"新目标","outreachSent":"已联系","inTalks":"洽谈中","signed":"已签约","cold":"无意向"},"notePlaceholder":"联系记录、负责人情报、分成条款、回复习惯...","trail":"完整日志记录","trailSystem":"系统","trailEmpty":"暂无历史事件记录。","toRoster":"旗下主播","archiveTitle":"移至跳过归档","empty":"观察名单为空。使用发现（Tikter）添加主播。","outreachNote":"联系主播需通过你自己的 TikTok 公会后台或私信进行，我们绝不会代你给主播发消息。"},"roster":{"intro":"你的签约主播。每位主播都有供内部员工查看的备注。Global 套餐可解锁直播文字记录和弹幕监听。","cols":{"creator":"主播","status":"状态","today":"今日（◇）","split":"分成 %","lastLive":"上次直播"},"remove":"移除","removeTitle":"从主播名单移除","notes":"备注","removeConfirm":"要将 {handle} 从你的主播名单中移除吗？其仍会保留在观察名单中，可随时重新签约。","removeFailed":"无法将主播从名单中移除","signFailed":"无法签约该主播"},"notes":{"intro":"你的团队写过备注的所有主播。点击卡片可打开完整主页并编辑。","withNotes":"有备注","allDecisions":"全部决定","empty":"暂无备注。打开任意主播主页即可添加。","verified":"已验证","noNote":"暂无备注，点击添加","decision":{"yes":"是","no":"否","maybe":"待定"}},"archive":{"intro":"你在发现中左滑跳过的主播。恢复后他们会重新出现在卡片堆中。","empty":"暂无跳过的主播。","restore":"恢复"},"battles":{"intro":"PK 对战记录。「对手大哥」一栏告诉你下一个该挖谁。","cols":{"date":"日期","yourCreator":"你的主播","opponent":"对手","result":"结果","margin":"分差","oppWhale":"对手大哥"},"win":"胜","loss":"负"},"gifters":{"intro":"你旗下主播的头部消费用户。点击送礼用户可查看其跨主播打赏明细。","cols":{"gifter":"送礼用户","total":"总计 ◇","thisWeek":"本周","creatorsSupported":"支持的主播","alsoFunds":"也打赏（外部）"},"outsideMasked":"+ • 外部","outside":"+ {amount}◇，分布在 {count} 位外部主播","exclusive":"仅打赏旗下主播"},"tasks":{"intro":"简单的 CRM 任务：分配、设置截止日期、标记完成。使用 Google 注册即可免费使用。订阅后，控制台的其余功能随之升级。","placeholder":"新任务... 例如「私信 {'@'}creator 沟通合同条款」","add":"添加","deleteAria":"删除","empty":"暂无任务。在上方添加你的第一个任务。"},"teamActivity":{"locked":"团队动态需 Agency 套餐解锁。","defaultTeamName":"你的团队","membersActiveOne":"{count} 位成员活跃","membersActiveOther":"{count} 位成员活跃","all":"全部","online":"在线 {count}","idle":"空闲 {count}","offline":"离线 {count}","searchPlaceholder":"搜索姓名或邮箱...","empty":"暂无成员动态记录。成员开始使用控制台后会显示在这里。","noMatch":"没有符合此筛选条件的成员。"},"teamTasks":{"locked":"团队任务需 Agency 套餐解锁。","intro":"给团队分配工作：标题、负责人、优先级、截止日期。通过每张卡片的下拉菜单即可更改状态，无需拖拽。"}},"agencyCrm":{"lockTitle":"主播 CRM","lockText":"目前，CRM 名单和主播时间线包含在公会套餐中。","included":"已包含","retry":"重试","roleNote":"你的角色无权查看名单。如需访问，请联系公会所有者。","unassigned":"未分配","roster":{"pageTitle":"名单 - 公会 CRM","title":"名单","sub":"你管理的所有主播，包括状态、健康度、负责人和下一个重要日期。","import":"导入","error":"暂时无法加载名单。","search":"搜索名称或用户名","filters":"筛选","allStatuses":"全部状态","anyone":"任何人","clearFilters":"清除筛选","done":"完成","emptyTitle":"名单中还没有主播","emptySub":"导入包含用户名的 CSV，或从招募流程中签约主播。","noMatch":"没有符合这些筛选条件的主播。","foot":"显示 {shown} / {total} 位主播。钻石数据来自我们追踪的直播间。"},"cols":{"host":"主播","status":"状态","health":"健康度","diamonds7d":"钻石 7天","liveHours7d":"直播 7天","league":"联赛","assignee":"负责人","followUp":"跟进","contractEnd":"合约到期","commission":"佣金"},"status":{"active":"活跃","paused":"已暂停","left":"已离开"},"bulk":{"aria":"批量操作","selected":"已选择 {count} 项","assignTo":"分配给","assign":"分配","setStatus":"设置状态","apply":"应用","clear":"清除选择","selectAll":"选择所有显示的主播","selectOne":"选择 {name}"},"errors":{"notAllowed":"你的角色无法进行此更改。","save":"更改未保存，请重试。","commissionRange":"佣金必须在 0 到 100 之间。"},"import":{"title":"导入主播","sub":"每行一位主播。第一列为用户名；可选列为状态、跟进日期和合约到期日期。","paste":"粘贴 CSV","placeholder":"username,status,follow_up,contract_end","pickFile":"或选择一个 .csv 文件","assignAll":"全部分配给","noAssign":"保留当前负责人","preview":"{count} 行待导入","result":"新增 {imported}，更新 {updated}，跳过 {skipped}。","rosterFull":"名单已达到你套餐的主播上限，部分行未添加。","skipLine":"第 {line} 行：{reason}","run":"导入","error":"导入未成功。请检查文件后重试。","tooBig":"文件过大，请拆分为较小的文件。"},"capacity":{"included":"已包含，不消耗点数","title":"套餐用量","checksShort":"检查 {used}/{limit}","roomsShort":"直播间 {used}/{limit}","checks":"今日账号检查","rooms":"使用中的直播间","resets":"检查次数于 {time} 重置","note":"用量已包含在你的套餐中，不按检查次数或直播间收费。","noLimit":"无限制"},"drawer":{"kpis":"主播数据","diamondsToday":"今日钻石","diamonds7d":"钻石 7天","diamonds30d":"钻石 30天","liveHours7d":"直播时长 7天","contractEnd":"合约到期","commission":"佣金","health":"健康度","fields":"CRM 字段"},"composer":{"title":"记录活动","logContact":"记录联系","addNote":"添加备注","channel":"渠道","whatHappened":"沟通内容","note":"备注","nextFollowUp":"下次跟进（可选）","saveContact":"保存联系","saveNote":"保存备注"},"channel":{"whatsapp":"WhatsApp","telegram":"Telegram","tiktok":"TikTok","discord":"Discord","email":"邮件","phone":"电话","sms":"SMS","in_person":"当面","other":"其他"},"timeline":{"title":"时间线","error":"无法加载时间线。","empty":"暂无活动。请在上方记录第一次联系。","system":"系统","contact":"通过 {channel} 联系","note":"备注","fieldChange":"{field} 从 {from} 更改为 {to}","statusChange":"状态从 {from} 更改为 {to}","alert":"提醒","none":"无","formerMember":"一位前成员"},"field":{"followUp":"跟进","contractEnd":"合约到期","assignee":"负责人","commission":"佣金","snooze":"暂缓","status":"状态","signed":"签约日期"},"today":{"pageTitle":"今日 - 公会 CRM","title":"今日","sub":"现在需要你处理的主播：有风险、表现下滑、需要跟进或合约即将到期。","error":"暂时无法加载今日队列。","emptyTitle":"暂无待处理事项","openRoster":"打开名单","reasonsAria":"该主播出现在此的原因","snooze":"暂缓","snoozeDay":"1 天","snoozeDays3":"3 天","snoozeWeek":"1 周","open":"打开","nextFollowUp":"下次跟进：{name}，{date}"},"reason":{"at_risk":"有风险","diamonds_down":"钻石下降","follow_up_due":"需要跟进","contract_30":"合约将在 30 天内到期","contract_7":"合约将在 7 天内到期"},"billing":{"title":"公会账单","subActive":"管理你的订阅、付款方式和 Telegram 席位。可随时取消或恢复。","subNone":"选择一个 Agency 套餐即可解锁公会控制台。","loading":"加载中...","empty":{"title":"暂无有效的公会套餐","body":"{starter} 按月计费。{global} 可按周或按月计费。选择其一即可打开结账页面。","eyebrowMonthly":"{plan} - 按月","eyebrowWeekly":"{plan} - 按周","perMonth":"/月","perWeek":"/周","billedMonthly":"按月扣费","billedMonthlyOnly":"按月扣费 - 仅限月付","billedWeekly":"按周扣费 - 约合每月 {price}","billedMonthlyOneCharge":"按月扣费 - 每月扣一次，而不是四次","ctaMonthly":"开通 {plan} - 每月 {price}","ctaWeekly":"开通 {plan} - 每周 {price}","save":"省 {percent}%"},"current":{"eyebrow":"当前套餐","meta":"{period} · 状态：","resuming":"正在恢复...","resume":"恢复自动续费","openingCheckout":"正在打开结账页面...","renew":"立即续费","canceling":"正在取消...","cancelPlan":"取消套餐","nextRenewal":"下次续费","cancelsOn":"将于此日期取消。","nextCharge":"下次扣款","payment":"付款方式","expires":"有效期至 {month}/{year}"},"period":{"weekly":"按周","monthly":"按月","annual":"按年","fallback":"公会套餐"},"status":{"cancelingAtPeriodEnd":"将于周期结束时取消","unknown":"未知","active":"有效","trialing":"有效","past_due":"已逾期","unpaid":"未付款","canceled":"已取消","incomplete":"付款未完成","incomplete_expired":"付款未完成，已失效","paused":"已暂停"},"seatStatus":{"active":"已启用","inactive":"未启用","revoked":"已撤销","pending_invite":"待接受邀请"},"cycle":{"weekly":"周付","monthly":"月付","annual":"年付"},"cadence":{"weekly":"每周","monthly":"每月","annual":"每年"},"switch":{"upgradeTo":"升级到 {plan}","switchTo":"切换到 {plan}","toGlobalBody":"{plan} 在你现有功能的基础上，增加所有 Global 专属功能。你未使用的 Starter 时长将被抵扣。","toStarterBody":"{plan} 保留公会控制台、招募和团队功能，每月 {price}。你将失去下方的 Global 专属功能；未使用的 Global 时长将被抵扣。","billedPaypal":"通过 PayPal 扣费。","billedCard":"通过你绑定的银行卡扣费。","checking":"校验中...","globalWeekly":"Global 按周 - {price}/周","globalMonthly":"Global 按月 - {price}/月","starterMonthly":"{plan} - {price}/月"},"seats":{"title":"团队席位","titleWithPrice":"团队席位 - 每个额外席位 {price}","pricePerWeek":"{price}/周","pricePerMonth":"{price}/月","includes":"你的套餐包含 {seats}（已用 {used} / {cap}）。","teamSeats":"{count} 个团队席位","billedWeekly":"每个额外席位随你的 Agency 套餐按周计费。新增席位时，今天只收取本周剩余天数的费用。","billedMonthly":"每个额外席位随你的 Agency 套餐按月计费。新增席位时，今天只收取本月剩余天数的费用。","removeNote":"移除席位立即生效，未使用的时长将抵扣到你的下一张账单。","extraSeats":"个额外席位","testMode":"测试模式：购买席位不会从真实银行卡扣款。","add":"增加席位","updating":"更新中...","removeOne":"移除一个席位","unassigned":"未分配","memberFallback":"成员"},"telegram":{"title":"Telegram 雷达 - 公会席位","body":"你的 {plan} 订阅包含 {seats}。在手机或电脑上扫描二维码或点击链接即可连接设备。随时在机器人中发送 {command} 即可释放席位。","seats":"{count} 个 Telegram 席位","linkActive":"链接 {seconds} 秒内有效","generating":"生成中...","generate":"生成 Telegram 连接链接","help":"一个链接绑定一台设备。为每位员工重复操作，直至达到席位上限。","qrAria":"Telegram 二维码","qrCaption":"用手机相机或 Telegram 扫描","open":"在 Telegram 中打开","copied":"已复制","copyLink":"复制链接","hintPc":"在{device}上：点击「{open}」，将打开 Telegram 桌面版或网页版。","pc":"电脑","hintPhone":"在{device}上：扫描二维码，或将链接粘贴到浏览器中。","phone":"手机","generateNew":"生成新链接"},"modal":{"paypalCredit":"你当前的 PayPal 套餐将按未使用时长抵扣 {credit}。","paypalCreditDays":"你当前的 PayPal 套餐将按未使用时长抵扣 {credit}（{days} 天）。","newPlan":"新套餐为{cadence} {price}。","newPlanFirstCharge":"新套餐为{cadence} {price}，首次扣款日期为 {date}。","paypalNote":"将打开 PayPal 确认新协议；确认后旧协议会被取消。","creditUnused":"未使用时长抵扣","lineItem":"{plan}（{cycle}）","tax":"税费","creditedNext":"抵扣至下一张账单","chargedToday":"今日扣款","cardNote":"从你绑定的银行卡扣款。只有一个订阅，不会重复扣费。","keepCurrent":"保留当前套餐","switching":"切换中...","continuePaypal":"前往 PayPal","confirmChange":"确认更换"},"cancel":{"title":"取消你的订阅？","body":"你可以使用到 {date}。之后，公会控制台、不脱敏情报、批量复制和挖掘提醒将恢复为预览模式。","pick":"选择取消方式：","endTitle":"周期结束时取消","endSub":"推荐。可使用到 {date}。","immediateTitle":"立即取消","immediateSub":"访问权限立即终止。当期费用不予退款。","keep":"保留套餐","confirm":"确认取消"},"errors":{"removeSeat":"无法移除席位。","assignSeat":"无法更新分配。","cancel":"取消失败","resume":"恢复失败","samePlan":"你已经在使用该套餐。","noSubscription":"未找到可更换的有效订阅。请改从公会价格页面开通套餐。","priceFailed":"无法计算此次变更的价格，请重试。","paypalNoLink":"PayPal 未返回确认链接，请重试。","notCompleted":"变更未完成。请刷新页面确认你的套餐后再重试。","planChangeFailed":"套餐更换失败，你的套餐未发生变化。","linkFailed":"无法生成链接。","clipboardBlocked":"剪贴板被阻止，请长按「在 Telegram 中打开」按钮手动复制。"}},"seatModal":{"close":"关闭","eyebrow":"团队席位","title":"增加额外席位","subWeekly":"每个额外席位 {price}/周，随你的 Agency 套餐按周计费。你的套餐已包含 {count} 个席位。","subMonthly":"每个额外席位 {price}/月，随你的 Agency 套餐按月计费。你的套餐已包含 {count} 个席位。","testMode":"测试模式：不会从真实银行卡扣款。请使用 Stripe 测试卡。","fewer":"减少席位","more":"增加席位","extraSeats":"个额外席位","countNoteOne":"你目前有 {current} 个额外席位。此次变更后团队总人数：{total}。","countNoteOther":"你目前有 {current} 个额外席位。此次变更后团队总人数：{total}。","dueTodayWeek":"今日应付（本周剩余天数）","dueTodayMonth":"今日应付（本月剩余天数）","tax":"税费","totalToday":"今日合计","thenWeek":"之后每周随套餐扣费","thenMonth":"之后每月随套餐扣费","review":"查看价格","processing":"处理中...","payAndAdd":"支付 {amount} 并增加席位","footnote":"从你 Agency 套餐绑定的银行卡扣款 · 由 Stripe 提供安全保障","payBadge":"{count} 个额外席位","bankConfirm":"增加席位前，你的银行需要确认这张卡。","preparing":"正在准备安全表单...","payButton":"支付并增加席位","payFootnote":"付款成功后席位会立即增加","successTitle":"席位已增加","successOne":"你现在有 {count} 个额外席位。可在团队页面邀请队友。","successOther":"你现在有 {count} 个额外席位。可在团队页面邀请队友。","done":"完成","errors":{"price":"无法计算席位变更的价格。","start":"无法发起付款，请重试。","add":"无法增加席位。","payment":"付款失败。"}},"team":{"seoTitle":"团队管理 - TikTool Agency","title":"团队管理","loading":"正在加载你的团队...","yourAgency":"你的公会","teammate":"队友","noEmail":"未登记邮箱","backToDashboard":"返回控制台","copy":"复制","copied":"已复制","roles":{"owner":"所有者","manager":"经纪人","scout":"星探","member":"成员"},"error":{"title":"无法加载你的团队","body":"连接团队服务时出了点问题，请稍后重试。","retry":"重试"},"gate":{"title":"组建你的星探团队","body":"团队席位让你可以添加经纪人和星探，共享公会的数据访问权限，无需为他们单独订阅。邀请功能需 Agency 套餐解锁。","plans":"查看公会套餐"},"member":{"title":"你已加入 {agency}","body":"你的角色：{role}。只有公会所有者可以邀请或移除成员。你拥有共享公会数据的完整访问权限。"},"owner":{"lead":"为 {agency} 添加经纪人和星探。他们通过同一个订阅共享你的数据访问权限，你的套餐包含 {count} 个席位。","seatsUsed":"已用席位"},"invite":{"title":"邀请队友","sub":"输入邮箱（选填）并选择角色。如果对方已有 TikTool 账号，会立即加入；否则你会获得一个可分享的邀请链接。","email":"邮箱","optional":"选填","emailPlaceholder":"name{'@'}yourorg.com - 留空则仅生成链接","role":"角色","roleManager":"经纪人 - 查看分配给自己的主播","roleScout":"星探 - 观察名单 + 批量复制，不可查看收入","sending":"发送中...","send":"发送邀请","seatLimit":"已达席位上限。请在下方移除成员或购买更多席位后再邀请。","joined":"{email} 已加入 {agency}","joinedBody":"角色：{role}。对方可立即登录并使用共享控制台。","another":"继续邀请","linkReady":"邀请链接已生成","expires":"链接将在 {days} 天后失效。你可以随时在下方列表中撤销。","sendAnother":"再发一个"},"share":{"whatsappAria":"分享到 WhatsApp","telegramAria":"分享到 Telegram","emailAria":"通过邮件分享","smsAria":"通过短信分享","email":"邮件","more":"更多","message":"我邀请你以{role}身份加入我的 TikTool 公会。打开链接即可接受：","subject":"加入我的 TikTool 公会"},"list":{"title":"你的团队","entriesOne":"{count} 条","entriesOther":"{count} 条","presenceNote":"实时在线状态即将上线。下方状态显示每个邀请是否已被接受。","empty":"还没有队友。在上方发出第一个邀请，开始组建你的经纪人和星探团队。","you":"你","linkOnly":"仅链接邀请","pending":"待接受","accepted":"已接受","copyLink":"复制链接","revoke":"撤销","remove":"移除","swapTitle":"需要换人？","swapBody":"移除一位成员以释放其席位，然后向接替者发送新的邀请。"},"regions":{"label":"地区权限","saving":"保存中...","saved":"已保存","failed":"保存失败，请重试","selected":"已选 {count} 个","all":"所有地区"},"buy":{"title":"需要超过 {count} 个席位？","includes":"你的套餐包含 {count} 个经纪人和星探席位。","includesExtra":"你的套餐包含 {count} 个经纪人和星探席位，另有 {extra} 个额外席位。","addFromBilling":"可在账单页面增加额外席位，每个席位随你的 Agency 套餐计费。","add":"增加席位"},"remove":{"title":"移除 {name}？","body":"对方将立即失去共享公会数据的访问权限，其席位也会被释放。你之后可以重新邀请。","cancel":"取消","removing":"正在移除...","confirm":"移除成员"},"errors":{"invalidEmail":"请输入有效的邮箱，或留空以生成仅链接邀请。","inviteFailed":"邀请失败，请重试。","revoke":"无法撤销该邀请。","remove":"无法移除该成员。"}},"extension":{"seo":{"title":"资格检测插件 - Tik.Tools Agency","description":"使用 Tik.Tools Chrome 插件，直接在公会后台检测 TikTok LIVE 邀约资格。所有公会套餐均已包含。"},"badge":"公会工具","title":"Chrome 版{highlight}","titleHighlight":"资格检测插件","sub":"直接在公会后台检测 TikTok LIVE 邀约资格，无需 Key，无需复制粘贴。插件持续检测，结果实时同步到你的共享列表。","login":"登录以继续","unlock":"开通 Agency 解锁","included":"{starter}（每天 {count} 次检测）和 {global}（不限次数）均已包含。","download":"下载插件","storeSoon":"应用商店版本即将上线","copy":"复制","copied":"已复制","step1":{"title":"下载并添加到 Chrome","body":"下载上方文件，并解压到一个会长期保留的文件夹（不要删除，Chrome 会从这里加载插件）。","openTab":"打开一个新标签页，将以下内容粘贴到地址栏并按回车：","devMode":"打开{label}（右上角开关）。","devModeLabel":"开发者模式","loadUnpacked":"点击{label}，选择解压后的文件夹。","loadUnpackedLabel":"加载已解压的扩展程序"},"step2":{"title":"固定插件","body":"点击 Chrome 工具栏中的拼图图标，再点击 {name} 旁边的图钉，之后一键即可打开。"},"step3":{"title":"使用 Tik.Tools 登录","body":"打开插件并点击{label}。插件使用的就是当前账号，无需粘贴 API Key。你的公会套餐会立即解锁它（{starter}：每天 {count} 次检测；{global}：不限次数）。","loginLabel":"登录"},"step4":{"title":"连接公会后台并开始检测","body":"在同一浏览器中打开你的 TikTok LIVE 公会后台，在插件中选择地区，即可自动连接。点击{label}，已检测的主播会连同结果实时出现在你的列表中。","runLabel":"运行","openList":"打开已检测主播列表"},"tips":{"title":"覆盖多个地区的技巧","body":"每个 Chrome 用户资料中，一个公会后台账号只能登录一次。如需同时检测多个地区，请{emphasis}，每个资料中都安装插件并用此账号登录。每个资料检测各自的地区，所有结果都会汇总到这里的同一个共享列表。","emphasis":"为每个地区准备一个公会后台账号，并分别使用独立的 Chrome 用户资料","warn":"批量检测请使用备用公会后台账号，切勿使用公会所有者的主账号。"}},"join":{"seoTitle":"加入公会 · TikTool","loading":"正在加载邀请...","unavailable":"邀请不可用","notValid":"邀请无效","acceptFailed":"无法接受邀请","home":"← 首页","eyebrow":"公会邀请","invited":"你受邀以{role}身份加入。","clickBelow":"点击下方接受邀请，一起挖掘主播。","joining":"正在加入...","accept":"接受并加入","loginToAccept":"登录以接受","expiresSoon":"邀请即将失效。","expiresOn":"邀请将于 {date} 失效。","consent":"接受即表示你同意公会所有者为你分配主播并查看你的活动记录。"},"drilldown":{"close":"关闭","memberFallback":"成员","loading":"正在加载活动记录...","idleToday":"今日空闲","activeToday":"今日活跃","listsCopied":"已复制列表","timePerPage":"各页面停留时长（今日）","page":"页面","time":"时长","unknownPage":"（未知）","noPageTime":"今日暂无页面停留记录。","copyLog":"列表复制记录","listFallback":"（列表）","timeline":"活动时间线","noEvents":"今日暂无事件记录。","event":{"aPage":"某个页面","viewed":"查看了{page}","left":"在{page}停留 {duration} 后离开","copiedList":"复制了列表{list}","copiedListBare":"复制了列表","idle":"进入空闲（{duration}）","resumed":"恢复活动","heartbeat":"活跃"},"duration":{"seconds":"{s} 秒","minutes":"{m} 分 {s} 秒","hours":"{h} 小时 {m} 分"},"ago":{"justNow":"刚刚","minutes":"{n} 分钟前","hours":"{n} 小时前","days":"{n} 天前"}}},"agencyOps":{"common":{"compactK":"{n}k","compactM":"{n}M","hours":"{n} 小时","filterCreatorsAria":"筛选主播","liveNow":"正在直播","back":"返回","loading":"加载中...","close":"关闭"},"nav":{"dashboard":"控制台","watchlist":"观察名单","roster":"旗下主播","health":"主播名单健康度","pipeline":"招募漏斗","tracker":"直播追踪","notes":"备注","archive":"归档","battles":"PK 记录","gifters":"送礼用户库","tasks":"任务","teamActivity":"团队动态","teamTasks":"团队任务","team":"团队"},"healthBand":{"risk":"有风险","watch":"需关注","healthy":"健康","unseen":"暂无数据"},"health":{"pageTitle":"主播名单健康度 - 公会","lockTitle":"主播名单健康度","lockTextStarter":"主播名单健康度、健康提醒和每周健康汇总属于 {plan}。在公会账单页面升级，即可查看哪些主播状态在下滑。","lockText":"在主播沉寂之前就发现谁在下滑，公会套餐可用。","title":"主播名单健康度","sub":"每位主播都与其自身最近四周的数据对比：小主播保持往常水平就算健康，大主播数据减半则不算。","updated":"更新于 {time}","filterAria":"按健康度筛选","allHosts":"全部主播","alerts":{"title":"健康提醒邮件","sentTo":"发送至 {email}，时区和发送时间与你的主播简报一致。","accountEmail":"你的账号邮箱","daily":"主播进入「有风险」时发送每日提醒","weekly":"每周一发送主播名单汇总（附 CSV）","saveError":"保存失败，请稍后重试。"},"truncated":"显示你主播名单中 {total} 位主播的前 {shown} 位。","unavailable":"健康数据暂时不可用。你的主播名单不受影响，请几分钟后重试。","empty":{"title":"你的主播名单中还没有主播","sub":"在直播追踪中添加主播，或通过招募漏斗签约主播，他们的健康度就会显示在这里。","cta":"添加主播"},"today":{"title":"今日","sub":"{count} 位需要关注，按紧急程度排序"},"wholeRoster":"全部主播名单","searchPlaceholder":"按名称或 {'@'}用户名筛选","cols":{"creator":"主播","health":"健康度","diamonds7d":"钻石 7 天","diamonds30d":"钻石 30 天","diamonds90d":"钻石 90 天","d30":"30 天","d90":"90 天","live7d":"直播 7 天","live30d":"直播 30 天","live90d":"直播 90 天","usualWeek":"常规周"},"noMatch":"没有匹配的主播。","foot":"钻石和直播时长为我们追踪每位主播期间观测到的数据；直播时长按采集到的直播时间计算。历史数据从主播加入你的主播名单当天开始累积。标记为「暂无数据」的主播在最近 90 天内没有观测到直播，因此不参与评分，也不会计入「有风险」和「需关注」。"},"tracker":{"pageTitle":"直播追踪 - 公会","glassTitle":"直播追踪","glassSub":"实时及按天追踪你旗下主播的礼物、送礼用户和弹幕，公会套餐可用。","glassCta":"查看公会套餐","yourCreators":"你的主播","addPlaceholder":"添加主播：搜索 {'@'}用户名或名称","track":"+ 追踪","notInDirectory":"尚未收录在我们的名录中。","adding":"添加中...","trackAnyway":"仍然追踪 {'@'}{handle}","noneFound":"未找到主播。","emptyRoster":"还没有追踪任何主播。在上方搜索并添加，我们会立即开始追踪其礼物和弹幕。","followers":"{count} 位粉丝","watching":"观看中","stopTracking":"停止追踪 {'@'}{handle}","confirmStop":"确定停止追踪 {'@'}{handle}？","history":"{'@'}{handle} - 历史记录","pickCreator":"选择一位主播","watch":"观看","noActivity":"暂无该主播的追踪记录。","giftsCount":"{count} 个礼物","chatsCount":"{count} 条弹幕","dayHeader":"{date} · {'@'}{handle}","pickDay":"选择日期","gifts":"礼物","chat":"弹幕","noGifts":"当天没有礼物。","noChat":"当天没有采集到弹幕。","removeError":"无法移除主播","addError":"无法添加主播"},"pipeline":{"pageTitle":"招募漏斗 - 公会","lockTitle":"招募漏斗","lockText":"以团队方式追踪每位主播从检测到签约的全过程，公会套餐可用。","title":"招募漏斗","sub":"你在榜单上标记为符合资格或认领的主播，从联系到签约全程可见。在这里移动阶段会同步更新全队可见的认领状态，已签约的主播一键即可加入你的主播名单。","searchPlaceholder":"按 {'@'}用户名筛选","tabsAria":"漏斗阶段","unavailable":"招募漏斗暂时不可用，请几分钟后重试。","stage":{"checked":"已检测","contacted":"已联系","signed":"已签约","not_interested":"无意向"},"empty":{"checked":"你在新主播榜单上标记为符合资格，或在任意榜单上认领的主播，都会出现在这里。","contacted":"联系过主播后，将其移到这里。","signed":"已加入你公会的主播。将他们加入主播名单即可追踪健康度。","not_interested":"已拒绝的主播。他们会保留在这里，避免被重复联系。"},"move":{"checked":"退回已检测","contacted":"已联系","signed":"已签约","not_interested":"无意向"},"claimStatus":{"claimed":"已认领","contacted":"已联系","responded":"已回复","interested":"有意向","signed":"已签约","not_interested":"无意向"},"markedEligible":"已标记符合资格","premiumEligible":"符合资格（高级邀约）","you":"你","onlyOwner":"只有 {name} 可以移动这位主播。","onRoster":"已在你的主播名单中","addToRoster":"加入主播名单","showMore":"再显示 {count} 位","errors":{"teammateOwns":"该主播由队友负责，只有对方可以移动。","moveFailed":"无法移动该主播，请稍后重试。","rosterFull":"你的主播名单已满。请先移除一位主播再添加。","addFailed":"无法加入主播名单，请稍后再试。"}},"tasks":{"everyone":"所有人","member":"成员","newTask":"+ 新建任务","loading":"正在加载任务...","status":{"open":"待办","in_progress":"进行中","done":"已完成"},"priority":{"low":"低","medium":"中","high":"高"},"archiveAria":"归档任务","unassigned":"未分配","nothingHere":"暂无内容","modal":{"title":"新建任务","fieldTitle":"标题","titlePlaceholder":"例如：私信 {'@'}creator 沟通合同条款","description":"描述","descriptionPlaceholder":"补充说明（选填）...","assignee":"负责人","priority":"优先级","dueDate":"截止日期","cancel":"取消","saving":"保存中...","create":"创建任务","titleRequired":"标题为必填项","createError":"无法创建任务"}},"intercom":{"team":"团队","connected":"已连接","connecting":"连接中","searchPlaceholder":"搜索成员...","searchAria":"搜索团队成员","members":"成员","noMembers":"没有匹配的成员。","channels":"频道","noChannels":"暂无频道。","directMessages":"私信","noDms":"搜索成员以开始对话。","loadEarlier":"加载更早的消息","sharedImage":"共享的图片","editAria":"编辑消息","saveEdit":"保存修改","cancelEdit":"取消编辑","edit":"编辑","edited":"已编辑","closeImage":"关闭图片","reactions":{"up":"点赞","heart":"爱心","check":"完成","eyes":"已看"},"typingOne":"{name} 正在输入...","typingTwo":"{first} 和 {second} 正在输入...","typingMany":"多人正在输入...","you":"你","attachImage":"添加图片","placeholder":"输入消息...","messageAria":"消息","sendAria":"发送消息","uploading":"正在上传图片...","sheetAria":"团队聊天","openChat":"打开团队聊天","collapseChat":"收起团队聊天","pickToStart":"选择一个频道或队友开始聊天。","channel":"频道","directMessage":"私信"},"activity":{"member":"成员","noPage":"无活跃页面","status":{"online":"在线","idle":"空闲","offline":"离线"},"onlineNow":"当前在线","idleFor":"已空闲 {time}","lastSeen":"最后在线：{time}前","ago":"{time}前","justNow":"刚刚","units":{"s":"{n}秒","m":"{n}分","h":"{n} 小时","d":"{n} 天"},"roles":{"owner":"所有者","manager":"经纪人","scout":"星探","member":"成员"}}},"accountTools":{"webhooks":{"seo":{"title":"Webhook - TikTool","description":"在你的 HTTPS 端点接收经 HMAC 签名的直播事件通知。按套餐区分，支持重试和去重。"},"nav":{"dashboard":"控制台","docs":"文档"},"newWebhook":"新建 Webhook","sub":"当观察名单中的主播开播或下播时，向你的端点发送经 HMAC 签名的 HTTPS POST 请求。支持重试和重放，并可通过稳定的 {field} 去重。","loading":"加载中...","upgrade":{"title":"Webhook 需要付费套餐","body":"{basic}、{pro}、{ultra} 和 {agency} 均可使用。你当前是 {tier}。","cta":"查看套餐"},"stats":{"plan":"套餐","targetsUsed":"已用目标数","dailyQuota":"每日配额","allowedEvents":"可用事件","allowedEventsValue":"{count} / {total}"},"empty":{"title":"还没有 Webhook","body":"创建一个 Webhook，开始在你的端点接收直播事件。","cta":"创建你的第一个 Webhook"},"row":{"untitled":"未命名","allCreators":"全部主播 · 全量数据流","creatorsOne":"{count} 位主播","creatorsOther":"{count} 位主播","failStreak":"连续失败 {count} 次","downgradeNote":"已暂停：你当前的套餐不再包含其中某个事件。升级后会自动重新启用，也可以删除它。"},"status":{"pausedPlan":"已暂停（套餐）","disabled":"已停用","healthy":"正常","failing":"失败中","retrying":"重试中","pending":"待处理"},"events":{"liveStart":"观察名单中的主播开播","liveEnd":"观察名单中的主播下播","peakViewers":"同时在线观众数突破里程碑","highValueGift":"收到高价值礼物（≥{threshold} 钻石）","followerMilestone":"粉丝数突破里程碑（{range}）","eligible":"出现值得招募的主播，或其联赛分数突破里程碑","watchedGift":"观察名单中的送礼用户送出了达到或超过你设定阈值的礼物","hotSpike":"某主播在 {minutes} 分钟内收到 {diamonds}+ 钻石","leagueDropout":"某主播跌出联赛段位榜"},"everyCreator":"平台上所有主播的事件","docs":{"verifyTitle":"如何验证投递","verifyBody":"每个 POST 请求都包含 {header}，其中 {formula}。请拒绝超过 {minutes} 分钟的请求（重放窗口）。","payloadTitle":"示例负载（{event}）","retryTitle":"重试策略","retryBody":"连接超时 {connect} 秒，读取超时 {read} 秒。重试计划：{schedule}（共 {attempts} 次，约 {hours} 小时）。达到最大次数后，事件将被标记为{deadLetter}；可在任意 Webhook 详情页手动重放 {days} 天内的事件。","deadLetter":"死信","scopingTitle":"范围与数据量","scopingIntro":"{field} 列表决定你接收多少数据：","scopingEmpty":"{lead}你会收到{every}，这是一个高流量的全量数据流（每分钟数百个事件）。大多数单一端点都承受不住，这也是 Webhook 被自动停用的常见原因。","scopingEmptyLead":"列表为空 = 全部接收。","scopingScoped":"{lead}最多 {max} 个用户名，只接收这些主播的事件。几乎所有集成都推荐这种方式。","scopingScopedLead":"限定列表 = 只接收你的主播。","rosterBody":"如果主播名单经常变动，可以在你自己的服务中管理列表：{endpoint}，传入 {body} 会{replaces}。读取 Webhook，计算新的集合，每次同步时 PATCH 完整数组，即可通过程序添加或移除。","rosterReplaces":"替换整个列表","autoTitle":"自动停用","autoBody":"一次投递若 {attempts} 次尝试全部失败，就会成为{deadLetter}。出现{streak}后，Webhook 会被自动停用以保护你的端点。{reset}，因此健康的端点永远不会触发停用。如果 Webhook 被停用，请修复端点后在其详情页重新启用。如果你使用的是未限定范围的全量数据流，请先限定 {field}，没有哪个端点能稳定承受完整的全量数据流。","autoStreak":"连续 {count} 条死信","autoReset":"任何一次成功投递都会将该计数清零","quotaTitle":"每日配额","quotaBody":"每个套餐都有每日投递上限（显示在本页顶部）：{basic} {basicCap}，{pro} {proCap}，{ultra} {ultraCap}，{agency} {agencyCap}。每投递一个不同的事件计一次，同一事件的重试不重复计数。计数器在 {reset} 重置。达到上限后，后续事件将暂停到重置为止，升级可获得更高上限。端点反复失败也会导致 Webhook 被自动停用（见上文）。"},"create":{"title":"新建 Webhook","close":"关闭","name":"名称","optional":"（选填）","namePlaceholder":"生产环境 - Supabase 开播提醒","targetUrl":"目标 URL","targetHint":"仅支持 HTTPS，不支持内网地址","eventTypes":"事件类型","requires":"需要 {plan}","creators":"主播","creatorsHint":"每行一个用户名；最多 {max} 个","creatorsWarn":"留空则会收到{every}，这是一个高流量的全量数据流（每分钟数百个事件），可能压垮你的端点并导致 Webhook 被自动停用。列出你需要的主播，即可只接收这些主播的事件。","bearer":"Bearer 令牌","bearerHint":"（选填，作为 Authorization 请求头发送）","cancel":"取消","creating":"创建中...","submit":"创建 Webhook"},"secret":{"title":"保存你的 Webhook 密钥","warn":"此密钥不会再次显示，请立即复制。","copied":"✓ 已复制","copy":"复制","saved":"我已保存"},"errors":{"load":"加载失败","create":"创建失败"}},"webhookDetail":{"back":"全部 Webhook","loading":"加载中...","untitled":"未命名 Webhook","sending":"发送中...","sendTest":"发送测试事件","edit":"编辑","disable":"停用","enable":"启用","rotating":"轮换中...","rotate":"轮换密钥","delete":"删除","downgrade":"{lead}你当前的套餐不再包含此 Webhook 的某个事件，因此投递已暂停。升级后会自动重新启用（你的事件和观察名单都会保留），也可以删除它。","downgradeLead":"因套餐变更已暂停。","cannotEnable":"无法启用：","test":{"succeeded":"测试成功：","failed":"测试失败：","result":"HTTP {status}，耗时 {ms}ms"},"editForm":{"title":"编辑 Webhook","name":"名称","namePlaceholder":"生产环境 - 开播提醒","events":"事件","upgrade":"（需升级）","creators":"主播：每行一个，不含 {'@'}。留空则接收全部观察主播（全量数据流）。","creatorsOne":"{count} 位主播","creatorsOther":"{count} 位主播","cancel":"取消","saving":"保存中...","save":"保存更改"},"stats":{"status":"状态","secret":"密钥","events":"事件","creators":"主播","failStreak":"连续失败","lastDelivery":"最近投递","allWatched":"全部观察主播","never":"从未"},"deliveries":{"title":"最近投递（最近 {days} 天）","empty":"暂无投递记录。","when":"时间","event":"事件","creator":"主播","attempt":"尝试次数","status":"状态","latency":"延迟","ms":"{ms}ms","replay":"重放"},"notFound":"未找到该 Webhook。","deleteModal":{"title":"删除此 Webhook？","body":"此操作将停止向 {url} 的所有后续投递，且无法撤销。","cancel":"取消","confirm":"删除"},"newSecret":{"title":"新的 Webhook 密钥","warn":"旧密钥已立即失效，请马上更新你的端点。","copied":"已复制","copy":"复制","done":"完成"},"confirmRotate":"轮换密钥？旧密钥将立即失效。","errors":{"save":"无法保存更改。","status":"无法更改状态。","test":"测试失败","replay":"重放失败"}},"support":{"seoTitle":"客户支持 - Tik.Tools","back":"返回控制台","title":"客户支持","online":"我们在线，通常几分钟内回复","offline":"请留言，我们会尽快回复你","loading":"正在加载你的对话...","emptyTitle":"有什么可以帮你？","emptyBody":"给我们发消息，我们的团队会在这里回复你。","notSent":"（未发送）","placeholder":"输入你的消息...","send":"发送","time":{"now":"刚刚","minutes":"{count} 分钟","hours":"{count} 小时","days":"{count} 天"}}},"pagesMisc":{"showcase":{"hero":{"title":"作品展示","subtitle":"社区开发者基于 TikTok LIVE API 打造的精选项目和集成。提交你的作品，即有机会获得展示。"},"visit":"访问","empty":"暂无展示项目。快来第一个提交吧！","submit":{"heading":"提交你的项目","sub":"用 TikTool 做了点东西？在下方提交，我们会审核后加入作品展示。","loginPrompt":"需要登录后才能提交项目。","loginCta":"注册 / 登录","nameLabel":"项目名称","namePlaceholder":"例如：我的 TikTok 助手","descLabel":"描述","descPlaceholder":"你的项目是做什么的？","urlLabel":"项目 URL","logoLabel":"Logo URL（方形图片）","success":"项目已提交审核，通过后我们会进行展示！","submitting":"提交中...","submit":"提交项目","errorGeneric":"出了点问题"},"seo":{"title":"作品展示 - 基于 TikTok LIVE API 打造的项目","description":"浏览基于 TikTok LIVE API 打造的精选项目，看看开发者都在做什么：助手、数据分析、叠加层等等。提交你自己的项目，即有机会获得展示。","ogTitle":"作品展示 - 基于 TikTok LIVE API 打造的项目","ogDescription":"浏览社区基于 TikTok LIVE API 打造的精选项目。"}},"agencyNew":{"success":{"tag":"审核中","title":"你的入驻信息正在审核中","sub":"每个入驻信息都由人工审核，通常几小时内完成。","chat":"在线客服","view":"查看你的入驻信息"},"intro":"这是你的入驻信息实时预览。可直接编辑任何内容，编辑时自动保存。在我们审核通过前，所有内容都不会公开。","roster":{"title":"旗下主播","noteSignedIn":"在下方搜索并认领你代理的主播。","noteSignedOut":"登录后即可认领你真实代理的主播。"},"details":{"title":"详细信息","languages":"语言","languagesPlaceholder":"输入语言后按回车","tags":"标签","tagsPlaceholder":"输入标签后按回车","contactEmail":"联系邮箱","contactPhone":"联系电话","private":"不公开"},"verify":{"title":"身份验证","copy":"上传你的公会后台（LIVE 公会控制台）截图，我们以此验证所有权。","uploading":"上传中...","done":"截图已上传 - 重新上传","upload":"上传公会后台截图","failed":"证据上传失败，请重试。"},"creators":{"title":"你的主播","copy":"添加你代理的主播。你也可以在入驻信息审核通过后再添加。","searchPlaceholder":"按 {'@'}用户名或昵称搜索主播","searchAria":"搜索主播","live":"LIVE","claimed":"已认领","claim":"认领","signIn":"登录后即可认领主播。","claimFailed":"认领失败，请重试。"},"submit":{"note":"你将使用 Google 或工作邮箱登录；草稿已保存，不会丢失。","submitting":"提交中...","submit":"提交审核","signInSubmit":"登录并提交审核","failed":"提交失败，请重试。"},"seo":{"title":"入驻你的公会 - TikTool","description":"在 TikTool 上免费创建 TikTok LIVE 公会入驻信息。"}}},"captions":{"watch":{"badge":"实时文字记录 + 视频","title":"观看任意 TikTok LIVE，配实时字幕","sub":"粘贴用户名，即可看到直播视频和屏幕字幕，可翻译成 20+ 种语言。使用你账号的字幕套餐。","streamStep":"{n}. 选择要观看的直播","usernameLabel":"TikTok 用户名","usernamePlaceholder":"{'@'}用户名或搜索","liveBadge":"LIVE","keyStep":"{n}. API Key","keyLabel":"用于字幕的 Key","keyHint":"只有付费 Key 才能使用字幕。免费 / Sandbox Key 已隐藏。","languagesStep":"{n}. 语言","sourceLabel":"源语言（音频）","autoDetect":"自动检测","translateTo":"翻译为","noTranslation":"不翻译","translationHint":"翻译按每 1 分钟实际音频消耗 2 分钟计算（文字记录 + 1 种翻译）。不翻译 = 1 分钟/分钟。","minutesLeft":"剩余分钟数","cycleUsage":"本周期 {remaining} / {total}，续费时重置","noPlan":"暂无有效的字幕套餐","upgradePlan":"升级套餐 ->","getPlan":"选择套餐 ->","stop":"停止字幕","start":"开始实时字幕 ->","placeholderTitle":"视频和字幕将显示在这里","placeholderBody":"选择一位主播并点击开始。上方是直播视频，下方是文字记录和翻译。","transcript":"文字记录","transcriptTranslation":"文字记录 + 翻译","statusIdle":"空闲","statusListening":"监听中...","statusLive":"直播中","waitingAudio":"正在等待音频...","overlayLink":"改为制作 OBS 叠加层 ->","manageLink":"管理账号 ->","modal":{"close":"关闭","loginTitle":"登录后开始","paidTitle":"需要付费套餐","outTitle":"字幕分钟数已用完","loginBody":"登录即可使用字幕。每个新账户初始有 10 分钟演示时长。","paidBody":"字幕需要 {plan} 或更高套餐的 API Key。{plan}（{price}/周）每周包含 {hours} 小时字幕。","outBody":"本周期的时长已用完。购买更多分钟数（开启自动充值可保持字幕不中断）。","loginCta":"登录 / 注册 ->","seePlans":"查看套餐 ->","topUp":"充值 ->","notNow":"暂不"},"errors":{"offline":"直播已下播。请选择其他正在直播的主播。","connection":"直播连接出错，请重试。","couldNotStart":"无法开始"},"seo":{"title":"观看任意 TikTok LIVE 直播，配实时字幕 - tik.tools","description":"粘贴 TikTok 用户名，观看直播视频，屏幕上实时显示文字记录和 20+ 种语言翻译。无需写代码，无需安装应用。"}},"topup":{"close":"关闭","headline":"字幕时长","sub":"字幕套餐在每次续费时提供实时字幕和翻译分钟数。剩余不足 10% 时自动充值（可关闭）。","loadingPlans":"正在加载套餐...","weekly":"按周","monthly":"按月","save":"省 20%","mostPopular":"最受欢迎","perMonth":"/月","perWeek":"/周","planHours":"{hours} 小时字幕","loading":"加载中...","subscribe":"订阅 →","perMinute":"每分钟 {price}","fineprint":"{price} · 可随时取消","autoRenewNote":"自动续费 · 可随时在控制台取消","backToPlans":"← 返回套餐","checkoutEyebrow":"字幕套餐","hoursPerMonth":"{hours} 小时 / 月","hoursPerWeek":"{hours} 小时 / 周","settingUp":"正在准备安全付款...","subtotal":"小计","tax":"税费","totalToday":"今日合计","processing":"处理中...","payNow":"立即支付 {amount}","autoRenewMonthly":"每月自动续费，可随时取消。","autoRenewWeekly":"每周自动续费，可随时取消。","doneTitle":"字幕套餐已生效","doneBody":"时长已到账，此直播的字幕将立即恢复。","continue":"继续","upgrade":{"eyebrow":"升级字幕套餐","inPlace":"直接升级。只有一个订阅，不会重复扣费。","creditUnused":"{plan} 未使用时长抵扣","newLine":"新 {plan}（{billing}）","chargedToday":"今日从你的银行卡扣款","confirm":"确认升级 · {amount}","cancel":"取消"},"errors":{"needsConfirmation":"升级需要确认，请重试。","unexpected":"升级接口返回了意外的响应。","upgradeFailed":"升级失败。","samePlan":"你已经在使用该套餐。","initFailed":"付款初始化失败，请重试。","mountFailed":"付款表单加载失败，请刷新页面。","checkoutFailed":"结账失败","paymentFailed":"付款失败。","notConfirmed":"付款未确认，请换一张银行卡重试。"}}},"site":{"pricing":{"og":{"title":"简单透明的价格","subtitle":"{days} 天免费评估，之后按周或按月订阅。评估无需信用卡。","badge":"价格"}},"home":{"og":{"subtitle":"通过 WebSocket 连接任意 TikTok LIVE 直播，实时获取弹幕、礼物、点赞和观众数据。"}},"bestTime":{"og":{"title":"TikTok 最佳开播时间","subtitle":"按你的时区显示的实时互动热力图。","badge":"开播时间"}},"featureCard":{"tag":"功能","learnMore":"了解更多"},"heroTabs":{"giftFallback":"礼物"},"liveDemo":{"giftFallback":"礼物"},"bookLiveDemo":{"firstNamePlaceholder":"张伟","agencyPlaceholder":"星光传媒","emailPlaceholder":"you{'@'}company.com"}},"siteDev":{"api":{"og":{"title":"面向开发者的 TikTok LIVE API","subtitle":"从任意 TikTok LIVE 直播间实时获取弹幕、礼物、点赞和观众数。"}},"agencySdk":{"heroHighlight":"Agency SDK","name":"TikTok LIVE Agency SDK"},"eventSamples":{"labels":{"gift":"虚拟礼物","chat":"弹幕消息","like":"点赞","member":"观众进场","follow":"关注","share":"分享","subscribe":"订阅","roomUser":"观众数","emote":"表情弹幕","envelope":"红包","linkMicBattle":"PK 对战","questionNew":"问答","liveShopping":"直播带货","roomInfo":"直播生命周期","battle":"PK 状态","battleArmies":"PK 贡献者","linkMicOpponentGift":"对手礼物","linkMic":"连线","poll":"投票","rankUpdate":"实时排行","rankNotice":"排名横幅","streamStatus":"直播状态","control":"控制信号","caption":"原生字幕","giftPanelUpdate":"礼物面板","goalUpdate":"目标","superFan":"超级粉丝","superFanJoin":"超级粉丝加入","roomPin":"置顶消息","barrage":"横幅消息","fansEvent":"粉丝团","hostBoard":"主播榜","toast":"系统提示","questionSelected":"已选问题","giftCollectionUpdate":"礼物收集","linkMicLayout":"连线布局"},"descs":{"gift":"礼物名称、钻石价值、连送次数、连击、送礼者及其关系。","chat":"每条弹幕消息，包含用户数据、徽章、语言和回复对象。","like":"批量点赞，包含发送者信息和直播间累计总数。","member":"谁进入了直播间，包含进场来源和当前观众数。","follow":"直播期间的新增关注事件。","share":"观众分享直播间时触发。","subscribe":"付费订阅加入和续订通知。","roomUser":"实时观众数更新及头部观众快照。","emote":"仅含贴纸 / 表情的评论，与文字弹幕分开。","envelope":"虚拟红包掉落和传送门爆发。","linkMicBattle":"PK 开始、实时比分更新和结果。","questionNew":"观众向主播问答面板提交的问题。","liveShopping":"直播电商事件：推荐商品、广告牌和商品列表刷新。","roomInfo":"连接就绪、直播间元数据和直播状态控制消息。","battle":"完整的 PK 状态，包含队伍比分、主播 ID 和布局。","battleArmies":"每位主播的 PK 比分，包含头部贡献者和带来比分变化的礼物。","linkMicOpponentGift":"对方 PK 主播直播间收到的礼物，通过一个连接逐条列出。","linkMic":"多人连麦 LIVE 中的连线加入和离开事件。","poll":"直播内投票的生命周期：开启、投票和关闭。","rankUpdate":"直播间的送礼用户和观众排行榜。","rankNotice":"向观众展示的排行榜和联赛横幅通知。","streamStatus":"直播状态变化：录制状态和内容复审。","control":"直播控制信号：开始、暂停和结束状态码。","caption":"TikTok 在 LIVE 上渲染的原生自动字幕，每帧一个窗口。","giftPanelUpdate":"直播间礼物目录轮换时的礼物面板刷新。","goalUpdate":"订阅和礼物目标朝直播间目标推进的进度。","superFan":"直播间内某位观众的超级粉丝等级状态。","superFanJoin":"观众加入超级粉丝团。","roomPin":"主播置顶的弹幕消息，包含时长和操作人。","barrage":"在直播画面上滚动的高亮横幅消息。","fansEvent":"粉丝团事件，例如等级提升和社群刷新。","hostBoard":"直播间主播侧排行榜快照。","toast":"直播间推送的临时屏幕系统通知。","questionSelected":"主播从问答面板中选中的问题。","giftCollectionUpdate":"礼物收集进度和完成状态。","linkMicLayout":"连线席位布局，包含每个位置上的直播间和用户。"},"fields":{"gift":{"giftName":"所送礼物的显示名称。","diamondCount":"单个礼物的钻石价值。","repeatCount":"本次连送的数量。","repeatEnd":"连击结束时为 true，请在这一帧进行累加。","user":"送礼者资料：uniqueId、昵称、关注及订阅状态。","receiverUserId":"礼物接收的主播。在多人连麦 LIVE 中，这是具体的嘉宾 / 主播，不一定是房主。"},"chat":{"comment":"消息文本。","language":"自动检测的评论语言代码。","emotes":"消息中引用的订阅者专属表情。","user":"发言者资料，包括管理员和关注身份。"},"like":{"likeCount":"该发送者本批次的点赞数。","totalLikeCount":"直播间累计点赞总数。","user":"发送这批点赞的用户。"},"member":{"enterSource":"观众的来源（homepage_hot、关注页、推荐）。","viewerCount":"进场时的实时观众数。","user":"进场的观众。"},"follow":{"user":"刚刚关注的观众。","actionType":"社交行为代码，3 表示关注。"},"share":{"user":"分享直播间的观众。","actionType":"社交行为代码，13 表示分享。"},"subscribe":{"subMonth":"连续订阅月数。","subscribeType":"新订阅或续订。","user":"订阅的观众。"},"roomUser":{"viewerCount":"直播间当前同时在线观众数。","topViewers":"按金币贡献排名的头部观众。"},"emote":{"emotes":"每个贴纸的表情 ID 和图片 URL。","user":"发送表情的用户。"},"envelope":{"coins":"红包奖池中的金币总数。","count":"可领取份额的观众人数。","user":"发红包的用户。"},"linkMicBattle":{"battleStatus":"PK 的开始、进行中或结束。","hosts":"双方及各自的实时总分。","battleDurationMs":"PK 时长。"},"questionNew":{"questionText":"观众提交的问题。","user":"提问的用户。"},"liveShopping":{"action":"电商行为：推荐、广告牌、刷新。","productId":"当前展示商品的目录 ID。","price":"以最小货币单位表示的金额 + 币种。"},"roomInfo":{"status":"直播间状态：2 表示直播中，4 表示已结束。","roomId":"本场直播的唯一直播间标识。","owner":"直播间的主播资料。"},"battle":{"status":"PK 阶段代码：开始、进行中或已结束。","teams":"双方及各自的主播 ID、主播资料和实时比分。","battleDuration":"PK 时长（秒）。"},"battleArmies":{"hosts":"每位主播的队伍总分及贡献者排名明细。","lastGift":"触发本次比分更新的礼物，内嵌其中。","secsRemaining":"PK 剩余秒数。"},"linkMicOpponentGift":{"senderUserId":"在对手一方送礼的观众 ID。","opponentRoomId":"对方 PK 主播的直播间 ID。","diamondCount":"该礼物的单个钻石价值。","repeatCount":"本次交易中的连送计数。"},"linkMic":{"action":"连线席位的 join（加入）或 leave（离开）。","users":"本次变化涉及的连线主播。"},"poll":{"pollId":"投票实例标识。","status":"投票状态：开启、投票中或已关闭。","optionsPayload":"投票选项的原始 JSON。"},"rankUpdate":{"rankType":"本次更新对应的排行榜。","rankList":"排名条目，包含用户、名次和分数。"},"rankNotice":{"rankType":"通知类型代码。","position":"横幅上显示的名次。","noticeKey":"标明是哪种通知的横幅键。"},"streamStatus":{"rawPayload":"直播间下发的原始状态负载。"},"control":{"action":"控制代码，3 通常表示直播已结束。"},"caption":{"text":"此窗口的字幕文本。","language":"检测到的口语语言代码。","isFinal":"临时结果为 false，确定的窗口为 true。"},"giftPanelUpdate":{"panelId":"发生变化的礼物面板标识。","updatedAtSec":"面板刷新时的 Unix 秒级时间戳。"},"goalUpdate":{"goalKey":"此进度所属的目标。","contributionLevel":"朝目标推进的进度等级。","metadataJson":"包含目标值和当前总数的原始 JSON。"},"superFan":{"level":"该观众的超级粉丝等级。","displayType":"正在展示的超级粉丝状态类型。","user":"超级粉丝观众。"},"superFanJoin":{"user":"加入超级粉丝团的观众。","displayType":"正在展示的加入状态类型。"},"roomPin":{"comment":"置顶消息的文本。","durationSeconds":"置顶持续的时长。","user":"置顶消息的作者。"},"barrage":{"content":"横幅消息的文本。","displayType":"使用的横幅样式。","user":"发送横幅的用户。"},"fansEvent":{"fanType":"粉丝团事件类别代码。","eventKey":"触发的粉丝团事件。"},"hostBoard":{"rawPayload":"直播间下发的原始主播榜负载。"},"toast":{"toastText":"向观众显示的通知文本。","scene":"提示的类型（例如 live_record）。"},"questionSelected":{"questionText":"主播选择回答的问题。"},"giftCollectionUpdate":{"collectionId":"礼物收集的标识。","status":"收集状态：进行中或已完成。"},"linkMicLayout":{"slots":"每个席位的位置索引、直播间 ID 和用户 ID。"}}}},"widgets":{"tinderDeck":{"demoEmptyTitle":"这里的演示卡片已经看完了。","demoEmptyBody":"订阅 Tik.Tools Agency，每天在所有地区、所有联赛挖掘主播。","seePlans":"查看 Agency 套餐 →","waitingTitle":"正在等待更多主播开播...","waitingBody":"这里只显示该地区 + 联赛中正在直播的主播。有更多主播开播时，新卡片会立即出现。","upgrade":{"eyebrow":"升级","title":"解锁所有联赛","blurb":"你已看完该联赛的演示卡片。订阅 Agency 套餐即可在所有地区、所有等级挖掘主播，筛选结果会为整个团队保存。","hint":"滑动 / 方向键 → 查看下一个联赛"},"live":"LIVE","unmute":"取消静音","mute":"静音","unmuteAll":"取消所有卡片静音","muteAll":"所有卡片静音","stamp":{"watch":"关注","skip":"跳过","maybe":"待定"},"profile":"主页 →","skipAria":"跳过","watchAria":"加入观察名单","hint":"← 跳过 · → 观察名单 · 或拖动"},"cardLive":{"userFallback":"用户","giftFallback":"礼物","sentGift":"送出 {gift}","sentGiftCount":"送出 {gift} ×{count}","followed":"关注了主播","joined":"进入直播间","liked":"点赞"}},"dataPages":{"gifterTags":{"earlyStriker":"开场先锋","lateCloser":"压哨收官","rhythmGifter":"规律送礼","heavyHitter":"重炮手","loyalFan":"铁粉","creatorHopper":"多播游走","burstGifter":"连刷型","whaleGifter":"大哥","microGifter":"小额送礼"},"regions":{"northAmerica":"北美","latinAmerica":"拉丁美洲","colombiaPeruDominicanRepublic":"哥伦比亚、秘鲁和多米尼加共和国","australiaPacific":"澳大利亚和太平洋地区","bangladeshBhutanMaldives":"孟加拉国、不丹和马尔代夫","centralAsia":"中亚","germanyDach":"德国及 DACH 地区","iberia":"伊比利亚半岛","centralEurope":"中欧","lusophone":"葡语国家","irelandBalticsMalta":"爱尔兰、波罗的海国家和马耳他","nordics":"北欧","balkans":"巴尔干","nigeriaGhanaKenyaSouthAfrica":"尼日利亚、加纳、肯尼亚和南非"},"agencyDummy":{"name":"你的公会名称","tagline":"用一句话介绍你的公会","description":"我们是一家 TikTok LIVE 公会，帮助主播扩大观众群、自信开播，并通过礼物获得更多收入。\n我们负责排期、培训和结算，让主播专注于直播表现。\n请把这段文字换成你自己的故事：你和哪些主播合作、取得了哪些成果，以及主播为什么应该加入你。"}},"regions2":{"dummyRoster":{"yourcreator1":"你的主播","yourcreator2":"新晋之星","yourcreator3":"周末主播","yourcreator4":"礼物榜头部主播"}},"readingHours":{"checkout":{"successTitle":"已收到付款","pendingTitle":"付款处理中","successHours":"已向你的余额添加 {hours}。","successPending":"付款确认后，时长会立即添加。","backToApp":"返回应用","tryAgain":"重试","failedTitle":"付款未成功","payCardPaypal":"使用银行卡或 PayPal 付款","errors":{"generic":"付款未成功。你没有被扣款。","cardDeclined":"你的银行卡被拒绝。","insufficientFunds":"你的银行卡余额不足。","expiredCard":"你的银行卡已过期。","incorrectCvc":"安全码不正确。","incorrectNumber":"卡号不正确。","invalidExpiry":"有效期无效。","processingError":"无法处理你的银行卡。请重试。","authenticationRequired":"你的银行要求你确认此笔付款。请重试。","authenticationFailed":"你的银行无法确认此笔付款。你没有被扣款。","tooManyAttempts":"此卡尝试次数过多。请换一张卡或稍后再试。","cardNotSupported":"此卡不支持此笔付款。请换一张卡。","checkoutStart":"无法开始付款。没有产生任何扣款。","notCompleted":"付款未完成。你没有被扣款。","unconfirmed":"我们暂时无法确认付款。如果已扣款，时长会在几分钟内添加。","paypalStart":"无法开始 PayPal 付款。没有产生任何扣款。","paypalFailed":"PayPal 付款未成功。你没有被扣款。","paypalLoad":"无法加载 PayPal。请使用银行卡或刷新页面。"}}},"rankCopy":{"title":"复制本榜单的全部用户名","lockedTitle":"批量复制是 Agency 套餐功能","copied":"已复制：{count}","copiedAria":"已复制到剪贴板的用户名：{count}","empty":"没有可复制的内容","failed":"复制失败","rateLimited":"复制次数过多，请一分钟后再试"},"agencyAlerts":{"whatsapp":{"title":"WhatsApp 提醒","body":"在 WhatsApp 上接收关注送礼者提醒和主播提醒。每位团队成员一个号码。","phoneLabel":"WhatsApp 号码","phonePlaceholder":"+44 7700 900123","consent":"我同意通过 WhatsApp 在此号码接收来自 tik.tools 的提醒和通知。我可以随时回复 STOP 停止接收这些消息。","sendCode":"发送验证码","sending":"正在发送...","codeSent":"我们已向你的 WhatsApp 发送 6 位验证码，10 分钟内有效。","codeLabel":"输入发送到 {phone} 的验证码","confirm":"确认","cancel":"取消","linked":"WhatsApp 提醒已开启。","active":"提醒发送至 {phone}","unlink":"停止 WhatsApp 提醒","errors":{"phone":"请输入带国家代码的号码，例如 +44 7700 900123。","consent":"请勾选同意框以继续。","rate":"请求验证码次数过多，请稍后再试。","limit":"你的公会已达到 WhatsApp 号码上限。","undeliverable":"该号码无法接收 WhatsApp 消息。","send":"验证码发送失败，请重试。","expired":"验证码已过期，请重新获取。","attempts":"错误次数过多，请重新获取验证码。","none":"没有待验证的验证码，请重新获取。","wrong":"验证码不正确，还剩 {left} 次机会。","format":"请输入 6 位验证码。","locked":"WhatsApp 提醒需要付费公会套餐。","generic":"出了点问题，请重试。"}}},"ttsLanding":{"seo":{"title":"TikTools - Alerts & TTS: 在 iPhone 上收听你的 TikTok LIVE 弹幕","description":"这款 iPhone 应用会朗读你的 TikTok LIVE 弹幕，并为礼物、关注、分享和订阅播放提醒，让你直播时不用一直盯着屏幕。"},"og":{"title":"收听你的直播弹幕","subtitle":"在 iPhone 上朗读 TikTok LIVE 弹幕，附带礼物和关注提醒。","badge":"iPhone 应用"},"hero":{"eyebrow":"TikTools - Alerts & TTS iPhone 版","title":"收听你的直播弹幕","lead":"TikTools 在 iPhone 上朗读你的 TikTok LIVE 弹幕，直播时不用盯着屏幕。目光留在镜头上，每条评论都不错过。","free":"每天免费朗读：前 {days} 天每天 {welcomeHours} 小时，之后每天 {steadyMinutes} 分钟。"},"store":{"download":"在 App Store 下载","soon":"即将登陆 App Store"},"features":{"label":"功能","title":"直播里的一切，都能听见","items":{"chat":{"title":"朗读弹幕","body":"每条新评论一到就会被读出来，不用低头看手机也能回复观众。"},"alerts":{"title":"礼物、关注、分享和订阅提醒","body":"每个礼物、新粉丝、分享和订阅都有提示音和横幅。大礼物配上更大的场面。"},"voices":{"title":"每种语言一个声音","body":"每条消息都会用 iPhone 上的语音以它自己的语言朗读。可选用任意 iOS 语音，并为每类事件设置专属声音。"},"filters":{"title":"由你设定的过滤","body":"屏蔽词语、静音观众、限制消息长度和每分钟评论数，并跳过以你的命令前缀开头的内容。"},"golive":{"title":"开播提醒","body":"你的直播开始时，或你关注的主播开播时，都会收到通知。轻点一下，弹幕就开始说话。"},"rankings":{"title":"排行榜","body":"在应用内按地区查看当前 TikTok LIVE 上领先的主播。"},"watchlist":{"title":"主播关注列表","body":"把你在意的主播放进一个列表，查看他们上次直播的时间，并选择谁会通知你。"}}},"gallery":{"label":"截图","title":"细看一下","alt":{"s01":"应用的朗读界面正在朗读直播弹幕","s02":"显示今日免费朗读时长的开始界面","s03":"直播弹幕上方的礼物提醒横幅","s04":"为每种语言设置不同声音的语音设置","s05":"针对词语、观众、链接和命令的过滤设置","s06":"iPhone 锁屏上的开播通知","s07":"提醒设置和主播关注列表"}},"pricing":{"label":"价格","title":"每天都有免费朗读时长","free":"每个账号前 {days} 天每天可朗读 {welcomeHours} 小时，之后每天 {steadyMinutes} 分钟。额度每天重置，只有朗读直播的时间才会计入。","packs":"直播时间更长？可通过应用内购买获取可选的朗读时长包。"},"cta":{"title":"你的弹幕，在你耳边","body":"输入你直播所用的 LIVE 用户名，点按开始，每条评论一到就会被朗读出来。"},"legal":{"linksLabel":"应用帮助与法律信息","help":"帮助","privacy":"隐私政策","terms":"使用条款","disclaimer":"TikTools 是一款独立应用，与 TikTok 无关联，也未获得 TikTok 的认可。"},"schema":{"offer":"每天免费朗读时长。可选的朗读时长包以应用内购买形式出售。"}}}}