Token导航 LogoToken导航

Agent Skill · 开发

tiktok-video-maker(抖音视频制作者)

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

tiktok-video-maker 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 5,848。

总安装 5,551周安装 229GitHub Stars 1下载 1,814核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.3

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tiktok-video-maker(抖音视频制作者)
来源仓库:https://github.com/georgegally/tiktok-video-maker
安装命令:
openclaw skills install tiktok-video-maker
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install tiktok-video-maker

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

通过 LovelyBots API 从脚本和图像生成 TikTok 谈话风格视频。支持视频排队、状态轮询和下载 URL 获取,全流程自动化处理。输入脚本文本和图像资源,系统自动调度生成并返回结果链接。需确认 API 密钥权限及网络连接稳定性,避免任务中断风险。适用于需要快速产出个性化内容的创作者,提升制作效率。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install tiktok-video-maker;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

tiktok-video-maker 怎么安装?

在终端执行 openclaw skills install tiktok-video-maker。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

tiktok-video-maker 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

tiktok-video-maker 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

tiktok-video-maker 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

tiktok-video-maker 用的人多吗?

公开数据是累计安装 5,551 次,近一周安装 229 次,下载 1,814 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

tiktok-video-maker 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
tiktok-video-maker

抖音视频制作者 · 本页

5,5511接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
tiktok-video-maker
description
Generate TikTok-style talking videos from a script and image using the LovelyBots API. Queue a video, poll for completion, and retrieve a download URL — all in one workflow. Built for marketing teams, ecommerce brands, and agent pipelines that need consistent video output at scale.
metadata
{ "openclaw": { "requires": { "env": ["LOVELYBOTS_API_KEY"], "bins": ["curl", "python3"] }, "primaryEnv": "LOVELYBOTS_API_KEY", "emoji": "🎬", "homepage": "https://lovelybots.com/openclaw" } }

TikTok Video Maker

Generate talking videos programmatically using the LovelyBots API. This skill lets you queue a video from a script and source image, poll until it's ready, and return the final video URL.

Get your API key at: https://lovelybots.com/developer API base URL for bots: https://api.lovelybots.com/api


What This Skill Does

  • Submits a video generation job (script + source image → queued video)
  • Polls the job status until completed (or failed)
  • Returns the final video URL
  • Reports credits remaining after each request
  • Accepts image as file upload, URL, or base64 (single image field)

Setup

  1. Create a LovelyBots account at https://lovelybots.com
  2. Activate a subscription plan (required for API video generation)
  3. Create an API token at https://lovelybots.com/developer

Set your LovelyBots API key as an environment variable:

export LOVELYBOTS_API_KEY=your_api_key_here

Or add it to your openclaw.json:

{
  "skills": {
    "entries": {
      "tiktok-video-maker": {
        "env": {
          "LOVELYBOTS_API_KEY": "your_api_key_here"
        }
      }
    }
  }
}

Critical Tips for Agents

  1. Use the API host for bot calls: https://api.lovelybots.com/api. Do not use the web app host for API requests.
  2. Always send Authorization: Bearer $LOVELYBOTS_API_KEY on every API request.
  3. Treat video.id and voice_id as UUID strings. Never assume numeric IDs.
  4. Poll GET /api/videos/:id until terminal status (completed or failed) with timeout and retry guards.
  5. If using image URLs, they must be public http/https URLs. Localhost/private-network URLs are blocked.
  6. Keep auth/user flows on https://lovelybots.com (dashboard/login/docs), and keep automation calls on api.lovelybots.com.
  7. On non-2xx API responses, surface the error and stop retrying blindly.

Example Prompts

  • "Generate a 30-second product ad video using my image at https://example.com/image.jpg with this script: Welcome to our summer sale..."
  • "Make a video with the TikTok Video Maker — use image [url-or-base64-or-upload] and script: [text]"
  • "Queue a video generation job and give me the download link when it's done"
  • "Create a talking video for my TikTok ad using LovelyBots"

How to Generate a Video

Step 1 — Submit the job

Best quality input recommendation:

  • Use a clear, front-facing portrait image.
  • Use 9:16 orientation (for example 1080x1920).
curl -X POST https://api.lovelybots.com/api/create \
  -H "Authorization: Bearer $LOVELYBOTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "script": "Welcome to our summer sale. Use code SAVE20 for 20% off everything this week only.",
    "image": "https://example.com/your-image-1080x1920.jpg",
    "public": false,
    "action_prompt": "Subject smiles warmly and waves at the camera.",
    "camera_prompt": "Medium closeup, static camera, cinematic lighting, 4k."
  }'

