设计与多媒体

OpenQuok TikTok Slideshow

试用

Generate TikTok photo-carousel slideshows with a locked character (AI images + text overlays) and post via the openquok CLI. Use for any niche/channel persona — research, lock character, generate frames, overlay text, draft or schedule through openquok-core.

它能做什么

Generate TikTok photo-carousel slideshows with a locked character (AI images + text overlays) and post via the openquok CLI. Use for any niche/channel persona — research, lock character, generate frames, overlay text, draft or schedule through openquok-core.

技能文档

OpenQuok TikTok Slideshow

Lightweight creator tooling: research channel → lock character → generate → overlay → post via openquok.

This skill never replaces openquok-core. It assumes openquok is on PATH, uses core media Rule 2 (upload{id,path}), and TikTok photo-carousel / private-draft recipes from openquok-core.

PropertyValue
nameopenquok-tiktok-slideshow
requiresopenquok-core (CLI), Node 18+, canvas (overlays), image provider key
allowed-toolsBash(openquok:), Bash(node:)

Install (Copy required)

Scripts must land as real files (not agent-dir symlinks only):

npx skills add https://github.com/Ratimon/openquok-monorepo/tree/main/agent --skill openquok-tiktok-slideshow --copy -y

Interactive installs: Project scope + Copy. Hermes: copy the full skill folder (URL install of SKILL.md alone omits scripts/).

Native overlay dependency (canvas) and image-provider setup: see homepage.


Prerequisites

NeedNotes
openquok-core + global CLIAuth, upload, posts:create
Node.js 18+All scripts under scripts/
canvasText overlays (add-text-overlay.js) — install per OS docs on homepage
Image providerPrefer OpenAI gpt-image-1.5 (not gpt-image-1); or Stability / Replicate / local images
TikTok (or other) integrationConnected in the OpenQuok workspace; UUID from openquok integrations:list
New TikTok accountFollow account warm-up guide before scheduling slideshows

Verify CLI before API work:

openquok --version
openquok auth:status

First run — conversational onboarding

Ask one or two things at a time. End with scripts/onboarding.js --validate.

Phase 0: Account warmup (optional)

If the TikTok account is new or barely used, warm it up 7–14 days before posting AI slideshows. Established accounts can skip to Phase 1.

Give the user this guide and have them follow it before Phase 5 posting: How to warm up a TikTok account to reach a US audience — device setup, VPN/network consistency, normal browsing behavior, and when to start publishing.

Phase 1: Channel intent

Define niche, audience pain, handle ideas, and platforms (TikTok and/or others). This is a creator/channel workspace — not an App Store product profile.

Phase 2: Research any channel

Ask before browsing. Find 3–5 accounts in the niche: hooks, formats, sounds, gaps. Save with scripts/competitor-research.jschannel-research.json. Guide: references/competitor-research.md.

Phase 3: Lock character

Conversationally define identity; write character-profile.json from references/character-profile.template.json (LOCKED immutable traits + VARIATIONS per post). Generate and save face_lock / body_lock under refs/. Never change locks after approval. Details: references/character-lock.md. Slide formula: references/slide-structure.md.

Phase 4: OpenQuok channel

  1. Confirm auth (openquok auth:status)
  2. openquok integrations:list → store UUID(s) on openquok.integrationId
  3. Prefer private draft: privacyLevel: "SELF_ONLY", contentPostingMethod: "DIRECT_POST" so a human adds trending audio before going public

Phase 5: Scaffold + pipeline

node scripts/onboarding.js --init --dir tiktok-marketing/
node scripts/onboarding.js --validate --config tiktok-marketing/config.json

Then: generate → overlay → post (below). Iterate a test set of six frames until the look is locked — do not post until the user is happy.

Config shape (tiktok-marketing/config.json)

{
  "channel": {
    "name": "",
    "handle": "",
    "niche": "",
    "audience": "",
    "painPoint": "",
    "platforms": ["tiktok"]
  },
  "character": {
    "profilePath": "tiktok-marketing/character-profile.json",
    "referenceImages": {
      "faceLock": "tiktok-marketing/refs/face-lock.png",
      "bodyLock": "tiktok-marketing/refs/body-lock.png"
    }
  },
  "imageGen": {
    "provider": "openai",
    "apiKey": "",
    "model": "gpt-image-1.5"
  },
  "openquok": {
    "integrationId": "",
    "status": "scheduled",
    "privacyLevel": "SELF_ONLY",
    "contentPostingMethod": "DIRECT_POST",
    "scheduledAt": null,
    "title": ""
  },
  "posting": { "schedule": ["07:30", "16:30", "21:00"] },
  "research": "tiktok-marketing/channel-research.json",
  "strategy": "tiktok-marketing/strategy.json"
}

