{
  "schemaVersion": "1.0",
  "item": {
    "slug": "skill-tiktok-video-pipeline",
    "name": "Skill Tiktok Video Pipeline",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Zero2Ai-hub/skill-tiktok-video-pipeline",
    "canonicalUrl": "https://clawhub.ai/Zero2Ai-hub/skill-tiktok-video-pipeline",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/skill-tiktok-video-pipeline",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-tiktok-video-pipeline",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "assets/README.md",
      "config/products.json",
      "scripts/generate.js",
      "scripts/pipeline.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/skill-tiktok-video-pipeline"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/skill-tiktok-video-pipeline",
    "agentPageUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "skill-tiktok-video-pipeline v2",
        "body": "Full end-to-end pipeline for TikTok product ads. Takes a product_id + script_text and outputs a publish-ready vertical short-form video with captions, optional logo watermark, and background music."
      },
      {
        "title": "Architecture",
        "body": "script_text + product_id\n       │\n       ▼\nStep 1: Veo 3 base video generation (9:16, ~8s)\n       │\n       ▼\nStep 2: Caption overlay + logo watermark\n        └── tiktok_overlay_engine_v3.py (ffmpeg drawtext)\n       │\n       ▼\nStep 3: Background audio mix (20% volume, ffmpeg amix)\n       │\n       ▼\noutput/tiktok/<product_id>_<lang>_final.mp4"
      },
      {
        "title": "Requirements",
        "body": "GEMINI_API_KEY env var (for Veo generation)\nffmpeg on PATH\nuv on PATH (for Python scripts)\nveo3-video-gen skill installed at skills/veo3-video-gen/"
      },
      {
        "title": "Usage",
        "body": "node scripts/generate.js \\\n  --product-id rain_cloud \\\n  --script-text \"Stop dry air!|Ultrasonic mist|Whisper-quiet|Get yours today\" \\\n  --lang EN"
      },
      {
        "title": "With logo and custom audio",
        "body": "node scripts/generate.js \\\n  --product-id hydro_bottle \\\n  --script-text \"Hydrogen water|Boosts energy|Pure & clean|Shop now\" \\\n  --lang EN \\\n  --logo /path/to/brand_logo.png \\\n  --audio /path/to/bgm.mp3"
      },
      {
        "title": "Arabic (AR) captions",
        "body": "node scripts/generate.js \\\n  --product-id mini_cam \\\n  --script-text \"صوّر كل لحظة|دقة عالية|خفيف وصغير|اطلب الآن\" \\\n  --lang AR"
      },
      {
        "title": "Dry-run (no API calls, generates dummy video for testing overlay)",
        "body": "node scripts/generate.js \\\n  --product-id test \\\n  --script-text \"Line 1|Line 2|Line 3\" \\\n  --dry-run"
      },
      {
        "title": "Inputs",
        "body": "ArgumentRequiredDefaultDescription--product-id✅—Product identifier (used in output filename)--script-text✅—Caption lines separated by |--lang❌ENLanguage: EN or AR--logo❌nonePath to logo PNG for watermark (top-right)--audio❌assets/bgm_default.mp3Background music path--veo-model❌veo-3.1-generate-previewVeo model to use--prompt❌autoCustom Veo generation prompt--segments❌1Number of Veo segments to generate & stitch--dry-run❌falseSkip Veo API call; use dummy black video"
      },
      {
        "title": "Outputs",
        "body": "FileDescriptionoutput/tiktok/<product_id>_<lang>_final.mp4Final publish-ready TikTok video"
      },
      {
        "title": "Scripts",
        "body": "ScriptDescriptionscripts/generate.jsMain Node.js orchestratorscripts/tiktok_overlay_engine_v3.pyPython/ffmpeg caption overlay engine"
      },
      {
        "title": "Caption Format",
        "body": "Captions are split by | and timed evenly across the video duration.\n\nExample: \"Hook line!|Feature 1|Feature 2|CTA here\" → 4 pills, each shown for ~2s on an 8s video.\n\nPill style: dark semi-transparent box, white text, centered at 75% height."
      },
      {
        "title": "Default Audio",
        "body": "Place a royalty-free BGM file at assets/bgm_default.mp3 in this skill folder to auto-mix audio in all runs. If no audio is found, the video is output without BGM."
      },
      {
        "title": "Pipeline Steps Detail",
        "body": "Step 1  Veo 3 generates a 9:16 base MP4           ~60–120s\nStep 2  Python overlays timed caption pills         ~5s\nStep 3  ffmpeg mixes BGM at 20% volume              ~5s\n─────────────────────────────────────────────────────────\nOutput  Final branded MP4 ready to post"
      },
      {
        "title": "pipeline.py (v2.0.0 — Python orchestrator)",
        "body": "Direct Python pipeline wired to overlay engine via subprocess.\n\nuv run scripts/pipeline.py \\\n  --product rain_cloud \\\n  --image product.jpg \\\n  --output final.mp4 \\\n  --audio /path/to/music.mp3 \\\n  --slowmo"
      },
      {
        "title": "New flags (v2.0.0)",
        "body": "FlagDefaultDescription--audio$DEFAULT_AUDIO env or bundled Hyperfun.mp3Audio file passed to overlay step--slowmofalseApply 0.83x speed → fills ~12s. Overrides --extend-to auto-stretch"
      },
      {
        "title": "Environment Variables",
        "body": "VarDefaultDescriptionDEFAULT_AUDIOworkspace root audio_Hyperfun.mp3Default audio if --audio not set"
      }
    ],
    "body": "skill-tiktok-video-pipeline v2\n\nFull end-to-end pipeline for TikTok product ads. Takes a product_id + script_text and outputs a publish-ready vertical short-form video with captions, optional logo watermark, and background music.\n\nArchitecture\nscript_text + product_id\n       │\n       ▼\nStep 1: Veo 3 base video generation (9:16, ~8s)\n       │\n       ▼\nStep 2: Caption overlay + logo watermark\n        └── tiktok_overlay_engine_v3.py (ffmpeg drawtext)\n       │\n       ▼\nStep 3: Background audio mix (20% volume, ffmpeg amix)\n       │\n       ▼\noutput/tiktok/<product_id>_<lang>_final.mp4\n\nRequirements\nGEMINI_API_KEY env var (for Veo generation)\nffmpeg on PATH\nuv on PATH (for Python scripts)\nveo3-video-gen skill installed at skills/veo3-video-gen/\nUsage\nnode scripts/generate.js \\\n  --product-id rain_cloud \\\n  --script-text \"Stop dry air!|Ultrasonic mist|Whisper-quiet|Get yours today\" \\\n  --lang EN\n\nWith logo and custom audio\nnode scripts/generate.js \\\n  --product-id hydro_bottle \\\n  --script-text \"Hydrogen water|Boosts energy|Pure & clean|Shop now\" \\\n  --lang EN \\\n  --logo /path/to/brand_logo.png \\\n  --audio /path/to/bgm.mp3\n\nArabic (AR) captions\nnode scripts/generate.js \\\n  --product-id mini_cam \\\n  --script-text \"صوّر كل لحظة|دقة عالية|خفيف وصغير|اطلب الآن\" \\\n  --lang AR\n\nDry-run (no API calls, generates dummy video for testing overlay)\nnode scripts/generate.js \\\n  --product-id test \\\n  --script-text \"Line 1|Line 2|Line 3\" \\\n  --dry-run\n\nInputs\nArgument\tRequired\tDefault\tDescription\n--product-id\t✅\t—\tProduct identifier (used in output filename)\n--script-text\t✅\t—\tCaption lines separated by |\n--lang\t❌\tEN\tLanguage: EN or AR\n--logo\t❌\tnone\tPath to logo PNG for watermark (top-right)\n--audio\t❌\tassets/bgm_default.mp3\tBackground music path\n--veo-model\t❌\tveo-3.1-generate-preview\tVeo model to use\n--prompt\t❌\tauto\tCustom Veo generation prompt\n--segments\t❌\t1\tNumber of Veo segments to generate & stitch\n--dry-run\t❌\tfalse\tSkip Veo API call; use dummy black video\nOutputs\nFile\tDescription\noutput/tiktok/<product_id>_<lang>_final.mp4\tFinal publish-ready TikTok video\nScripts\nScript\tDescription\nscripts/generate.js\tMain Node.js orchestrator\nscripts/tiktok_overlay_engine_v3.py\tPython/ffmpeg caption overlay engine\nCaption Format\n\nCaptions are split by | and timed evenly across the video duration.\n\nExample: \"Hook line!|Feature 1|Feature 2|CTA here\" → 4 pills, each shown for ~2s on an 8s video.\n\nPill style: dark semi-transparent box, white text, centered at 75% height.\n\nDefault Audio\n\nPlace a royalty-free BGM file at assets/bgm_default.mp3 in this skill folder to auto-mix audio in all runs. If no audio is found, the video is output without BGM.\n\nPipeline Steps Detail\nStep 1  Veo 3 generates a 9:16 base MP4           ~60–120s\nStep 2  Python overlays timed caption pills         ~5s\nStep 3  ffmpeg mixes BGM at 20% volume              ~5s\n─────────────────────────────────────────────────────────\nOutput  Final branded MP4 ready to post\n\npipeline.py (v2.0.0 — Python orchestrator)\n\nDirect Python pipeline wired to overlay engine via subprocess.\n\nuv run scripts/pipeline.py \\\n  --product rain_cloud \\\n  --image product.jpg \\\n  --output final.mp4 \\\n  --audio /path/to/music.mp3 \\\n  --slowmo\n\nNew flags (v2.0.0)\nFlag\tDefault\tDescription\n--audio\t$DEFAULT_AUDIO env or bundled Hyperfun.mp3\tAudio file passed to overlay step\n--slowmo\tfalse\tApply 0.83x speed → fills ~12s. Overrides --extend-to auto-stretch\nEnvironment Variables\nVar\tDefault\tDescription\nDEFAULT_AUDIO\tworkspace root audio_Hyperfun.mp3\tDefault audio if --audio not set"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Zero2Ai-hub/skill-tiktok-video-pipeline",
    "publisherUrl": "https://clawhub.ai/Zero2Ai-hub/skill-tiktok-video-pipeline",
    "owner": "Zero2Ai-hub",
    "version": "2.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline",
    "downloadUrl": "https://openagent3.xyz/downloads/skill-tiktok-video-pipeline",
    "agentUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-tiktok-video-pipeline/agent.md"
  }
}