Response:

{
  "id": "b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde",
  "status": "queued",
  "credits_remaining": 1,
  "share_url": "https://lovelybots.com/videos/b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde/share/abc123token"
}

Step 2 — Poll for completion

curl "https://api.lovelybots.com/api/videos/$VIDEO_ID" \
  -H "Authorization: Bearer $LOVELYBOTS_API_KEY"

Response when processing:

{
  "id": "b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde",
  "status": "processing",
  "credits_remaining": 9,
  "share_url": "https://lovelybots.com/videos/b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde/share/abc123token"
}

Agent Status Update (recommended)

When status is queued or processing, immediately report progress to the user (including share_url) before continuing to poll.

Template:

Status Update:
Job ID: <id>
Status: <status>
Credits Remaining: <credits_remaining>
Share URL: <share_url>

Response when complete:

{
  "id": "b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde",
  "status": "completed",
  "video_url": "https://lovelybots.com/videos/b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde.mp4",
  "share_url": "https://lovelybots.com/videos/b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde/share/abc123token",
  "credits_remaining": 9
}

Response if failed:

{
  "id": "b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde",
  "status": "failed",
  "error": "Image could not be processed",
  "credits_remaining": 10,
  "share_url": "https://lovelybots.com/videos/b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde/share/abc123token"
}

Step 3 — Return the video URL to the user

Once status is completed, return video_url to the user. The video is ready to download or share.


Polling Strategy

Poll every 5–10 seconds. Most videos complete within 60–120 seconds. If status is still processing after 5 minutes, surface an error to the user.

Suggested polling loop (bash):

VIDEO_ID="b6f9a32d-3c53-4a6c-9d8c-2f0f7a1b4cde"
POLL_INTERVAL_SECONDS=8
MAX_WAIT_SECONDS=300
START_TS=$(date +%s)
HEADERS_FILE=$(mktemp)
trap 'rm -f "$HEADERS_FILE"' EXIT

extract_json_field() {
  local key="$1"

  if command -v jq >/dev/null 2>&1; then
    jq -r --arg key "$key" '.[$key] // empty'
    return
  fi

  if command -v python3 >/dev/null 2>&1; then
    python3 -c 'import json,sys; key=sys.argv[1]; data=json.load(sys.stdin); value=data.get(key, ""); print("" if value is None else value)' "$key"
    return
  fi

  echo "Install jq or python3 to parse API responses in this polling loop." >&2
  return 127
}

while true; do
  NOW_TS=$(date +%s)
  if [ $((NOW_TS - START_TS)) -ge "$MAX_WAIT_SECONDS" ]; then
    echo "Timed out after ${MAX_WAIT_SECONDS}s waiting for video completion." >&2
    break
  fi

  HTTP_RESPONSE=$(curl -sS --connect-timeout 10 --max-time 30 \
    -D "$HEADERS_FILE" \
    -w $'\
%{http_code}' "https://api.lovelybots.com/api/videos/$VIDEO_ID" \
    -H "Authorization: Bearer $LOVELYBOTS_API_KEY")
  CURL_EXIT=$?
  if [ "$CURL_EXIT" -ne 0 ]; then
    echo "Polling request failed (curl exit $CURL_EXIT). Retrying..." >&2
    sleep "$POLL_INTERVAL_SECONDS"
    continue
  fi

  HTTP_CODE=$(printf '%s\
' "$HTTP_RESPONSE" | tail -n 1)
  RESPONSE=$(printf '%s\
' "$HTTP_RESPONSE" | sed '$d')

  if [ "$HTTP_CODE" = "429" ] || [ "$HTTP_CODE" -ge 500 ]; then
    RETRY_AFTER=$(awk 'tolower($1)=="retry-after:" {print $2}' "$HEADERS_FILE" | tr -d '\
' | tail -n 1)
    if printf '%s' "$RETRY_AFTER" | grep -Eq '^[0-9]+$'; then
      WAIT_SECONDS="$RETRY_AFTER"
    else
      WAIT_SECONDS="$POLL_INTERVAL_SECONDS"
    fi
    echo "Transient HTTP $HTTP_CODE while polling. Retrying in ${WAIT_SECONDS}s..." >&2
    sleep "$WAIT_SECONDS"
    continue
  fi

  if printf '%s' "$HTTP_CODE" | grep -Eq '^[0-9]{3}$' && [ "$HTTP_CODE" -ge 400 ]; then
    API_ERROR=$(printf '%s\
' "$RESPONSE" | extract_json_field error 2>/dev/null || true)
    echo "Polling failed with HTTP $HTTP_CODE${API_ERROR:+: $API_ERROR}" >&2
    break
  fi

  STATUS=$(printf '%s\
' "$RESPONSE" | extract_json_field status) || break
  if [ -z "$STATUS" ]; then
    API_ERROR=$(printf '%s\
' "$RESPONSE" | extract_json_field error 2>/dev/null || true)
    if [ -n "$API_ERROR" ]; then
      echo "API error: $API_ERROR" >&2
    else
      echo "Unexpected API response (missing status)." >&2
    fi
    break
  fi

  if [ "$STATUS" = "completed" ]; then
    printf '%s\
' "$RESPONSE" | extract_json_field video_url
    break
  elif [ "$STATUS" = "failed" ]; then
    API_ERROR=$(printf '%s\
' "$RESPONSE" | extract_json_field error 2>/dev/null || true)
    echo "Video generation failed${API_ERROR:+: $API_ERROR}" >&2
    break
  fi
  sleep "$POLL_INTERVAL_SECONDS"