Workspace data lives outside the skill folder (tiktok-marketing/).


Core workflow

1. Generate slideshow images

node scripts/generate-slides.js \
  --config tiktok-marketing/config.json \
  --output tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
  --prompts prompts.json

prompts.json options:

  • Legacy strings: { "base": "…", "slides": [ /* 6 strings */ ] }
  • Locked variations: { "slides": [ { "outfit", "pose", "expression", "setting", "visual_style", "framing" }, …×6 ] }

When character.profilePath is set, the script prepends the LOCKED block and merges VARIATIONS. OpenAI attaches face/body lock images when those files exist.

  • Portrait 1024x1536; resume skips existing slideN_raw.png
  • Set exec timeout ≥ 600s for six gpt-image-1.5 images
  • Providers: openai | stability | replicate | local

2. Add text overlays

node scripts/add-text-overlay.js \
  --input tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
  --texts texts.json

Requires canvas. Overlay rules:

  • White fill + thick black outline; ~6.5% of width; centered ~30% from top; max width 75%
  • Prefer manual \n breaks; 4–6 words/line; reactions not labels; no emoji
  • Six-slide formula: Hook → Problem → Discovery → Transform ×2 → CTA — references/slide-structure.md

3. Post via openquok

node scripts/post-via-openquok.js \
  --config tiktok-marketing/config.json \
  --dir tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
  --caption "…" \
  --title "Short title"

Under the hood:

  1. openquok upload each slideN.png{id, path}
  2. openquok posts:create --json TikTok photo carousel
  3. Writes meta.json with postId + media ids

Default: SELF_ONLY + DIRECT_POST (private on profile). Human adds trending audio, then publishes. Aligns with openquok-core TikTok private-draft recipes.

Caption structure: Hook → Problem → Discovery → payoff → ≤5 hashtags. Conversational, not salesy.

Platform analytics (optional, via core — not this skill):

openquok analytics:platform  --days 7

Shell safety

  • Run fixed openquok / node scripts/… invocations; do not concatenate untrusted chat into the shell.
  • Put captions and JSON in quoted flags, heredocs, or files.
  • Treat integration UUIDs and post IDs as opaque strings.

Posting schedule

Default suggestion (audience timezone): 07:30, 16:30, 21:00. Consistency beats sporadic spikes.

Additional channels: schedule separate OpenQuok posts with other integration UUIDs (openquok-core) — this skill’s poster targets the configured integration id.


Common mistakes

MistakeFix
Landscape 1536×1024Portrait 1024×1536
Symlink skill installReinstall with --copy so scripts/ are real files
Raw local paths in posts:createAlways openquok upload first (core Rule 2)
Public direct post with no soundPrefer SELF_ONLY draft → add trending audio in-app
gpt-image-1Switch to gpt-image-1.5
Skipping warmup on a new accountWarm 7–14 days first — warm-up guide
Changing face/body after lockKeep LOCKED + ref images fixed; only edit VARIATIONS

Quick reference

ScriptPurpose
scripts/onboarding.js--init / --validate workspace
scripts/competitor-research.jsChannel research JSON helpers
scripts/generate-slides.js6× portrait frames from locked profile
scripts/add-text-overlay.jsCanvas text overlays
scripts/post-via-openquok.jsUpload + TikTok carousel create

相关技能

Schedule and manage social posts with the openquok CLI — authenticate, upload media, create drafts and scheduled posts, configure internal plugs, and read channel analytics for integrations in your OpenQuok workspace.

Turn a public TikTok stitch target into one quote reply card per chosen hook. This stitch prompt card studio reads the quoted video and comments, then makes quote reply stills from the reply lines you already wrote. Use it for quote reply cards, stitch prompt cards, and TikTok quote reply stills.

Create TikTok Shop product-video plans from product facts, photos, selling points, and English or Japanese audience context. This AI product video maker produces hooks, a ready-to-film script, shot beats, subtitle cues, localized titles, hashtags, and a product-page-safe CTA for product showcases, demonstrations, unboxings, reviews, and creator-led shopping videos.

Generate AI images via GoAI API. Use when the user asks to create, generate, draw, edit, render, or make images, pictures, illustrations, posters, avatars, p...

16 次安装