安全风险
OpenViking
基于OpenViking的RAG系统,支持文档查询、知识管理与向量检索。
下载 196
通过 Publora API 实现 TikTok 视频的发布与定时推送。
openclaw skills install @sergebulaev/publora-tiktok命令、参数、文件名以原文为准
TikTok 平台技能,适用于 Publora API。关于认证、核心排期、媒体上传及工作区/回调文档,请参阅 publora 核心技能。
基础 URL: https://api.publora.com/api/v1
请求头: x-publora-key: sk_YOUR_KEY
平台 ID 格式: tiktok-{userId}
⚠️ TikTok API 对字幕和时长的要求比原生应用更严格。
| 属性 | API 限制 | 原生应用 |
|---|---|---|
| 字幕长度 | 2,200 字符 | 4,000 字符 |
| 视频时长 | 10 分钟 | 60 分钟 |
| 视频大小 | 4 GB | — |
| 视频格式 | MP4、MOV、WebM | — |
| 图片支持 | ❌ 仅支持视频 | — |
| 纯文字内容 | ❌ 必须包含视频 | — |
| 每日发布数量 | 15–20 条/天 | — |
| 请求频率限制 | 2 条视频/分钟 | — |
常见错误:
spam_risk_too_many_posts — 已达到每日上限,需等待 24 小时duration_check_failed — 视频时长必须在 3 秒至 10 分钟之间unaudited_client_can_only_post_to_private_accounts — 应用未通过 TikTok 审核⚠️ 如果您的 TikTok 应用未通过 TikTok 审核,所有发布的视频将默认为私密状态。
TikTok 仅支持视频内容。请使用三步上传流程:
// 步骤 1:创建帖子(草稿,不设置 scheduledTime,或设置排期)
const post = await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: '你的 TikTok 字幕 #热门',
platforms: ['tiktok-123456789'],
scheduledTime: '2026-03-20T18:00:00.000Z'
})
}).then(r => r.json());
// 步骤 2:获取上传地址
const upload = await fetch('https://api.publora.com/api/v1/get-upload-url', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
postGroupId: post.postGroupId,
fileName: 'video.mp4',
contentType: 'video/mp4',
type: 'video'
})
}).then(r => r.json());
// 步骤 3:将视频上传至 S3
await fetch(upload.uploadUrl, {
method: 'PUT',
headers: { 'Content-Type': 'video/mp4' },
body: videoFileBytes
});import requests
HEADERS = { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' }
# 步骤 1:创建帖子
post = requests.post('https://api.publora.com/api/v1/create-post', headers=HEADERS, json={
'content': '你的 TikTok 字幕 #爆火',
'platforms': ['tiktok-123456789'],
'scheduledTime': '2026-03-20T18:00:00.000Z'
}).json()
# 步骤 2:获取上传地址
upload = requests.post('https://api.publora.com/api/v1/get-upload-url', headers=HEADERS, json={
'postGroupId': post['postGroupId'],
'fileName': 'video.mp4',
'contentType': 'video/mp4',
'type': 'video'
}).json()
# 步骤 3:上传视频
with open('video.mp4', 'rb') as f:
requests.put(upload['uploadUrl'], headers={'Content-Type': 'video/mp4'}, data=f)已收录 1 个 Skill