tiktok-poster
TikTok automation via browser. Upload videos, add captions, hashtags. Schedule for optimal engagement times.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/sa9saq/tiktok-posterTikTok Poster
TikTokブラウザ自動化。動画アップロード、キャプション、ハッシュタグ。
機能
投稿機能
- 動画アップロード(最大10分)
- キャプション追加
- ハッシュタグ設定
- サウンド追加
- スケジュール投稿
分析機能
- 視聴数追跡
- エンゲージメント率
- フォロワー増減
- トレンド分析
使用方法
基本投稿
「TikTokに動画を投稿して
動画: [video_url]
キャプション: [text]」
詳細設定
「TikTok投稿
動画: [video_url]
キャプション: [text]
ハッシュタグ: #tag1 #tag2 #tag3
公開範囲: [public/friends/private]
コメント: [on/off]
デュエット: [on/off]」
Puppeteer実装(ローカル版)
前提条件
npm install puppeteer
基本投稿
const puppeteer = require('puppeteer');
const fs = require('fs');
async function postToTikTok(videoPath, caption) {
const client = await createClient({ headless: false }); // TikTokは表示推奨
// Cookie復元(あれば)
if (fs.existsSync('tiktok-cookies.json')) {
const cookies = JSON.parse(fs.readFileSync('tiktok-cookies.json'));
await client.setCookies(cookies);
}
await client.executeSequence([
{ type: 'navigate', url: 'https://www.tiktok.com/creator-center/upload' },
{ type: 'wait', ms: 3000 }
]);
// ファイルアップロード
const fileInput = await client.page.$('input[type="file"]');
await fileInput.uploadFile(videoPath);
await client.executeSequence([
{ type: 'wait', ms: 15000 }, // アップロード+処理待機
{ type: 'waitForSelector', selector: '[data-testid="caption-input"]' },
{ type: 'type', selector: '[data-testid="caption-input"]', text: caption },
{ type: 'wait', ms: 1000 },
{ type: 'click', selector: '[data-testid="post-button"]' },
{ type: 'wait', ms: 5000 },
{ type: 'screenshot' }
]);
// Cookieを保存
const cookies = await client.getCookies();
fs.writeFileSync('tiktok-cookies.json', JSON.stringify(cookies));
await client.close();
}
// 使用例
postToTikTok('/path/to/video.mp4', 'キャプション #fyp #viral');
ログインフロー
async function loginToTikTok(client) {
await client.executeSequence([
{ type: 'navigate', url: 'https://www.tiktok.com/login' },
{ type: 'wait', ms: 3000 },
// TikTokはQRコード/電話番号/SNS連携が主流
// 手動ログイン後にCookieを保存
{ type: 'screenshot' }
]);
// 手動ログイン完了後
const cookies = await client.getCookies();
fs.writeFileSync('tiktok-cookies.json', JSON.stringify(cookies));
console.log('TikTok cookies saved');
}
セレクタ一覧(2026年版)
const SELECTORS = {
// アップロード関連
fileInput: 'input[type="file"]',
captionInput: '[data-testid="caption-input"]',
postButton: '[data-testid="post-button"]',
// 設定関連
visibilitySelector: '[data-testid="visibility-selector"]',
commentToggle: '[data-testid="comment-toggle"]',
duetToggle: '[data-testid="duet-toggle"]',
// プレビュー
videoPreview: '[data-testid="video-preview"]',
uploadProgress: '[data-testid="upload-progress"]'
};
コンテンツ戦略
バイラル要素
1. 最初の1秒でフック
2. 3秒以内にペイオフ(価値提示)
3. ループ可能な構造
4. トレンドサウンド使用
5. テキストオーバーレイ
人気カテゴリ
| カテゴリ | 特徴 |
|---|---|
| エデュテインメント | 学び + エンタメ |
| Before/After | ビフォーアフター変化 |
| Day in Life | 日常 vlog |
| Tutorials | ハウツー |
| Storytime | ストーリーテリング |
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-sa9saq-tiktok-poster": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
threat-model
Threat modeling and attack scenario design. Identify risks before they become vulnerabilities. STRIDE, attack trees, risk matrix.
Sns Auto Poster
Schedule and automate social media posts to X/Twitter with cron-based queue management.
security-review
Comprehensive security review for code, configs, and operations. OWASP, prompt injection, crypto security. Auto-triggers on security-related changes.
Process Monitor
Monitor system processes, identify top CPU/memory consumers, and alert on resource thresholds.
Readme Generator
Auto-generate comprehensive README.md files by analyzing project structure and configuration.