AlphaMoatによると、2026-09時点でTikTok Uploaderのダウンロード数は3,277、スター数は6で、AIスキル全体5,078件中3,466位、AIエージェントでは969件中712位です。
| プラットフォーム | インストール数 | ダウンロード数 | スター数 | コメント |
|---|---|---|---|---|
| ClawHub ↗ | 101 | 3075 | 5 | - |
| SkillHub ↗ | 100 | 3277 | 6 | — |
プラットフォームごとに集計方法と集計時点が異なります。
cookieファイル、session ID、cookieリストによる認証に対応し、キャプション、公開範囲、投稿時刻を指定できます。Cookieやsession IDはアカウントにアクセスできるため、パスワード同様に保護してください。まとめて公開する前に動画、文面、公開範囲、時刻を確認します。TikTokのWeb画面に依存し、公式APIではありません。画面変更や連続投稿で失敗・制限が起きる場合があります。
資料公開日 2026-10-29
スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。
2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。
| 月 | ダウンロード数 | 前月比 | スター数 |
|---|---|---|---|
| 2026-09 | 3277 | — | 6 |
| 2026-08 | 3017 | +4.2% | 6 |
| 2026-07 | 2895 | +9.8% | 6 |
| 2026-06 | 2636 | +7.3% | 5 |
| 2026-05 | 2457 | — | 5 |
| 2026-03 | 1565 | — | 4 |
作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。
---
name: tiktok-uploader
description: "Upload, schedule, and batch-manage TikTok videos via browser automation. Use when: user wants to upload a video to TikTok, schedule a TikTok post, batch upload multiple TikTok videos, or scan a directory for uploadable videos. NOT for: TikTok analytics, downloading videos, or managing comments/followers."
homepage: https://github.com/wkaisertexas/tiktok-uploader
user-invocable: true
metadata: {"openclaw":{"emoji":"🎬","requires":{"bins":["python3","playwright"],"env":[]},"install":[{"id":"pip","kind":"pip","package":"tiktok-uploader","bins":["tiktok-uploader"],"label":"Install tiktok-uploader (pip)"},{"id":"playwright","kind":"pip","package":"playwright","bins":["playwright"],"label":"Install Playwright"}]}}
---
# TikTok Video Uploader
Upload, schedule, and batch-manage TikTok videos using the `tiktok-uploader` Python library (Playwright-based browser automation wrapping TikTok's web upload page).
## Setup
```bash
pip install tiktok-uploader
playwright install
```
## Authentication
The user **must** provide one of these. Ask if not yet configured:
| Method | How to get it |
|---|---|
| **Cookie file** (recommended) | Export `cookies.txt` from browser using the "Get cookies.txt LOCALLY" extension. |
| **Session ID** | DevTools → Application → Cookies → `.tiktok.com` → copy `sessionid` value. |
| **Cookie list** | List of dicts: `[{name, value, domain, path}]`. |
Session cookies expire — if uploads fail with auth errors, the user needs fresh cookies.
## Operations
### Upload a single video
```python
from tiktok_uploader.upload import TikTokUploader
with TikTokUploader(cookies="cookies.txt", headless=True) as uploader:
success = uploader.upload_video(
filename="video.mp4",
description="Check this out #fyp #viral @friend ",
visibility="everyone", # "everyone" | "friends" | "only_you"
comment=True,
stitch=True,
duet=True,
cover="thumbnail.png", # optional
)
print("Uploaded!" if success else "Failed.")
```
### Schedule a video
```python
from datetime import datetime, timezone
with TikTokUploader(sessionid="abc123...", headless=True) as uploader:
uploader.upload_video(
filename="video.mp4",
description="Dropping soon! #scheduled ",
schedule=datetime(2026, 3, 10, 14, 30, tzinfo=timezone.utc),
)
```
Rules: must be 20 min – 10 days in the future; minutes are rounded to nearest 5.
### Batch upload
```python
videos = [
{"path": "vid1.mp4", "description": "First #batch "},
{"path": "vid2.mp4", "description": "Second", "schedule": datetime(2026, 3, 10, 15, 0, tzinfo=timezone.utc)},
{"path": "vid3.mp4", "description": "Third", "visibility": "friends"},
]
with TikTokUploader(cookies="cookies.txt", headless=True) as uploader:
failed = uploader.upload_videos(videos)
if failed:
print(f"{len(failed)} videos failed")
```
### Using the wrapper module
This skill ships a convenience wrapper at `scripts/tiktok_manager.py`:
```python
from scripts.tiktok_manager import TikTokManager
mgr = TikTokManager(cookies="~/cookies.txt")
# Upload
mgr.upload("video.mp4", description="Hello TikTok! #fyp ")
# Schedule
mgr.upload("video.mp4", description="Scheduled!", schedule="2026-03-10T14:30")
# Batch
mgr.upload_batch([
{"path": "v1.mp4", "description": "First"},
{"path": "v2.mp4", "description": "Second", "schedule": "2026-03-10T15:00"},
])
# Scan directory for uploadable videos
videos = TikTokManager.scan_videos("~/Videos/tiktok", recursive=True)
```
## Important Notes
- **Hashtags & @mentions**: Include in description, each tag followed by a space. Verify they exist.
- **Description limit**: ~150 characters.
- **Rate limiting**: TikTok throttles after many uploads. Space them out; wait hours if throttled.
- **Headless mode**: Set `headless=False` to watch the browser for debugging.
- **Proxy**: Pass `proxy={"host": "...", "port": "..."}` — Chrome only.
- **Supported formats**: .mp4, .mov, .avi, .wmv, .flv, .webm, .mkv, .m4v, .3gp, .3g2, .gif
- **Fragility**: Browser automation, not an official API. TikTok UI changes can break it.
## Troubleshooting
| Problem | Fix |
|---|---|
| Auth/login error | Cookies expired → export fresh cookies.txt |
| Upload hangs | Try `headless=False` to see what's happening |
| Throttled/rate limited | Wait a few hours between batches |
| Selector errors | tiktok-uploader may need an update (`pip install -U tiktok-uploader`) |
開発中の学び、エラー、訂正を Markdown ファイルに記録し、再利用やワークスペースの記憶への昇格に備えます。
やりたいことを自然文で伝えると、ローカルとリモートのカタログからスキルを探して推薦するスキルです。
AI エージェント向けのブラウザ自動化コマンドラインスキルです。
利用者の訂正と自己点検を層構造の記憶に蓄え、使われ方に応じて昇格や保管を行うスキルです。
第三者のスキルを入れる前に、出所と権限と危険な作りを手順に沿って調べるスキルです。
エージェントの記憶とスキル間の状態を、型と制約を持つ知識グラフとして保存するスキルです。
AI エージェントの先回り、作業記憶、振り返りの手順を計画するためのワークスペース設定ガイドです。
効果的な Claude スキルの作成・更新ガイドです。
データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。