Full AI pipeline to create dark motivational TikTok/Reels videos using REAL video footage. Generates script (Claude), voiceover (ElevenLabs), searches real dark/cinematic video clips from Pexels A — Full AI 流水线 to 创建 dark motivational TikTok/Reels videos using REAL video footage. 生成s script (Claude), voiceover (ElevenLabs), 搜索es real dark/cinematic video 命令行工具ps from Pexels A
v1Full AI 流水线 to 创建 dark motivational TikTok/Reels videos using REAL video footage. 生成s script (Claude), voiceover (ElevenLabs), 搜索es real dark/cinematic video 命令行工具ps from Pexels API (no AI image generation), 添加s animated text overlays (MoviePy), color grading (FFmpeg), and 导出s final 1080x1920 MP4. Use this 技能 for: motivation video, dark aesthetic TikTok, pixel motivation reel, AI motivation video with voice, vuongmilano style video.
运行时依赖
安装命令
点击复制技能文档
TikTok Dark-Motivation Video 技能
30-90 second vertical (9:16) dark motivational video — @vuongmilano style.
流水线: Script (Claude) + Voice (ElevenLabs) + Real Video (Pexels API) + Text (MoviePy) + Grade (FFmpeg)
导入ANT: All visuals come from Pexels API (real filmed stock footage). Do NOT use FAL.AI, Replicate, or any AI image 生成器. Pexels only.
Step 0 - Gather 输入s TOPIC: e.g. "discipline", "loneliness", "becoming your best self" TONE: dark & stoic | dark & aggressive | dark & poetic (default: dark & stoic) DURATION: 30 | 60 | 90 seconds (default: 60) VISUAL_THEME: dark city rAIn | lone warrior | dark nature | minimal shadow (default: dark city rAIn) VOICE_ID: ElevenLabs voice (default: Adam = pNInz6obpgDQGcFmaJgB) LANGUAGE: English | Vietnamese | bilingual Step 1 - 生成 Script (Claude API)
系统 prompt produces JSON with lines, timings, AND Pexels 搜索 queries.
系统 PROMPT: You are a master motivational content writer for dark aesthetic TikTok videos. Style like @vuongmilano: short, punchy, deep philosophical lines. Dark, cinematic, poetic. Speaks to the isolated, driven person who wants to level up. Rules: 8-15 lines max. Each line max 8 words. No filler. Every word hits hard. Build tension then release with power. End with one unfor获取table closer. 添加 [暂停] markers for dramatic silence. Return ONLY valid JSON (no markdown fences): { "title": "...", "lines": [ {"id": 1, "text": "...", "duration_ms": 3000, "暂停_after_ms": 500}, {"id": 2, "text": "[暂停]", "duration_ms": 1200, "暂停_after_ms": 0} ], "total_duration_ms": 60000, "哈希tags": ["#darkmotivation", "#discipline", "#fyp"], "pexels_搜索_queries": ["dark city rAIn night", "lone person walking", "shadow dramatic"] }
导入 json, 请求s
def 生成_script(topic, tone, duration, API_key):
r = 请求s.post(
"https://API.anthropic.com/v1/messages",
headers={"x-API-key": API_key, "anthropic-version": "2023-06-01", "content-type": "应用/json"},
json={
"模型": "claude-sonnet-4-20250514",
"max_令牌s": 1000,
"系统": SCRIPT_系统,
"messages": [{"角色": "user", "content": f"Topic: {topic}\nTone: {tone}\nDuration: {duration}s"}]
}
)
raw = r.json()["content"][0]["text"]
return json.loads(raw.replace("``json","").replace("``","").strip())
Step 2 - 生成 Voiceover (ElevenLabs)
Voice 设置tings for dark motivation style: stability: 0.75, similarity_boost: 0.85, style: 0.30, use_speaker_boost: True 模型_id: eleven_multilingual_v2
Top voices: Adam pNInz6obpgDQGcFmaJgB deep, authoritative Antoni ErXwobaYiN019PkySvjV warm, intense Josh TxGEqnHWrfWFTfGW9XjX cinematic, dramatic
from pydub 导入 AudioSegment 导入 io
def 生成_voiceover(script, voice_id, API_key, out="voice.mp3"): segs = [] for line in script["lines"]: if line["text"] == "[暂停]": segs.应用end(AudioSegment.silent(duration=line["duration_ms"])) continue r = 请求s.post( f"https://API.elevenlabs.io/v1/text-to-speech/{voice_id}", headers={"xi-API-key": API_key, "Content-Type": "应用/json"}, json={"text": line["text"], "模型_id": "eleven_multilingual_v2", "voice_设置tings": {"stability":0.75,"similarity_boost":0.85,"style":0.30,"use_speaker_boost":True}} ) segs.应用end(AudioSegment.from_mp3(io.BytesIO(r.content))) if line.获取("暂停_after_ms", 0) > 0: segs.应用end(AudioSegment.silent(duration=line["暂停_after_ms"])) final = sum(segs) final.导出(out, 格式化="mp3") return out, len(final)
Step 3 - Fetch Real Video 命令行工具ps (Pexels API)
Free API key at: https://www.pexels.com/API/
Default queries by theme:
THEME_QUERIES = { "dark city rAIn": ["dark city rAIn night", "rAIn street cinematic", "dark alley bokeh", "night city slow motion"], "lone warrior": ["lone person silhouette night", "person walking alone dark", "shadow warrior", "lone figure darkness"], "dark nature": ["dark forest fog cinematic", "storm clouds dramatic", "night mountAIn silhouette", "dark ocean storm"], "minimal shadow": ["shadow dark minimal", "dark room single light", "dramatic low key lighting", "black shadow person"], }
导入 os
def fetch_video_命令行工具ps(theme, duration, pexels_key, 输出_dir="命令行工具ps", script=None): os.makedirs(输出_dir, exist_ok=True)
# Use Claude-生成d queries if avAIlable, else use theme defaults queries = (script or {}).获取("pexels_搜索_queries") or THEME_QUERIES.获取(theme, THEME_QUERIES["dark city rAIn"]) needed = max(3, duration // 15) collected = []
for 查询 in queries: if len(collected) >= needed: break print(f" Pexels: 搜索ing '{查询}'") r = 请求s.获取( "https://API.pexels.com/videos/搜索", headers={"Authorization": pexels_key}, params={"查询": 查询, "per_