{
  "common": {
    "menu": "Menu",
    "login": "Sign in",
    "register": "Sign up",
    "logout": "Sign out",
    "userCenter": "Account",
    "console": "Console",
    "getStarted": "Get started",
    "settings": "Settings",
    "apiKey": "API Key",
    "openApi": "OpenAPI",
    "phase2": "Phase 2",
    "endpointsCount": " endpoints",
    "planned": "Not available",
    "businessBadge": "Contact sales",
    "copy": "Copy",
    "ok": "OK",
    "cancel": "Cancel",
    "close": "Close",
    "dialog": "Dialog",
    "savedAck": "I have saved it",
    "contactSales": "Contact sales",
    "backHome": "Back to home"
  },
  "site": {
    "brand": "XTREE",
    "definition": "Social Media Data API",
    "tagline": "Social Media Data API",
    "valueProp": "Real-time social media data API for accounts, posts, video, and comments. It reads data and does not publish posts. WeChat, Douyin, Xiaohongshu, Kuaishou, Weibo, Bilibili, TikTok, YouTube, and Taobao are live. See the API catalog."
  },
  "nav": {
    "home": "Home",
    "apiCatalog": "API Catalog",
    "product": "Product",
    "docs": "Docs",
    "skills": "Skills",
    "blog": "Blog",
    "rankings": "Rankings",
    "rankingsAccounts": "Official accounts",
    "rankingsMiniprograms": "Mini programs",
    "rankingsOriginalApps": "Original apps",
    "rankingsBrands": "Brand voice",
    "account": "Account",
    "accountOverview": "Overview",
    "accountProfile": "Profile",
    "accountWallet": "Wallet & billing",
    "accountRecharge": "Top up",
    "accountOrders": "Orders",
    "accountUsage": "Usage logs",
    "accountSettings": "Settings",
    "wechatApi": "WeChat API",
    "douyinApi": "Douyin API",
    "xhsApi": "Xiaohongshu API",
    "kuaishouApi": "Kuaishou API",
    "weiboApi": "Weibo API",
    "bilibiliApi": "Bilibili API",
    "tiktokApi": "TikTok API",
    "youtubeApi": "YouTube API",
    "mediaApi": "Media API",
    "facebookApi": "Facebook API",
    "taobaoApi": "Taobao API",
    "jdApi": "JD API",
    "pddApi": "PDD API",
    "accountWatches": "Account watches"
  },
  "auth": {
    "page": {
      "title": "Sign in · {{brand}}",
      "subtitle": "Callable real-time raw data APIs for accounts, followers, content, audiovisual media, and comments — for developers and enterprises, ready for monitoring and integration.",
      "feature1Title": "Real-time raw data",
      "feature1Desc": "Cross-platform JSON field contracts — not BI, analytics, or cleaned models",
      "feature2Title": "API Key, pay per call",
      "feature2Desc": "Sign up, get a Key, authenticate with X-XTREE-Key, billed per call with usage logs",
      "feature3Title": "Live across platforms",
      "feature3Desc": "WeChat, Douyin, Xiaohongshu, Kuaishou, Weibo, Bilibili, TikTok, YouTube, Taobao",
      "login": "Sign in",
      "register": "Sign up",
      "email": "Email",
      "emailPlaceholder": "your@email.com",
      "password": "Password",
      "passwordMin8": "Password (min. 8 characters)",
      "confirmPassword": "Confirm password",
      "forgotPassword": "Forgot password?",
      "submitLogin": "Sign in",
      "submitRegister": "Sign up",
      "haveAccount": "Already have an account?",
      "goLogin": "Sign in",
      "passwordTooShort": "Password must be at least 8 characters",
      "passwordMismatch": "Passwords do not match",
      "loginFail": "Sign-in failed",
      "registerFail": "Sign-up failed",
      "registerDisabled": "Registration is temporarily closed",
      "agreePrefix": "I have read and agree to the",
      "agreeAnd": "and",
      "agreeTerms": "Terms of Service",
      "agreePrivacy": "Privacy Policy",
      "agreeRequired": "Please agree to the Terms of Service and Privacy Policy"
    },
    "modal": {
      "loginSignupAria": "Sign in or sign up",
      "close": "Close",
      "login": "Sign in",
      "signupFree": "Free sign up",
      "email": "Email",
      "password": "Password",
      "passwordMin8": "Password (min. 8 characters)",
      "displayNameOptional": "Display name (optional)",
      "forgotPassword": "Forgot password?",
      "submitLogin": "Sign in",
      "submitRegister": "Sign up",
      "showPassword": "Show password",
      "hidePassword": "Hide password",
      "forgotTitle": "Reset password",
      "forgotAria": "Reset password",
      "forgotHint": "Enter your registered email and we will send a reset link (valid for 1 hour).",
      "sendResetLink": "Send reset link",
      "backToLogin": "Back to sign in",
      "forgotSuccess": "If that email is registered, you will receive a reset link. Please check your inbox.",
      "resetTitle": "Set a new password",
      "resetAria": "Set new password",
      "newPasswordMin8": "New password (min. 8 characters)",
      "confirmNewPassword": "Confirm new password",
      "submitReset": "Reset password",
      "resetSuccess": "Password updated. Please sign in.",
      "goLogin": "Sign in",
      "passwordTooShort": "Password must be at least 8 characters",
      "passwordMismatch": "Passwords do not match",
      "loginFail": "Sign-in failed",
      "registerFail": "Sign-up failed",
      "requestFail": "Request failed",
      "resetFail": "Reset failed",
      "keyRevealTitle": "Save your API Key",
      "keyRevealHint": "This is your default key created automatically. Copy and store it; you can also view or create more keys in Account later.",
      "copy": "Copy",
      "keySaved": "I have saved it"
    }
  },
  "account": {
    "overview": {
      "pageTitle": "Account · {{brand}}",
      "title": "Overview",
      "email": "Email",
      "balance": "Current balance",
      "keyCount": "API Keys",
      "recentUsage": "Calls (7 days)",
      "recentUsageHint": "View details",
      "loading": "Loading…",
      "manageKeys": "Manage API Keys",
      "viewWallet": "Balance & billing",
      "wallet": "Balance & billing",
      "usage": "Usage",
      "settings": "Settings",
      "apiCatalog": "API Catalog"
    },
    "profile": {
      "title": "Profile",
      "avatar": "Avatar",
      "uploadAvatar": "Upload avatar",
      "basic": "Basic info",
      "displayName": "Display name",
      "save": "Save",
      "saved": "Saved",
      "saveFail": "Save failed",
      "bindings": "Account bindings",
      "email": "Email",
      "phone": "Phone",
      "wechat": "WeChat",
      "verified": "Verified",
      "unbound": "Not bound",
      "bound": "Bound",
      "bind": "Bind",
      "unbind": "Unbind",
      "changeBind": "Change",
      "sendCode": "Send code",
      "code": "Verification code",
      "oldCode": "Current code",
      "newCode": "New code",
      "oldEmail": "Current email",
      "newEmail": "New email",
      "oldPhone": "Current phone",
      "newPhone": "New phone",
      "phonePlaceholder": "11-digit mainland mobile number",
      "bindPhoneHint": "Enter an 11-digit mainland mobile number. No SMS verification is required.",
      "changePhoneHint": "Enter a new 11-digit mainland mobile number. No SMS verification is required.",
      "phoneInvalid": "Enter a valid 11-digit mainland mobile number",
      "changeEmailHint": "Verify your current email, then the new email",
      "changeEmailTitle": "Change email",
      "bindPhoneTitle": "Bind phone",
      "changePhoneTitle": "Change phone",
      "cancel": "Cancel",
      "confirm": "Confirm",
      "codeSent": "Code sent",
      "codeFail": "Failed to send code",
      "loading": "Loading…",
      "loadError": "Failed to load profile",
      "avatarOk": "Avatar updated",
      "avatarFail": "Avatar upload failed",
      "phoneOk": "Phone updated",
      "phoneFail": "Could not bind this number — check the format or if it is already in use",
      "emailOk": "Email updated",
      "bindFail": "Binding failed — check the code",
      "unbindFail": "Unbind failed",
      "wechatOk": "WeChat linked",
      "wechatFail": "WeChat link failed",
      "wechatUnbound": "WeChat unlinked",
      "wechatNotConfigured": "WeChat linking is not available",
      "password": "Password"
    },
    "keys": {
      "pageTitle": "API Key · {{brand}}",
      "title": "API Keys",
      "hint": "A default key is created at signup. You may create multiple keys, and can reveal or copy the full secret at any time.",
      "labelPlaceholder": "Key label, e.g. prod / ci",
      "create": "Create key",
      "loading": "Loading…",
      "empty": "No API keys yet. Create a new key to get started.",
      "colLabel": "Label",
      "colPrefix": "Key",
      "colCreated": "Created",
      "colLastUsed": "Last used",
      "revoke": "Revoke",
      "loadFail": "Failed to load API keys",
      "createFail": "Failed to create key",
      "revokeFail": "Failed to revoke key",
      "revokedOk": "Key revoked",
      "wrongPassword": "Incorrect password",
      "createConfirmTitle": "Create key",
      "createConfirmMessage": "Create a new key labeled \"{{label}}\"?\nYou can reveal and copy the full secret from the list at any time.",
      "createConfirmLabel": "Create",
      "revealTitle": "Save API key",
      "revealMessage": "Key created — copy it now; you can also reveal it later from the list.",
      "reveal": "Show",
      "hide": "Hide",
      "copied": "Full key copied",
      "copyFail": "Copy failed — select and copy manually",
      "revealFail": "Could not load the full key",
      "revokeConfirmTitle": "Revoke key",
      "revokeConfirmMessage": "Enter your account password to revoke key \"{{label}}\".",
      "revokePasswordPlaceholder": "Account password",
      "revokeCancel": "Cancel"
    },
    "wallet": {
      "pageTitle": "Balance & billing · {{brand}}",
      "title": "Balance & billing",
      "balance": "Current balance",
      "tabDebit": "Usage",
      "tabCredit": "Top-ups",
      "loading": "Loading…",
      "emptyDebit": "No usage records yet.",
      "emptyCredit": "No top-up records yet.",
      "goRecharge": "Top up",
      "goOrders": "View orders",
      "ledgerTitle": "Credit ledger",
      "contactPrefix": "For top-ups, contact",
      "colTime": "Time",
      "colType": "Type",
      "entrySignupBonus": "Signup credit",
      "entryRecharge": "Top-up",
      "entryAdminCredit": "Admin credit",
      "entryDebit": "Usage",
      "colAmount": "Amount",
      "colBalanceAfter": "Balance after",
      "colOrderAmount": "Amount",
      "colChannel": "Channel",
      "colStatus": "Status",
      "meta": "{{total}} records, page {{page}}",
      "prev": "Previous",
      "next": "Next"
    },
    "recharge": {
      "pageTitle": "Top up · {{brand}}",
      "title": "Top up",
      "desc": "Choose a payment method and amount to add funds",
      "month": "This month",
      "balance": "Available balance",
      "viewOrders": "View orders",
      "method": "Payment method",
      "alipay": "Alipay",
      "alipayHint": "Recommended in China",
      "wechat": "WeChat Pay",
      "wechatHint": "Scan to pay",
      "bank": "Bank transfer",
      "bankHint": "For enterprise customers",
      "bankBanner": "Enterprise customers can contact sales for a dedicated setup.",
      "amount": "Amount (CNY)",
      "custom": "Custom amount",
      "customPlaceholder": "Enter a whole-yuan amount",
      "summary": "Order summary",
      "summaryMethod": "Method",
      "summaryAmount": "Top-up amount",
      "summaryCredit": "Amount to credit",
      "summaryPay": "Amount to pay",
      "refundHint": "All purchases are final. No refunds.",
      "submit": "Top up",
      "channelOff": "This payment method is not available yet",
      "qrTitle": "Scan to pay",
      "qrHint": "Scan with the matching app. Balance updates after payment.",
      "qrWaiting": "Waiting for payment…",
      "paid": "Paid. Balance updated.",
      "expired": "QR code expired. Please create a new order.",
      "close": "Close",
      "bankTitle": "Bank transfer",
      "bankBody": "Contact support to complete a bank transfer. Ops will credit your balance after payment arrives.",
      "mail": "Email support",
      "loadFail": "Failed to load",
      "createFail": "Could not create the order"
    },
    "orders": {
      "pageTitle": "Orders · {{brand}}",
      "title": "Orders",
      "total": "Orders (current filter)",
      "paidCount": "Paid count",
      "paidAmount": "Paid amount",
      "all": "All",
      "pending": "Pending",
      "paid": "Paid",
      "expired": "Unpaid",
      "failed": "Failed",
      "colId": "Order ID",
      "colTime": "Created",
      "colAmount": "Amount",
      "colStatus": "Status",
      "colAction": "Actions",
      "pay": "Pay",
      "empty": "No orders yet.",
      "loading": "Loading…",
      "meta": "{{total}} records, page {{page}}",
      "prev": "Previous",
      "next": "Next",
      "channelAlipay": "Alipay",
      "channelWechat": "WeChat Pay",
      "channelBank": "Bank transfer",
      "channelManual": "Bank transfer"
    },
    "usage": {
      "pageTitle": "Usage · {{brand}}",
      "title": "Usage",
      "hint": "Recent API call log (User JWT read-only; request params not included).",
      "from": "From",
      "to": "To",
      "datePlaceholder": "YYYY-MM-DD",
      "clearDates": "Clear dates",
      "loading": "Loading…",
      "empty": "No usage records yet.",
      "meta": "{{total}} total · page {{page}}",
      "prev": "Previous",
      "next": "Next",
      "colTime": "Time",
      "colProduct": "Product",
      "colStatus": "Status",
      "colLatency": "Latency",
      "colCharge": "Charge",
      "colBalanceAfter": "Balance after"
    },
    "settings": {
      "pageTitle": "Settings · {{brand}}",
      "title": "Settings",
      "changePassword": "Change password",
      "currentPassword": "Current password",
      "newPassword": "New password (min. 8 characters)",
      "confirmPassword": "Confirm new password",
      "save": "Save",
      "passwordTooShort": "Password must be at least 8 characters",
      "passwordMismatch": "New passwords do not match",
      "passwordOk": "Password updated",
      "passwordFail": "Update failed"
    },
    "watches": {
      "title": "Account watches",
      "hint": "By default we check watched accounts once every 24 hours (the maximum interval; longer periods are not supported). Each check is billed at the catalog API price. Only the daily cost is shown.",
      "intervalHint": "Each watch has its own interval. Most users can keep the default. Open Advanced to pick a shorter preset (minimum 1 minute). 1-minute can run 1,440 times per day and is very expensive — confirm before saving.",
      "slots": "Slots {{count}}/{{limit}}",
      "empty": "No watches yet. New watches are not opened on the website.",
      "pause": "Pause",
      "resume": "Resume",
      "delete": "Delete",
      "status": "Status",
      "packs": "Packs",
      "packProfile": "Also watch profile changes",
      "lastRun": "Last run",
      "digests": "Digests",
      "digestEmpty": "No digests yet",
      "digestNoNew": "No new items this run",
      "advancedConfig": "Advanced",
      "hideAdvanced": "Hide advanced",
      "interval": "Check interval",
      "interval_daily": "Every 24 hours",
      "interval_1h": "Every 1 hour",
      "interval_30m": "Every 30 minutes",
      "interval_10m": "Every 10 minutes",
      "interval_5m": "Every 5 minutes",
      "interval_1m": "Every 1 minute",
      "estimateDaily": "About {{amount}}/day",
      "estimateLine": "About {{unit}}/check · {{daily}}/day ({{runs}} checks)",
      "dailyBudget": "Daily budget (CNY, 0 = unlimited)",
      "saveWatch": "Save this watch",
      "confirmHighFreq": "Each check is billed. Estimated {{amount}}/day. Continue?",
      "confirm1m": "1-minute interval is very expensive (about {{amount}}/day). Confirm your wallet balance and daily budget.",
      "sinkTitle": "Delivery",
      "sinkIntro": "Deliver when new posts appear. Channels match common work apps; only In-app and Webhook are enabled in this repo.",
      "sinkNone": "In-app only",
      "sinkWebhook": "Webhook",
      "sinkEmail": "Email",
      "sinkWecom": "WeCom",
      "sinkDingtalk": "DingTalk",
      "sinkFeishu": "Feishu",
      "sinkTelegram": "Telegram",
      "sinkBitable": "Feishu Bitable",
      "sinkUnavailable": "Not enabled",
      "sinkForwardHint": "For channels that are not enabled, paste that platform’s HTTPS bot webhook into Webhook. This repo does not ship native WeCom / DingTalk / Feishu / Telegram bots.",
      "sinkUrl": "Webhook URL (HTTPS)",
      "sinkSecret": "Signing secret",
      "sinkSave": "Save delivery",
      "sinkTest": "Send test",
      "sinkSaved": "Saved",
      "sinkTestOk": "Test sent",
      "active": "Active",
      "paused": "Paused",
      "confirmDelete": "Delete this watch?",
      "businessHint": "Need more slots? Contact business@xtree.io"
    }
  },
  "docs": {
    "pageTitle": "Docs · {{brand}}",
    "metaDescription": "XTREE API docs — social media data API (accounts, posts, video, comments). Base URL https://api.xtree.io",
    "title": "Documentation",
    "intro": "{{brand}} — {{definition}}. Try APIs in ",
    "introPlayground": "Dev Debugging",
    "introContract": "; contract: ",
    "introOpenApi": "OpenAPI JSON",
    "tocTitle": "On this page",
    "shellLabel": "Documentation",
    "nav": {
      "groups": {
        "quickstart": "Getting started",
        "api": "API guide",
        "apiRef": "API reference",
        "concepts": "Concepts",
        "clients": "Clients"
      },
      "endpoints": "Endpoints"
    },
    "sections": {
      "overview": "Overview",
      "coverage": "Coverage",
      "auth": "Auth & billing",
      "search": "WeChat Search",
      "channels": "Channels",
      "articles": "Article engagement",
      "library": "Library search",
      "streams": "Data streams",
      "sdkPython": "Python SDK",
      "sdkTypescript": "TypeScript SDK",
      "mcp": "MCP"
    },
    "table": {
      "method": "Method",
      "path": "Path",
      "note": "Note",
      "debug": "Debug",
      "debugLink": "Debug",
      "param": "Param",
      "value": "Value"
    },
    "params": {
      "baseUrl": "base_url",
      "apiKey": "api_key",
      "header": "header"
    },
    "footer": {
      "playground": "Dev Debugging",
      "openApi": "OpenAPI JSON",
      "catalog": "API Catalog",
      "account": "Account",
      "pythonSdk": "Python SDK",
      "mcp": "MCP Server",
      "skillsRepo": "Agent Skills",
      "examples": "Code Examples"
    },
    "playground": {
      "title": "Dev Debugging",
      "hint": "Send requests with Header X-XTREE-Key to api.xtree.io.",
      "keysCta": "Manage API keys",
      "docsCta": "Developer docs",
      "loading": "Loading OpenAPI…",
      "loadError": "Failed to load:",
      "search": "Search endpoints…",
      "empty": "Select an endpoint.",
      "authHeaderDesc": "Product API key (xt_live_…)",
      "bodyTitle": "Request body",
      "responseTitle": "Response fields (data)",
      "responseHint": "Business payload is under envelope.data; paths below are the delivery contract.",
      "paramsTitle": "Parameters",
      "headersTitle": "Request headers",
      "apiSpecTitle": "API specification",
      "keyCardTitle": "API key setup",
      "getKey": "Get API Key",
      "getKeyShort": "Get key",
      "keyStep1": "Sign up and sign in to your account.",
      "keyStep2": "Create a key under API Keys (plaintext shown once).",
      "keyStep3": "Send Header X-XTREE-Key: xt_live_… (or Query ?key=).",
      "debug": "Try it",
      "drawerTitle": "Try it out",
      "guideTitle": "How to call",
      "guideStep1": "Create an API key and set Header X-XTREE-Key.",
      "guideStep2": "Fill the request body or parameters from the docs.",
      "guideStep3": "Click Try it to send a live request.",
      "guideStep4": "Parse data / meta / error from the envelope response.",
      "exampleResponse": "Example response",
      "copy": "Copy",
      "snippet": {
        "shell": "Shell",
        "ai": "AI prompt",
        "javascript": "JavaScript",
        "java": "Java",
        "python": "Python"
      },
      "priceFree": "Free",
      "priceFrom": "{{price}} / call",
      "rateLimit": "{{count}}/min",
      "keyHint": "Optional: paste a key then Send, or use Get key above.",
      "demoKeyHint": "Using the shared demo key ({{limit}} requests/min per IP), for trial calls only.",
      "demoKeyReady": "A shared demo key has been filled in for you — hit Try it to send a real request. It is capped at {{limit}} requests/min per IP; create your own key for production.",
      "useMyKey": "Use my own key",
      "send": "Send",
      "sending": "Sending…",
      "keyPlaceholder": "xt_live_…",
      "keyRequired": "Enter an API key first.",
      "invalidJson": "Request body is not valid JSON.",
      "networkError": "Network error (check CORS / connectivity).",
      "bodyEditor": "Body Params (JSON)",
      "response": "Response",
      "responseEmpty": "Click Send to get a response",
      "colName": "Name",
      "colIn": "In",
      "colType": "Type",
      "colRequired": "Required",
      "colDesc": "Description",
      "colExample": "Example",
      "yes": "Yes",
      "no": "No",
      "oneOf": "One of",
      "platforms": {
        "account": "Account",
        "wechat": "WeChat",
        "douyin": "Douyin",
        "xhs": "Xiaohongshu",
        "kuaishou": "Kuaishou",
        "weibo": "Weibo",
        "bilibili": "Bilibili",
        "tiktok": "TikTok",
        "youtube": "YouTube",
        "media": "Media",
        "facebook": "Facebook",
        "taobao": "Taobao",
        "jd": "JD",
        "pdd": "PDD",
        "other": "Other"
      },
      "fieldDesc": {
        "media.transcribe": {
          "url": "Direct media URL or share page URL",
          "media_url": "Direct media URL (alias of url)",
          "share_text": "Share text containing a media link"
        }
      },
      "colMethod": "Method",
      "colHost": "Host",
      "colPath": "Path",
      "live": "LIVE",
      "close": "Close"
    },
    "body": {
      "overview": {
        "title": "XTREE Product Overview",
        "paragraphs": [
          "XTREE is a real-time social media data API. It exposes accounts, posts, video, and comments via REST APIs for monitoring and business integration. It reads data and does not publish posts.",
          "The WeChat domain provides /api/wechat/* REST endpoints (no rankings / viral posts). Additional platforms include Douyin, Bilibili, and more. See the API Catalog for the full list and delivery status; try calls in Dev Debugging. Base URL: https://api.xtree.io/api. Auth: Header X-XTREE-Key.",
          "Official clients: Python SDK + CLI, TypeScript SDK, and MCP (Cursor / Claude Desktop). See install notes below."
        ]
      },
      "coverage": {
        "title": "What is live",
        "paragraphs": [
          "Live platforms are WeChat, Douyin, Xiaohongshu, Kuaishou, Weibo, Bilibili, TikTok, YouTube, and Taobao. Unit prices stay on each API Catalog page. XTREE reads data. It does not publish posts, and it is not a BI product.",
          "WeChat: Search, official-account history, article reads / likes / wows, and Channels videos and comments. Douyin: video and user search, profiles, posts, and comments. Xiaohongshu: note search, note detail, user notes, and comments. Kuaishou: profiles, posts, and search.",
          "Weibo: hot search, posts, users, comments, and topics. Bilibili: video search, detail, users, comments, popular videos, and rankings. TikTok: video detail, comments, search, and user posts. YouTube: video search, channel videos, Shorts, streams, and transcripts. Taobao: item search, item detail, and shop comments.",
          "Calls read live source data. A few list endpoints may reuse a successful response for several minutes: Weibo hot-search home and topic pages, the Bilibili popular list, Douyin search suggestions, and Xiaohongshu topic lists. Read counts, comments, and the other calls are live. There is no published success rate or latency figure.",
          "Try a call in Dev Debugging. Agent skills for the live platforms are at https://www.xtree.io/skills. MCP: uvx --from \"git+https://github.com/xtree-io/xtree-mcp.git\" xtree-mcp"
        ]
      },
      "streams": {
        "title": "Data Type System",
        "paragraphs": [
          "Content stream: posts, video, publish actions. Interaction stream: comments, likes, shares. Callable capabilities follow API Catalog delivery status."
        ]
      },
      "search": {
        "title": "WeChat Search (real-time)",
        "paragraphs": [
          "WeChat Search real-time data: official-account articles, Channels videos, accounts, and search suggestions. Pagination uses a session object in the response."
        ],
        "endpointNotes": {
          "wechat.search.articles": "Real-time article search",
          "wechat.search.videos": "Real-time video search",
          "wechat.search.accounts": "Search official accounts"
        }
      },
      "channels": {
        "title": "WeChat Channels",
        "paragraphs": [
          "Short-video content stream: keyword search, feed lists, comments, live replay, and link resolve."
        ]
      },
      "articles": {
        "title": "Article engagement",
        "paragraphs": [
          "Official-account article engagement: read/like/wow metrics, detail, HTML body, comments, and link conversion. Full list in Dev Debugging (WeChat group)."
        ],
        "endpointNotes": {
          "wechat.articles.metrics": "Read / like / wow",
          "wechat.articles.detail": "Article detail",
          "wechat.articles.html": "HTML body"
        }
      },
      "library": {
        "title": "Official-account library search",
        "paragraphs": [
          "Historical article library and account library search (delivery status follows API Catalog; ES is an optional read path). Python / TypeScript SDK and MCP wrap the library domain."
        ],
        "endpointNotes": {
          "wechat.library.articles.search": "Optional indexed store",
          "wechat.library.accounts.search": "Optional indexed store"
        }
      },
      "auth": {
        "title": "Auth & billing",
        "paragraphs": [
          "Auth via Header X-XTREE-Key (recommended for production), GET ?key=, or POST body/form key. After sign-up, create multiple keys in Account. Billing and rate limits are per product slug.",
          "Recommended path: get a key in Account → try in Dev Debugging → check price and delivery status on API Catalog. Full contract: OpenAPI.",
          "Pay per call from wallet balance; unit prices are on the API Catalog. Incomplete delivery is not billed. No volume tiers for now. For bulk, bank transfer, or enterprise terms, email business@xtree.io — there is no automatic enterprise tier."
        ],
        "endpointNotes": {
          "account.balance": "Free"
        }
      },
      "sdkPython": {
        "title": "Python SDK & CLI",
        "paragraphs": [
          "Install with pip install xtree-sdk. Import package xtree covers the public REST surface (see OpenAPI / Catalog). Env: XTREE_API_KEY (required), XTREE_BASE_URL (default https://api.xtree.io/api).",
          "Mirror: github.com/xtree-io/xtree-python"
        ]
      },
      "sdkTypescript": {
        "title": "TypeScript SDK",
        "paragraphs": [
          "Package @xtree/sdk with namespaces client.wechat.search / channels / accounts / articles / library / links.",
          "Mirror: github.com/xtree-io/xtree-sdk"
        ]
      },
      "mcp": {
        "title": "MCP (AI Agent)",
        "paragraphs": [
          "xtree-mcp exposes WeChat real-time and library tools only (see github.com/xtree-io/xtree-mcp). Other live platforms use REST or the Python SDK. Output includes data + _meta (with cost_cny).",
          "Install: uvx --from git+https://github.com/xtree-io/xtree-mcp.git xtree-mcp. Mirror: github.com/xtree-io/xtree-mcp",
          "Agent docs: https://www.xtree.io/llms.txt"
        ]
      },
      "codeTitles": {
        "install": "Install",
        "example": "Example",
        "cli": "CLI",
        "mcpConfig": "Cursor / Claude Desktop"
      },
      "paramValues": {
        "baseUrl": "https://api.xtree.io/api",
        "apiKey": "Create in Account · Header X-XTREE-Key",
        "header": "X-XTREE-Key: xt_live_..."
      }
    }
  },
  "footer": {
    "docs": "Docs",
    "apiCatalog": "API Catalog",
    "skills": "Skills",
    "blog": "Blog",
    "changelog": "Changelog",
    "userCenter": "Account",
    "terms": "Terms of Service",
    "privacy": "Privacy Policy",
    "pythonSdk": "Python SDK",
    "mcp": "MCP Server",
    "skillsRepo": "Agent Skills",
    "examples": "Code Examples"
  },
  "legal": {
    "termsTitle": "Terms of Service · {{brand}}",
    "privacyTitle": "Privacy Policy · {{brand}}",
    "backHome": "Back to home",
    "empty": "This document is not available yet."
  },
  "meta": {
    "homeTitle": "Social Media Data API · Real-time WeChat & TikTok · XTREE",
    "homeDescription": "Real-time social media data API. WeChat, Douyin, Xiaohongshu, TikTok, Weibo, Bilibili, YouTube, and Taobao — accounts, posts, video, and comments. Pay per call."
  },
  "blog": {
    "pageTitle": "Blog · XTREE",
    "heroTitle": "Blog",
    "heroSub": "Guides explain the product. News follows public trends. One channel, two kinds of articles.",
    "filter": {
      "all": "All",
      "guide": "Guides",
      "news": "News"
    },
    "kind": {
      "guide": "Guide",
      "news": "News"
    },
    "loading": "Loading",
    "empty": "No published articles yet",
    "missing": "This article does not exist or is not published",
    "back": "Back to blog",
    "ctaLead": "Create an API key after you register. Callable APIs are the ones listed in the docs.",
    "ctaRegister": "Register",
    "ctaCatalog": "API Catalog",
    "ctaDocs": "Docs",
    "related": "Related articles",
    "readMore": "Read more"
  },
  "changelog": {
    "pageTitle": "Changelog · XTREE",
    "heroTitle": "Changelog",
    "heroSub": "Public product changes. How-to guides stay on the blog.",
    "loading": "Loading",
    "empty": "No public changes yet."
  },
  "skills": {
    "pageTitle": "Skills · Raw data for Cursor / Claude · XTREE",
    "metaDescription": "Official XTREE Agent skills: use your own API key and wallet in Cursor / Claude to fetch WeChat Search, Channels, history posts, and library hits. Pay per call; incomplete delivery is not billed.",
    "heroTitle": "Skills",
    "heroSub": "Bundle multiple APIs into installable scenario playbooks. Use your own XTREE key and wallet so agents fetch raw data — not BI, not copywriting.",
    "officialTitle": "Official skills",
    "officialSub": "Official installable packages only. Open a card for billed slugs and install steps; unit prices are on API Catalog.",
    "hostsLabel": "Hosts",
    "host": {
      "cursor": "Cursor",
      "claude": "Claude"
    },
    "comboBadge": "Multi-call combo",
    "singleBadge": "One call per turn",
    "slugsLabel": "Billed slugs",
    "viewOnGithub": "View on GitHub",
    "viewDetail": "View details",
    "backToList": "Back to skills",
    "installTitle": "Install prerequisites",
    "installSub": "Configure MCP first, then copy a skill directory. Billing still goes through api.xtree.io.",
    "installStep1": "Sign up and get your own XTREE_API_KEY (do not share demo keys).",
    "installStep2": "Add MCP in Cursor / Claude Desktop (JSON below).",
    "installStep3": "Copy the skill folder into .cursor/skills/ (or follow your host docs).",
    "copyMcp": "Copy MCP config",
    "copyPath": "Copy install hint",
    "copied": "Copied",
    "linkMcp": "xtree-mcp",
    "linkSkillsRepo": "xtree-skills",
    "billingNote": "Wallet pay-per-call; incomplete delivery is usually not billed; combos may hit multiple slugs in one chat. No volume tiers, no credit packs.",
    "contactBefore": "Need a combo we do not cover →",
    "contactAfter": " (custom / sales).",
    "detail": {
      "installHeading": "Install",
      "installStep3": "Copy {{dir}} into your project .cursor/skills/ (or follow your host docs).",
      "copyPathValue": "Copy folder {{dir}} (package {{package}}) into your host Skills path, e.g. .cursor/skills/{{dir}}/"
    },
    "cards": {
      "wechat-search": {
        "title": "WeChat Search",
        "summary": "Keyword search for WeChat articles, videos, or accounts — raw hits for topic scouting.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy wechat-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "WeChat Search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Keyword search for WeChat articles, videos, or accounts — raw hits for topic scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for WeChat Search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-channels": {
        "title": "Channels feeds & lists",
        "summary": "Search Channels and list feeds for account portfolio checks.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy wechat-channels/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Channels feeds & lists · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search Channels and list feeds for account portfolio checks.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Channels feeds & lists",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-articles-metrics": {
        "title": "Article engagement",
        "summary": "Fetch reads / likes / looking by article URL for lightweight engagement insight.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy wechat-articles-metrics/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Article engagement · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch reads / likes / looking by article URL for lightweight engagement insight.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Article engagement",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-accounts-posts": {
        "title": "Account history posts",
        "summary": "List historical posts by gh_id to monitor publishing cadence.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy wechat-accounts-posts/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Account history posts · Skills · XTREE",
        "metaDescription": "Official XTREE skill: List historical posts by gh_id to monitor publishing cadence.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Account history posts",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-accounts-by-owner": {
        "title": "Search by owner",
        "summary": "Live-search official accounts by owner name for brand matrix checks.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy wechat-accounts-by-owner/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Search by owner · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Live-search official accounts by owner name for brand matrix checks.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Search by owner",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-library-search": {
        "title": "Article & account library",
        "summary": "Search the ES article/account library for historical inventory.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy wechat-library-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Article & account library · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search the ES article/account library for historical inventory.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Article & account library",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-comments": {
        "title": "WeChat comments",
        "summary": "Fetch article and Channels comments for light sentiment scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy wechat-comments/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "WeChat comments · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch article and Channels comments for light sentiment scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for WeChat comments",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-article-detail": {
        "title": "Article detail",
        "summary": "Fetch article detail / HTML / summary for review and archiving.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy wechat-article-detail/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Article detail · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch article detail / HTML / summary for review and archiving.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Article detail",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "wechat-channels-metrics": {
        "title": "Channels feed metrics",
        "summary": "Fetch Channels feed engagement for performance snapshots.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy wechat-channels-metrics/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Channels feed metrics · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch Channels feed engagement for performance snapshots.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Channels feed metrics",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "douyin-search": {
        "title": "Douyin search",
        "summary": "Search Douyin videos, users, and suggestions for short-video scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy douyin-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Douyin search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search Douyin videos, users, and suggestions for short-video scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Douyin search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "douyin-creator-insight": {
        "title": "Douyin creator insight",
        "summary": "Fetch creator metrics and profile for lightweight account scoring.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy douyin-creator-insight/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Douyin creator insight · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch creator metrics and profile for lightweight account scoring.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Douyin creator insight",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "douyin-user-posts": {
        "title": "Douyin user posts",
        "summary": "List a Douyin user's posts for portfolio review.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy douyin-user-posts/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Douyin user posts · Skills · XTREE",
        "metaDescription": "Official XTREE skill: List a Douyin user's posts for portfolio review.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Douyin user posts",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "douyin-comments": {
        "title": "Douyin comments",
        "summary": "Fetch video comments for engagement scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy douyin-comments/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Douyin comments · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch video comments for engagement scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Douyin comments",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "xhs-notes-search": {
        "title": "Xiaohongshu notes search",
        "summary": "Search notes and load detail for seeding / competitor scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy xhs-notes-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Xiaohongshu notes search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search notes and load detail for seeding / competitor scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Xiaohongshu notes search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "xhs-user-notes": {
        "title": "Xiaohongshu user notes",
        "summary": "Find users and list their notes for portfolio checks.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy xhs-user-notes/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Xiaohongshu user notes · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Find users and list their notes for portfolio checks.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Xiaohongshu user notes",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "xhs-comments": {
        "title": "Xiaohongshu comments",
        "summary": "Fetch note comments for seeding feedback.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy xhs-comments/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Xiaohongshu comments · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch note comments for seeding feedback.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Xiaohongshu comments",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "kuaishou-search": {
        "title": "Kuaishou search",
        "summary": "Search Kuaishou videos and users.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy kuaishou-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Kuaishou search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search Kuaishou videos and users.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Kuaishou search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "kuaishou-hot-board": {
        "title": "Kuaishou hot board",
        "summary": "Fetch the Kuaishou hot board for trending topics.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy kuaishou-hot-board/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Kuaishou hot board · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch the Kuaishou hot board for trending topics.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Kuaishou hot board",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "weibo-search": {
        "title": "Weibo search",
        "summary": "Search Weibo posts and users for topic scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy weibo-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Weibo search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search Weibo posts and users for topic scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Weibo search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "weibo-hot-search": {
        "title": "Weibo hot search",
        "summary": "Fetch Weibo hot search rankings.",
        "billing": "Pay per call; incomplete delivery is usually free.",
        "install": "Copy weibo-hot-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Weibo hot search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch Weibo hot search rankings.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Weibo hot search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "bilibili-search": {
        "title": "Bilibili search",
        "summary": "Search Bilibili videos and users.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy bilibili-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Bilibili search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search Bilibili videos and users.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Bilibili search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "bilibili-portfolio": {
        "title": "Bilibili portfolio",
        "summary": "List an UP's videos/posts for portfolio review.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy bilibili-portfolio/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Bilibili portfolio · Skills · XTREE",
        "metaDescription": "Official XTREE skill: List an UP's videos/posts for portfolio review.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Bilibili portfolio",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "bilibili-rank": {
        "title": "Bilibili rank & popular",
        "summary": "Fetch rank and popular lists for in-site trends.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy bilibili-rank/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Bilibili rank & popular · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Fetch rank and popular lists for in-site trends.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Bilibili rank & popular",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "tiktok-search": {
        "title": "TikTok search",
        "summary": "Search TikTok videos and users.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy tiktok-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "TikTok search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search TikTok videos and users.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for TikTok search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "tiktok-user-posts": {
        "title": "TikTok user posts",
        "summary": "List a TikTok user's posts.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy tiktok-user-posts/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "TikTok user posts · Skills · XTREE",
        "metaDescription": "Official XTREE skill: List a TikTok user's posts.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for TikTok user posts",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "youtube-channel": {
        "title": "YouTube channel videos",
        "summary": "Find channels and list videos/Shorts.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy youtube-channel/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "YouTube channel videos · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Find channels and list videos/Shorts.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for YouTube channel videos",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "taobao-item-search": {
        "title": "Taobao item search",
        "summary": "Search items and load detail for ecommerce scouting.",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy taobao-item-search/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Taobao item search · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Search items and load detail for ecommerce scouting.",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Taobao item search",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      },
      "video-download": {
        "title": "Video download",
        "summary": "Resolve downloadable media URLs for archiving (not a watermark remover).",
        "billing": "Combo calls bill each slug; incomplete delivery is usually free.",
        "install": "Copy video-download/ into your host Skills path; set XTREE_API_KEY / MCP.",
        "pageTitle": "Video download · Skills · XTREE",
        "metaDescription": "Official XTREE skill: Resolve downloadable media URLs for archiving (not a watermark remover).",
        "values": [
          "Calls live XTREE APIs; wallet pay-per-call",
          "Built for ops scouting and light account/work insight",
          "Agents can follow the prompt table; failures stay explainable"
        ],
        "audiences": [
          "Creators / ops",
          "MCN / growth teams",
          "Monitoring researchers"
        ],
        "prompts": [
          {
            "scenario": "Keyword scout",
            "example": "Use XTREE to fetch raw data for Video download",
            "result": "Structured fields plus cost meta"
          },
          {
            "scenario": "Paginate",
            "example": "Pass the previous session/cursor and fetch the next page",
            "result": "More rows, or stop when empty"
          }
        ],
        "useCases": [
          {
            "scenario": "Competitor check",
            "role": "Ops",
            "example": "List recent works for a rival account",
            "benefit": "See posting cadence fast"
          },
          {
            "scenario": "Trend watch",
            "role": "Editor",
            "example": "Pull hot board / search hits",
            "benefit": "Shorter topic prep"
          }
        ],
        "sampleHint": "Sample columns — not a live query"
      }
    },
    "searchPlaceholder": "Search skills…",
    "searchEmpty": "No matching skills. Try another keyword or clear filters.",
    "usageLabel": "{{n}} uses",
    "badgeOfficial": "Official",
    "badgePayPerCall": "Pay per call",
    "badgeNeedKey": "Needs API Key",
    "getKeyTitle": "API Key setup",
    "getKeyCta": "Get API Key",
    "getKeyConfig": "Setup guide",
    "getKeyStep1": "Sign up (verify email or phone before billed calls).",
    "getKeyStep2": "Copy your xt_live_… key from Account → API Keys.",
    "getKeyStep3": "Set XTREE_API_KEY for MCP, or pass the header for REST/SDK.",
    "overviewTitle": "Skill overview",
    "valueTitle": "Core value",
    "audienceTitle": "Who it's for",
    "promptsTitle": "Prompt examples",
    "promptColScenario": "Scenario",
    "promptColExample": "Example prompt",
    "promptColResult": "Result",
    "sampleTitle": "Sample output",
    "useCasesTitle": "Use cases",
    "useColScenario": "Scenario",
    "useColRole": "Role",
    "useColExample": "Example",
    "useColBenefit": "Benefit",
    "categories": {
      "all": "All",
      "data_query": "Data query",
      "account_insight": "Account insight",
      "work_insight": "Work insight",
      "comments": "Comments",
      "hot_rank": "Hot ranks",
      "video_media": "Video / media",
      "wechat": "WeChat",
      "short_video": "Short video",
      "social": "Social / intl",
      "ecommerce": "Ecommerce"
    }
  },
  "home": {
    "hero": {
      "startFree": "Start free",
      "viewDocs": "View docs",
      "platformsMore": "+4 platforms"
    },
    "quickstart": {
      "step1": "Sign up and create an API key in your account",
      "step2": "Pass API key via X-XTREE-Key header (recommended), GET ?key=, or POST body key",
      "step3": "Pay per call — see unit prices and rate limits on API Catalog"
    },
    "sections": {
      "dataTitle": "Data capabilities",
      "dataSubtitle": "Accounts, followers, content, audiovisual media, and comments via a unified REST API — built for real-time monitoring",
      "roadmapStatus": "WeChat / short video / Weibo / Bilibili / YouTube / Taobao are live · See catalog delivery status",
      "capabilitiesTitle": "WeChat domain API",
      "capabilitiesSubtitleBefore": "44 WeChat REST endpoints by domain. Full paths in",
      "capabilitiesSubtitleAfter": " or OpenAPI.",
      "scenariosTitle": "Use cases",
      "quickstartTitle": "Quick start",
      "quickstartSubtitleBefore": "Header ",
      "quickstartSubtitleMiddle": ", Base URL",
      "openApiSpec": "OpenAPI spec",
      "readDocs": "Read docs",
      "latestTitle": "Latest articles",
      "latestMore": "All articles",
      "contactTitle": "Contact sales",
      "contactBody": "Public unit prices are on the API Catalog. For bulk usage, bank transfer, or enterprise terms, contact sales — no volume tiers or automatic enterprise plan. Domestic and international customers can contract through our China entity.",
      "contactEmailLabel": "Email: ",
      "contactAfterRegisterBefore": "After sign-up, manage keys in",
      "contactAfterRegisterMiddle": "; endpoints and unit prices on",
      "contactAfterRegisterAfter": "."
    },
    "streams": [
      {
        "title": "Content",
        "subtitle": "Articles, video, and publishing events",
        "items": [
          "Articles & posts",
          "Video & short video",
          "Publishing events"
        ]
      },
      {
        "title": "Interaction",
        "subtitle": "Comments, likes, shares, and reactions",
        "items": [
          "Comments",
          "Likes & reactions",
          "Shares & forwards"
        ]
      }
    ],
    "features": [
      {
        "title": "Social media real-time data",
        "description": "Cross-platform raw JSON APIs for accounts, followers, content, audiovisual media, and comments — monitoring-ready, not cleaned models or analytics output."
      },
      {
        "title": "Multi-source aggregation",
        "description": "WeChat, short video, and commerce through one API gateway."
      },
      {
        "title": "High-frequency updates",
        "description": "Search, Channels, posts, and engagement synced for real-time monitoring."
      },
      {
        "title": "Streaming API",
        "description": "Standard REST JSON + OpenAPI for developers, data teams, and AI integrations."
      },
      {
        "title": "Enterprise delivery",
        "description": "Unified auth, billing, audit, and domestic contracting for global customers."
      }
    ],
    "roadmap": [
      {
        "phase": "Live",
        "title": "WeChat and short-video core",
        "status": "live",
        "items": [
          "WeChat search / Channels / posts / articles",
          "Douyin, Xiaohongshu, Kuaishou, Weibo, Bilibili, TikTok, YouTube",
          "Video download (including generic parse)",
          "Taobao item search / detail"
        ]
      }
    ],
    "capabilities": [
      {
        "name": "Search",
        "count": 9,
        "samples": [
          "POST /api/wechat/search/articles",
          "POST /api/wechat/search/videos",
          "POST /api/wechat/search/accounts"
        ]
      },
      {
        "name": "Channels",
        "count": 8,
        "samples": [
          "POST /api/wechat/channels/search",
          "POST /api/wechat/channels/feeds/list",
          "POST /api/wechat/channels/feeds/comments"
        ]
      },
      {
        "name": "Historical posts",
        "count": 7,
        "samples": [
          "POST /api/wechat/accounts/posts/today",
          "POST /api/wechat/accounts/posts/list",
          "POST /api/wechat/accounts/posts/metrics"
        ]
      },
      {
        "name": "Article engagement",
        "count": 8,
        "samples": [
          "POST /api/wechat/articles/metrics",
          "POST /api/wechat/articles/detail",
          "POST /api/wechat/links/convert"
        ]
      },
      {
        "name": "Account info",
        "count": 5,
        "samples": [
          "POST /api/wechat/accounts/profile",
          "POST /api/wechat/accounts/principal",
          "POST /api/wechat/accounts/search-by-owner"
        ]
      },
      {
        "name": "Library search",
        "count": 4,
        "phase": 2,
        "samples": [
          "POST /api/wechat/library/articles/search",
          "POST /api/wechat/library/articles/search/tokenized",
          "POST /api/wechat/library/accounts/search"
        ]
      }
    ],
    "scenarios": [
      {
        "title": "Brand & trend monitoring",
        "description": "Capture social content and engagement for brand monitoring and attention intelligence."
      },
      {
        "title": "Creator tracking",
        "description": "Track posts, Channels works, and engagement for MCN and marketing teams."
      },
      {
        "title": "AI & data apps",
        "description": "Upstream data layer for LLMs and analytics — not a replacement for your stack."
      },
      {
        "title": "Enterprise integration",
        "description": "Embed APIs into SaaS or internal systems via api.xtree.io."
      }
    ]
  },
  "catalog": {
    "title": "API Catalog",
    "subtitle": "Endpoint catalog and per-call billing. Delivery status reflects verification progress.",
    "billingNoteBefore": "Pay per call from wallet balance; incomplete delivery is not billed. No volume tiers. For bulk, bank transfer, or enterprise terms, email ",
    "billingNoteAfter": ".",
    "freeRegister": "Sign up free",
    "tryOnline": "Dev Debugging",
    "loading": "Loading…",
    "loadError": "Could not load data. Please try again later.",
    "free": "Free",
    "colName": "Endpoint",
    "colPath": "Path",
    "colPrice": "CNY/call",
    "colRate": "Rate limit",
    "colStatus": "Delivery status",
    "colDebug": "Try online",
    "debugLink": "Try online",
    "pageTitle": "API Catalog · {{brand}}",
    "ratePerMin": "{{count}}/min",
    "deliveryStatus": {
      "production": "Production",
      "limited": "Limited",
      "smoke_only": "Smoke only",
      "contract_ready": "Contract ready",
      "unavailable": "Unavailable"
    },
    "emptyLive": "No endpoints are listed yet.",
    "emptyPlanned": "No endpoints are listed yet.",
    "platformTitle": {
      "wechat": "WeChat Data API · Articles, Channels & Search",
      "douyin": "Douyin Data API · Videos, Users & Comments",
      "xhs": "Xiaohongshu Data API · Notes, Users & Search",
      "kuaishou": "Kuaishou Data API · Videos, Users & Search",
      "weibo": "Weibo Data API · Posts, Users & Search",
      "bilibili": "Bilibili Data API · Videos, Users & Search",
      "tiktok": "TikTok Data API · Videos, Users & Comments",
      "youtube": "YouTube Data API · Channels & Videos",
      "media": "Media API",
      "facebook": "Facebook API",
      "taobao": "Taobao Data API · Item Search & Detail",
      "jd": "JD API",
      "pdd": "PDD API"
    },
    "platformSubtitle": {
      "wechat": "Official-account articles, Channels videos, and WeChat Search, including read counts and comments. Prices are on this page.",
      "douyin": "Douyin video search, profiles, posts, and comments. Search suggestions may reuse a response from the last few minutes.",
      "xhs": "Xiaohongshu note search, note detail, user notes, and comments. Topic lists may reuse a response from the last few minutes.",
      "kuaishou": "Kuaishou profiles, posts, and search. Calls read live source data.",
      "weibo": "Weibo hot search, posts, users, comments, and topics. The hot-search home page and topics may reuse a recent response.",
      "bilibili": "Bilibili videos, users, comments, popular videos, and rankings. The popular list may reuse a recent response.",
      "tiktok": "TikTok video detail, comments, search, and user posts. Calls read live source data.",
      "youtube": "YouTube video search, channel videos, Shorts, live streams, and transcripts. Calls read live source data.",
      "media": "First-party audio/video processing (transcribe, transcode) — billed per call.",
      "facebook": "Facebook general search — billed per call.",
      "taobao": "Taobao item search, item detail, and shop comments. Calls read live source data.",
      "jd": "JD item detail and comments — billed per call.",
      "pdd": "PDD async item comment tasks — billed per call."
    },
    "capability": {
      "typesLabel": "What you can read",
      "freshnessLabel": "Freshness",
      "exampleLabel": "Example",
      "debugLink": "Try it in the docs",
      "skillLink": "Matching skill",
      "docsLink": "Docs",
      "mcpLink": "MCP install",
      "wechat": {
        "lead": "This page is WeChat: Search, official-account history and article engagement, and Channels videos and comments. It reads data and does not publish posts. Prices are in the table below.",
        "types": "Search for articles, videos, and accounts; official-account posts, principals, and profiles; article reads, likes, wows, body, and comments; Channels search, feeds, comments, and link resolve.",
        "freshness": "These calls read live source data. Read counts and comments are not kept in the short response cache.",
        "example": "curl -X POST 'https://api.xtree.io/api/wechat/search/articles' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"keyword\":\"人民日报\",\"page\":1}'",
        "slug": "wechat.search.articles",
        "skill": "/skills/wechat-search"
      },
      "douyin": {
        "lead": "Douyin covers video search, users, posts, and comments. It reads public data and does not publish posts.",
        "types": "Video search, user search, profiles and posts, and comments. Search suggestions are a separate endpoint.",
        "freshness": "Video search, posts, and comments read live source data. The same keyword on search suggestions (douyin.search.suggestions) may reuse a successful response for about 10 minutes.",
        "example": "curl -X POST 'https://api.xtree.io/api/douyin/search/videos' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"keyword\":\"中国日报\",\"page\":1}'",
        "slug": "douyin.search.videos",
        "skill": "/skills/douyin-search"
      },
      "xhs": {
        "lead": "Xiaohongshu covers note search, note detail, a user's notes, and comments.",
        "types": "Note search and detail, user notes, and comment threads. Topic lists are a separate endpoint.",
        "freshness": "Note search and comments read live source data. The same topic on the topic list (xhs.topics.list) may reuse a successful response for about 15 minutes.",
        "example": "curl -X POST 'https://api.xtree.io/api/xhs/notes/search' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"keyword\":\"中国日报\",\"page\":1}'",
        "slug": "xhs.notes.search",
        "skill": "/skills/xhs-notes-search"
      },
      "kuaishou": {
        "lead": "Kuaishou covers profiles, posts, and search.",
        "types": "User profiles, user posts, and video search.",
        "freshness": "These calls read live source data. None of them are in the short response cache.",
        "example": "curl -X POST 'https://api.xtree.io/api/kuaishou/users/profile' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"user_id\":\"134818524\",\"page\":1}'",
        "slug": "kuaishou.users.profile",
        "skill": "/skills/kuaishou-search"
      },
      "weibo": {
        "lead": "Weibo covers hot search, posts, users, comments, and topics.",
        "types": "Hot search, post search, profiles and posts, post detail and comments, topic detail, and topic stats.",
        "freshness": "The hot-search home page (no page cursor) may reuse a successful response for about 10 minutes. Topic detail and topic stats may reuse one for about 15 minutes. Posts, comments, and profiles read live source data. The example below is the hot-search home page.",
        "example": "curl -X POST 'https://api.xtree.io/api/weibo/hot/search' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"page\":1}'",
        "slug": "weibo.hot.search",
        "skill": "/skills/weibo-hot-search"
      },
      "bilibili": {
        "lead": "Bilibili covers video search, video detail, users, comments, popular videos, and rankings.",
        "types": "Video search and detail, profiles and uploads, comments, the popular list, and rankings.",
        "freshness": "The popular list may reuse a successful response for about 10 minutes, keyed by page. Video detail, comments, and search read live source data. The example below is page 1 of the popular list.",
        "example": "curl -X POST 'https://api.xtree.io/api/bilibili/popular/list' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"page\":1}'",
        "slug": "bilibili.popular.list",
        "skill": "/skills/bilibili-search"
      },
      "tiktok": {
        "lead": "TikTok covers video detail, comments, search, and user posts.",
        "types": "Video detail and comments, video and user search, and profiles and posts.",
        "freshness": "These calls read live source data. None of them are in the short response cache.",
        "example": "curl -X POST 'https://api.xtree.io/api/tiktok/videos/detail' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"aweme_id\":\"7675153163728489749\"}'",
        "slug": "tiktok.videos.detail",
        "skill": "/skills/tiktok-search"
      },
      "youtube": {
        "lead": "YouTube covers video search, channel videos, Shorts, live streams, and transcripts.",
        "types": "Video search, channel videos, Shorts, streams, and transcripts.",
        "freshness": "These calls read live source data. None of them are in the short response cache.",
        "example": "curl -X POST 'https://api.xtree.io/api/youtube/search/videos' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"keyword\":\"中国日报\",\"page\":1}'",
        "slug": "youtube.search.videos",
        "skill": "/skills/youtube-channel"
      },
      "taobao": {
        "lead": "Taobao on this page is item data: search, detail, and shop comments. It is not a social posting API.",
        "types": "Item search, item detail, and shop comments.",
        "freshness": "These calls read live source data. None of them are in the short response cache.",
        "example": "curl -X POST 'https://api.xtree.io/api/taobao/items/search' -H 'X-XTREE-Key: xt_live_...' -H 'Content-Type: application/json' -d '{\"keyword\":\"手机\",\"page\":1}'",
        "slug": "taobao.items.search",
        "skill": "/skills/taobao-item-search"
      }
    },
    "products": {
      "account.balance": "Get API balance",
      "wechat.search.articles": "Search — Official account articles",
      "wechat.search.articles.categories": "Search — Article categories",
      "wechat.search.videos": "Search — Channels videos",
      "wechat.search.videos.tab": "Search — Video tab",
      "wechat.search.videos.categories": "Search — Video categories",
      "wechat.search.mixed": "Search — Mixed mode 1/2",
      "wechat.search.accounts": "Search — Official accounts",
      "wechat.search.suggestions": "Search — Suggestions",
      "wechat.search.miniprograms.categories": "Search — Mini program categories",
      "wechat.search.index.categories": "Search — WeChat Index categories",
      "wechat.search.channels.accounts.categories": "Search — Channels account categories",
      "wechat.channels.search": "Search Channels by keyword",
      "wechat.channels.resolve": "Resolve Channels ID",
      "wechat.channels.feeds": "Channels feed list",
      "wechat.channels.feed.download": "Channels downloadable link",
      "wechat.channels.live-replays": "Live replay records",
      "wechat.channels.comments": "Feed top-level comments",
      "wechat.channels.comment-replies": "Feed comment replies",
      "wechat.channels.resolve-url": "Resolve Channels URL",
      "wechat.channels.feeds.title": "Feed title",
      "wechat.channels.feeds.metrics": "Feed engagement metrics",
      "wechat.channels.feeds.convert-id": "export_id ↔ object_id convert",
      "wechat.channels.feeds.short-url": "Channels short URL",
      "wechat.accounts.posts.today": "Today's posts",
      "wechat.accounts.posts.today.metrics": "Today's posts with metrics",
      "wechat.accounts.posts": "Historical posts",
      "wechat.accounts.posts.metrics": "Historical posts with metrics",
      "wechat.accounts.ghid.posts": "Posts by gh_id",
      "wechat.accounts.ghid.posts.metrics": "Posts by gh_id with metrics",
      "wechat.accounts.ghid.channels": "Channels linked to gh_id",
      "ghIdPathNote": "POST /wechat/accounts/ghid/posts and /ghid/channels; JSON field name is gh_id",
      "wechat.accounts.principal": "Account principal info",
      "wechat.accounts.profile": "Avatar, type & bio",
      "wechat.accounts.search": "Search accounts by name",
      "wechat.accounts.search-gh": "Search accounts by name (with gh_)",
      "wechat.accounts.search-by-owner": "Search accounts by owner",
      "wechat.accounts.search-by-owner-live": "Search accounts by owner (live)",
      "wechat.articles.metrics": "Reads, likes & recommendations",
      "wechat.articles.metrics-pro": "Reads & likes Pro",
      "wechat.articles.summary": "Reads, likes, title & URL",
      "wechat.articles.detail": "Article detail Pro",
      "wechat.articles.detail-video": "Detail with video download",
      "wechat.articles.html": "Article HTML body",
      "wechat.articles.comments": "Article top-level comments",
      "wechat.articles.comment-replies": "Article comment replies",
      "wechat.links.convert": "Short/long URL convert",
      "wechat.library.articles.search": "Search article library",
      "wechat.library.articles.tokenized": "Tokenized article search",
      "wechat.library.accounts.search": "Search account library",
      "wechat.library.accounts.metrics": "Estimated followers & index",
      "douyin.videos.detail": "Video detail",
      "douyin.videos.download": "Video download",
      "douyin.users.profile": "User profile",
      "douyin.users.posts": "User posts",
      "douyin.videos.comments": "Video comments",
      "douyin.videos.sub-comments": "Video sub-comments",
      "douyin.search.videos": "Video search",
      "douyin.search.users": "User search",
      "douyin.search.suggestions": "Search suggestions",
      "douyin.users.creator-metrics": "Creator metrics",
      "douyin.ids.resolve": "Share link resolve",
      "xhs.notes.detail": "Note detail",
      "xhs.notes.search": "Note search",
      "xhs.search.users": "User search",
      "xhs.users.profile": "User profile",
      "xhs.users.notes": "User notes",
      "xhs.notes.comments": "Note comments",
      "xhs.notes.sub-comments": "Note sub-comments",
      "xhs.topics.list": "Topic list",
      "xhs.ids.resolve": "Share link resolve",
      "kuaishou.videos.detail": "Video detail",
      "kuaishou.videos.comments": "Video comments",
      "kuaishou.users.profile": "User profile",
      "kuaishou.users.posts": "User posts",
      "kuaishou.search.videos": "Video search",
      "kuaishou.search.users": "User search",
      "kuaishou.videos.short-link": "Video short link",
      "kuaishou.hot.board": "Hot board",
      "kuaishou.ids.resolve": "Share link resolve",
      "weibo.users.profile": "User profile",
      "weibo.users.posts": "User posts",
      "weibo.users.videos": "User videos",
      "weibo.posts.detail": "Post detail",
      "weibo.posts.comments": "Post comments",
      "weibo.posts.sub-comments": "Post sub-comments",
      "weibo.topics.detail": "Topic detail",
      "weibo.topics.stats": "Topic stats",
      "weibo.hot.search": "Hot search",
      "weibo.search.posts": "Post search",
      "weibo.search.users": "User search",
      "bilibili.search.videos": "Video search",
      "bilibili.search.users": "User search",
      "bilibili.videos.detail": "Video detail",
      "bilibili.videos.comments": "Video comments",
      "bilibili.videos.download": "Video download",
      "bilibili.users.profile": "User profile",
      "bilibili.users.posts": "User posts",
      "bilibili.users.videos": "User videos",
      "bilibili.popular.list": "Popular videos",
      "bilibili.rank.list": "Rank list",
      "tiktok.videos.detail": "Video detail",
      "tiktok.videos.download": "Video download",
      "tiktok.videos.comments": "Video comments",
      "tiktok.videos.sub-comments": "Video sub-comments",
      "tiktok.search.videos": "Video search",
      "tiktok.search.users": "User search",
      "tiktok.users.profile": "User profile",
      "tiktok.users.posts": "User posts",
      "youtube.videos.download": "Video download",
      "youtube.channels.videos": "Channel videos",
      "youtube.channels.shorts": "Channel Shorts",
      "youtube.channels.streams": "Channel streams",
      "youtube.search.channels": "Channel search",
      "youtube.videos.transcript": "Video transcript",
      "youtube.search.videos": "Video search",
      "media.transcribe": "Audio/video transcription",
      "facebook.search.general": "General search",
      "facebook.search.users": "User search",
      "taobao.items.search": "Item search",
      "taobao.items.detail": "Item detail",
      "taobao.shops.comments": "Shop comments",
      "jd.items.detail": "Item detail",
      "jd.items.comments": "Item comments",
      "jd.items.comments.v2": "Item comments V2",
      "pdd.items.comments.submit": "Comment task submit",
      "pdd.items.comments.status": "Comment task status",
      "pdd.items.comments.fetch": "Comment task fetch"
    },
    "categories": {
      "all": "All",
      "search": "Search",
      "channels": "Channels",
      "accounts": "Accounts",
      "articles": "Engagement",
      "library": "Library",
      "rankings": "Rankings",
      "links": "Links",
      "account": "Account"
    }
  }
}
