--- name: douyinv2 description: Standardized douyinv2 skill for MediaUse. Includes Windows install, key onboarding, strict context/auth flow, full douyinv2 dynamic command map, and safety/rate controls. --- # MediaUse Douyinv2 Skill This skill defines the standardized workflow for running Douyinv2 creator automation through MediaUse. ## Scope Use this skill when the task targets douyinv2 operations such as: - Account: health check - User: profile, videos - Content: videos, drafts, draft, delete, publish, update - Metadata: activities, collections, hashtag, location - Insights: stats ## 1. Install MediaUse CLI (Windows Only) Use the official install script for Windows: - https://release.mediause.dev/install.ps1 Run: ```powershell powershell -C "iwr https://release.mediause.dev/install.ps1 -UseBasicParsing | iex" ``` Then verify in the same shell: ```powershell mediause --version ``` Current support status: - Windows: supported - Linux: not supported yet - macOS: not supported yet Recommended skill install path: - .mediause/skills/douyinv2/SKILL.md ## 2. Get and Configure MediaUse Key ### 2.1 Apply for key 1. Open https://mediause.dev/ 2. Sign in to your account. 3. Open Project. 4. Create or copy your API key. ### 2.2 Configure key in CLI ```powershell mediause manage key --json ``` ## 3. Core Flow (Mandatory Order) Always follow this order: 1. Discover site and commands. 2. Bind account context with `use account`. 3. Check status with `auth health`. 4. Execute dynamic site actions. 5. Verify with trace/task. ### 3.1 Discover and plugin setup ```powershell mediause plugin list --json mediause plugin add douyinv2 --json mediause douyinv2 -h mediause douyinv2 content -h ``` ### 3.2 Bind context before any read/write `use account` must be executed successfully before any fetch/publish action. `use account` argument format: - `` - `account_id` should be selected from `mediause auth list --json`. Manifest default account id is `guest`, but write actions require a logged-in account. By default, `use account` keeps the browser hidden. Use `--show` only when you need to inspect the page or manually resolve a challenge. ```powershell mediause auth list --json mediause use account douyinv2: --policy balanced --json ``` ### 3.3 Auth health precondition `auth health` is valid only after successful `use account`. ```powershell mediause auth health --json ``` If `auth health` indicates not logged in/expired: ```powershell mediause auth login douyinv2 --json mediause use account douyinv2: --policy balanced --json mediause auth health --json ``` If page shows `unusual traffic`, captcha, or risk confirmation: ```powershell mediause use account douyinv2: --policy balanced --show --json ``` Complete verification manually, then rerun the action. ### 3.4 Guest mode (optional) Guest mode can be used for read-only actions when runtime allows: ```powershell mediause use account douyinv2:guest --json ``` Guest mode rules: - Read-only (account/user/content-read/metadata/insights fetch operations). - Block all write operations (`content.draft`, `content.delete`, `content.publish`, `content.update`). - If write is required, switch to logged-in account context. ## 4. Douyinv2 Dynamic Command Map (v1) Source schema: - plugin: `plugin.douyinv2` - manifest: `crates/platforms/plugins/douyinv2/manifest.yaml` ### 4.1 account.* - `mediause douyinv2 account health --json` ### 4.2 user.* - `mediause douyinv2 user profile --json` - `mediause douyinv2 user videos --sec-uid [--limit ] [--with-comments ] [--comment-limit ] --json` ### 4.3 content.* - `mediause douyinv2 content videos [--limit ] [--page ] [--status ] --json` - `mediause douyinv2 content drafts [--limit ] --json` - `mediause douyinv2 content draft --video --title [--caption <text>] [--cover <path_or_url>] [--visibility <value>] --json` - `mediause douyinv2 content delete --aweme-id <aweme_id> --json` - `mediause douyinv2 content publish --video <path_or_url> --title <title> --schedule <iso_datetime> [--caption <text>] [--cover <path_or_url>] [--visibility <value>] [--allow-download <bool>] [--collection <id_or_name>] [--activity <name>] [--poi-id <poi_id>] [--poi-name <poi_name>] [--hotspot <text>] [--no-safety-check <bool>] [--sync-toutiao <bool>] --json` - `mediause douyinv2 content update --aweme-id <aweme_id> [--reschedule <iso_datetime>] [--caption <text>] --json` ### 4.4 metadata.* - `mediause douyinv2 metadata activities --json` - `mediause douyinv2 metadata collections [--limit <n>] --json` - `mediause douyinv2 metadata hashtag --action <action> [--keyword <text>] [--cover <cover>] [--limit <n>] --json` - `mediause douyinv2 metadata location --query <query> [--limit <n>] --json` ### 4.5 insights.* - `mediause douyinv2 insights stats --aweme-id <aweme_id> --json` ## 5. Operational Constraints (Mandatory) Apply these constraints for all actions to reduce account risk and keep behavior human-like. ### 5.1 Human-like pacing - Never execute high-risk actions continuously. - Add randomized delay between actions. - Add longer cooldown after draft/publish/update/delete actions. - Mix read actions between write actions when possible. ### 5.2 Frequency limits and minimum spacing - Hard stop if operation rate is abnormally high. - Stop immediately on repeated anti-bot challenge, login re-validation, or risk prompt. - Do not run burst publish loops. Suggested limits: - Draft/publish/update/delete: <= 3 per hour - Metadata/search-like fetch actions: <= 60 per minute - General read actions: <= 60 per minute Minimum spacing: - Draft/publish/update/delete: >= 20 minutes between actions - Metadata/search-like fetch: >= 1 second between actions - General read actions: >= 1 second between actions Same-target guardrails: - Repeated write on same `aweme_id`: >= 60 seconds - Repeated identical publish title/caption: >= 24 hours (default deny) If a limit is hit: 1. Pause at least 15 minutes. 2. Resume with read-only actions first. 3. Re-check session health before any write action. ### 5.3 Safety policy - Do not bypass platform protections. - Do not attempt credential scraping or session hijacking. - Respect platform terms and local regulations. ### 5.4 Output and error handling - Prefer `--json` output for machine workflows. - Require structured error handling with stable fields/code when available. - On blocked/rate-limit/risk prompt, stop and return actionable next steps. ## 6. Workflow Examples ### 6.1 Content publish workflow ```powershell mediause use account douyinv2:<account_id> --json mediause auth health --json mediause douyinv2 metadata collections --limit 20 --json mediause douyinv2 content publish --video c:/tmp/a.mp4 --title "内容标题" --schedule "2026-05-20T09:00:00+08:00" --caption "发布文案" --json mediause trace last --json ``` ### 6.2 Creator analytics workflow ```powershell mediause use account douyinv2:<account_id> --json mediause auth health --json mediause douyinv2 content videos --limit 20 --json mediause douyinv2 insights stats --aweme-id <aweme_id> --json mediause trace last --json ``` ### 6.3 Guest read-only workflow (if supported) ```powershell mediause use account douyinv2:guest --json mediause douyinv2 metadata activities --json mediause douyinv2 user videos --sec-uid <sec_uid> --limit 10 --json mediause trace last --json ``` ## 7. Execution Checklist Before run: 1. CLI installed via `https://release.mediause.dev/install.ps1` on Windows. 2. PATH updated and `mediause --version` works. 3. API key configured and verified. 4. Account context bound via `mediause use account douyinv2:<account_id> --json`. 5. If write actions are required, use logged-in account instead of guest. 6. If manual verification may be needed, be ready to rerun `use account` with `--show`. 7. Pacing policy is enabled. During run: 1. Respect delays and minimum spacing. 2. Stop on anti-bot/risk prompts. 3. If `unusual traffic` appears, rerun `mediause use account douyinv2:<account_id> --show --json` and complete verification manually. 4. Avoid repetitive burst loops. After run: 1. Save logs and outcomes. 2. Record any risk warning and cooldown events. 3. Keep activity under conservative limits. ## 8. Quick Command Reference ```powershell # discover mediause plugin list --json mediause plugin add douyinv2 --json mediause douyinv2 -h mediause douyinv2 content -h # context + status mediause auth list --json mediause use account douyinv2:<account_id> --json mediause use account douyinv2:<account_id> --show --json mediause auth health --json # read actions mediause douyinv2 account health --json mediause douyinv2 user profile --json mediause douyinv2 user videos --sec-uid <sec_uid> --limit 20 --json mediause douyinv2 content videos --limit 20 --json mediause douyinv2 metadata activities --json mediause douyinv2 insights stats --aweme-id <aweme_id> --json # write actions mediause douyinv2 content draft --video c:/tmp/a.mp4 --title "草稿标题" --json mediause douyinv2 content publish --video c:/tmp/a.mp4 --title "发布标题" --schedule "2026-05-20T09:00:00+08:00" --json mediause douyinv2 content update --aweme-id <aweme_id> --caption "更新文案" --json mediause douyinv2 content delete --aweme-id <aweme_id> --json # trace mediause trace last --json ``` Skill Metadata Maintainer: @mediause-demo Last-Updated: 2026-05-11 Version: v1