Install
openclaw skills install douyin-upload-skillLogin and publish Douyin (China mainland) videos from local files with OAuth, local speech-to-text, and generated caption drafts. Use when users ask to authorize Douyin accounts, upload local videos, auto-generate title/description from video audio, confirm content, and publish via official Douyin OpenAPI with fallback export when publish permissions are missing.
openclaw skills install douyin-upload-skillUse this skill to publish local videos to Douyin with a deterministic CLI flow:
Use the script at <skill_root>/scripts/douyin.js.
Set these environment variables before auth or publish:
DOUYIN_CLIENT_KEYDOUYIN_CLIENT_SECRETDOUYIN_REDIRECT_URIOptional overrides:
DOUYIN_SCOPEDOUYIN_TOKEN_ENC_KEYDOUYIN_ASR_MODE (api / whisper-gpu / whisper-cpu)DOUYIN_ASR_API_URLDOUYIN_ASR_API_MODELDOUYIN_ASR_API_KEYDOUYIN_WHISPER_BINDOUYIN_WHISPER_MODEL_PATHDOUYIN_FFMPEG_BINDOUYIN_FFPROBE_BINnode <skill_root>/scripts/douyin.js doctor
node <skill_root>/scripts/douyin.js auth
node <skill_root>/scripts/douyin.js prepare --video "E:\\videos\\demo.mp4"
transcript.text with this structure:Ask user to select or edit one final caption.
Publish with explicit visibility and confirmation policy:
node <skill_root>/scripts/douyin.js publish \
--video "E:\\videos\\demo.mp4" \
--text "<final caption>" \
--private-status 0 \
--auto-confirm false
doctor: reports dependency and env readiness plus install hints.auth: opens OAuth URL, accepts pasted callback URL or code, stores encrypted token.prepare: returns metadata, transcript, and ASR failure detail (without stopping publish flow).publish: uploads and creates video via official API. If permission-like API errors occur, writes fallback files under outbox and returns mode: fallback.config: stores persistent settings (defaultPrivateStatus, autoConfirm, whisperBin, whisperModelPath, outboxDir, etc.).Before publish:
auto-confirm is false, require explicit user confirmation in terminal.Treat script stdout as JSON. Always parse and branch by:
okcommandmode (official or fallback for publish)asrError (optional in prepare)