支持抖音开放平台官方 OpenAPI 的命令行工具。
Project description
douyin-cli
面向抖音开放平台官方 OpenAPI 的命令行工具,提供 OAuth 授权、token 管理、常用官方接口封装和通用 OpenAPI 请求能力。
功能
- 官方 OAuth 授权链接生成、code 换 token、token 刷新
- 官方
client_token、access_token管理 - 授权用户信息查询
- 官方评论列表、评论回复列表、评论回复
- 任意官方 OpenAPI 路径请求
- 可选本地字幕生成
- Obscura/自动化运行时集成
安装
uv tool install douyin-cli
开发安装:
uv tool install -e .
字幕可选依赖:
uv tool install 'douyin-cli[subtitle]'
uv tool install 'douyin-cli[subtitle-cuda]'
官方 OAuth 接入
准备抖音开放平台应用的 client_key、client_secret、回调地址和所需 scope。
douyin auth login \
--client-key "$DOUYIN_CLIENT_KEY" \
--client-secret "$DOUYIN_CLIENT_SECRET" \
--redirect-uri "https://example.com/callback" \
--scope user_info \
--scope item.comment
命令会输出官方授权链接。用户授权后,将回调中的 code 保存为 token:
douyin auth code --code "授权码"
也可以一步完成:
douyin auth login \
--client-key "$DOUYIN_CLIENT_KEY" \
--client-secret "$DOUYIN_CLIENT_SECRET" \
--redirect-uri "https://example.com/callback" \
--scope user_info \
--code "授权码"
检查和刷新授权:
douyin auth status
douyin auth refresh
douyin auth logout
授权后,官方 OpenAPI 命令会自动读取已保存的 token 和 open_id,自动化调用不需要重复传参:
douyin api userinfo
douyin api comment-list --item-id "$DOUYIN_ITEM_ID"
Obscura 集成
douyin-cli 提供稳定的 JSON 输出和集成 manifest,Obscura 可以直接发现命令能力并调用官方 OpenAPI。
douyin obscura manifest
douyin obscura status
douyin auth status --json
推荐接入顺序:
douyin auth login \
--client-key "$DOUYIN_CLIENT_KEY" \
--client-secret "$DOUYIN_CLIENT_SECRET" \
--redirect-uri "https://example.com/callback" \
--scope user_info
douyin auth code --code "授权码"
douyin auth status --json
官方 OpenAPI
douyin api client-token \
--client-key "$DOUYIN_CLIENT_KEY" \
--client-secret "$DOUYIN_CLIENT_SECRET"
douyin api userinfo \
--token "$DOUYIN_ACCESS_TOKEN" \
--open-id "$DOUYIN_OPEN_ID"
douyin api comment-list \
--token "$DOUYIN_ACCESS_TOKEN" \
--open-id "$DOUYIN_OPEN_ID" \
--item-id "$DOUYIN_ITEM_ID"
douyin api comment-reply \
--token "$DOUYIN_ACCESS_TOKEN" \
--open-id "$DOUYIN_OPEN_ID" \
--item-id "$DOUYIN_ITEM_ID" \
--comment-id "$DOUYIN_COMMENT_ID" \
--content "谢谢反馈"
通用请求:
douyin api request GET /oauth/userinfo/ \
--token "$DOUYIN_ACCESS_TOKEN" \
--param open_id="$DOUYIN_OPEN_ID"
本地字幕
douyin subtitle video.mp4 --language zh
douyin subtitle video.mp4 --model small --format srt
首次使用模型时会自动从 Hugging Face 下载。CUDA 模式需要 CUDA 12 运行库;如果系统只提供 CUDA 13,可安装 douyin-cli[subtitle-cuda],或使用 CPU 模式:
douyin subtitle video.mp4 --device cpu --compute-type int8 --language zh
环境变量
DOUYIN_CLIENT_KEYDOUYIN_CLIENT_SECRETDOUYIN_ACCESS_TOKEN
技术栈
- Python 3.13
- Click
- niquests
- uv / uv-build
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file douyin_cli-2026.5.29.1.tar.gz.
File metadata
- Download URL: douyin_cli-2026.5.29.1.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22f12e1b6df3eeb9812f264ab30007ccee7e016c8fdb27d8a860e7b9f35f2fa6
|
|
| MD5 |
1a84c268a8ce2b37835123af6704c050
|
|
| BLAKE2b-256 |
d792b683349a912f48dbe88d44b340014ed62fdd6d551181658270b555412078
|
File details
Details for the file douyin_cli-2026.5.29.1-py3-none-any.whl.
File metadata
- Download URL: douyin_cli-2026.5.29.1-py3-none-any.whl
- Upload date:
- Size: 58.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97a7cfd5537a46c14050481723171c628a183045fae60a33f936b83a2948b9dc
|
|
| MD5 |
1da3f51de36cac03f97d4dad4845c432
|
|
| BLAKE2b-256 |
7ed8619dc9741a0b1f0c469cb8c44921bd46ed246bdd554e702f9993e0bea3f1
|