done

Key Differentiators

  • Consistent identity output — stable presenter look across generated videos
  • Failed renders are refunded — you only pay for successful videos
  • Editable after generation — not locked output like HeyGen/Synthesia
  • No credit burns on retries — reliable for automated pipelines

API Reference

MethodPathDescription
POST/api/createSubmit a video generation job
POST/api/videosAlias for /api/create
GET/api/videos/:idGet job status and video URL
GET/api/voicesList available voices (filter by gender/age)

POST /api/create — Request Body

FieldTypeRequiredDescription
scriptstring✓The spoken text for the video
imagefile or string✓Unified image input. Can be multipart file upload, http/https URL, or base64/data URL
publicbooleanWhether the video appears in the public feed (default: true)
genderstringmale or female — skips AI detection, speeds up response
agestringyoung_adult, adult, mature, middle_aged, or older
action_promptstringOptional action/performance guidance
camera_promptstringOptional camera/framing guidance
voice_idstring (UUID)Specific voice ID from GET /api/voices — skips AI detection and auto-selection entirely

Image guidance:

  • Use front-facing portrait images for best lip-sync stability.
  • Use 9:16 orientation (recommended 1080x1920).
  • If image is a URL, it must be publicly reachable (localhost and private-network hosts are blocked).

GET /api/voices — Response

FieldTypeDescription
voices[].idstring (UUID)Use as voice_id in create requests
voices[].namestringVoice display name
voices[].genderstringmale or female
voices[].agestringyoung_adult, adult, mature, middle_aged, or older

GET /api/videos/:id — Response

FieldTypeDescription
idstring (UUID)Job ID
statusstringqueued / processing / completed / failed
video_urlstringDownload URL (only when completed)
share_urlstringPublic shareable page URL (always present)
credits_remainingintegerVideos remaining in your plan this month
errorstringError message (only when failed)

Troubleshooting

ProblemLikely CauseFix
401 Invalid or expired API tokenMissing/incorrect Bearer tokenRegenerate token at https://lovelybots.com/developer and send Authorization: Bearer $LOVELYBOTS_API_KEY
403 errors (Please select a plan, monthly limit, or IP not allowed)Plan/usage/IP restrictionsEnsure subscription is active, check monthly limit, and verify token IP allowlist settings
404 Video not foundWrong video.id or token user mismatchUse the UUID returned by create response, and poll using the same API token owner
422 image is required or image URL errorsMissing image or blocked URLSend image as upload/URL/base64. If URL, it must be public http/https (no localhost/private network)
429 Rate limit exceededToo many requestsIncrease polling interval, add jitter/backoff, retry later
cf-mitigated: challenge header appearsRequest sent to proxied hostUse https://api.lovelybots.com/api/... (DNS-only API host), not https://lovelybots.com/api/...
Poll loop times outLong render time or transient API/network issueRaise MAX_WAIT_SECONDS, inspect API error payload, and retry with same video.id

Links

  • Get API key: https://lovelybots.com/developer
  • API base URL: https://api.lovelybots.com/api
  • Public feed: https://lovelybots.com/feed
  • Full docs: https://lovelybots.com/openclaw
  • Homepage: https://lovelybots.com

平台分布

OpenClaw

83.47%
按下载量换算1,514

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills