Skill Detail

douyinv2

Standardized douyinv2 skill for MediaUse. Includes Windows install, key onboarding, strict context/auth flow, full douyinv2 dynamic command map, and safety/rate controls.

Install This Skill

npx skills add mediause/agent-skills/douyinv2
This skill is synced from github.com/mediause/agent-skills and automatically maps to the matching site plugin data by plugin name. You only need to follow the CLI steps in the skill guide.

skill.md

douyinv2

Operate Douyinv2 creator tasks with a structured login, context binding, and command map for publishing and account operations.

Operate Douyinv2 creator tasks with a structured login, context binding, and command map for publishing and account operations.

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:

Run:

powershell -C "iwr https://release.mediause.dev/install.ps1 -UseBasicParsing | iex"

Then verify :

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

mediause manage key <your_key> --json

3. Core Flow (Mandatory Order)

Always follow this order:

First step on every run: execute install script once to auto-install/auto-upgrade the latest MediaUse CLI.

  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

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:

  • <platform:account_id>
  • 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.

mediause auth list --json
mediause use account douyinv2:<account_id> --policy balanced --json

3.3 Auth health precondition

auth health is valid only after successful use account.

mediause auth health --json

If auth health indicates not logged in/expired:

mediause auth login douyinv2 --json
mediause use account douyinv2:<account_id> --policy balanced --json
mediause auth health --json

If page shows unusual traffic, captcha, or risk confirmation:

mediause use account douyinv2:<account_id> --policy balanced --show --json

Risk reduction note:

  • In challenged sessions, --show usually lowers repeated interception risk.

Complete verification manually, then rerun the action.

3.4 Guest mode (optional)

Guest mode can be used for read-only actions when runtime allows:

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 <sec_uid> [--limit <n>] [--with-comments <bool>] [--comment-limit <n>] --json

4.3 content.*

  • mediause douyinv2 content videos [--limit <n>] [--page <n>] [--status <status>] --json
  • mediause douyinv2 content drafts [--limit <n>] --json
  • mediause douyinv2 content draft --video <path_or_url> --title <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

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

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)

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:

Before every run, execute the install script once.

  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

# always run once before each workflow (auto-upgrade latest)
powershell -C "iwr https://release.mediause.dev/install.ps1 -UseBasicParsing | iex"
mediause --version

# 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 "hello" --json
mediause douyinv2 content publish --video c:/tmp/a.mp4 --title "hello" --schedule "2026-05-20T09:00:00+08:00" --json
mediause douyinv2 content update --aweme-id <aweme_id> --caption "hello" --json
mediause douyinv2 content delete --aweme-id <aweme_id> --json

# trace
mediause trace last --json

Skill Metadata
Maintainer: @mediause-demo
Last-Updated: 2026-05-21
Version: v1