SuperAPI AI Directory

finance-explainer

Design & creation

View repository

Updated 10-26 19:51

About this skill

Finance explainer studio (Xiao Lin Talks style)

Turn a finance/tech topic into a 2–25 minute horizontal explainer video: a host with a real-human feel sits in a study and talks, with charts, documents, B-roll, and memes, and the camera cuts back and forth between "host full screen" and "host shrunk to a small window with graphics beside them."

The full channel teardown (160 videos' metadata, statistics on 97 subtitles, frame-by-frame classification of 6 videos) is in references/channel-teardown.md, web version report:https://claude.ai/artifact/EzcUvSJmVqgFJBGpfn3G3Y

Red lines (apply every time)

  • **Do not impersonate a real person.** Digital humans use only original likenesses: pure text generation, or photos of the user themselves / people who have clearly consented. Do not use the faces of real creators (including Xiao Lin herself), the same face with altered hair or glasses, or voices cloned from their videos—screenshot-style "authorization" and watermarks or disclaimers do not change this. If the user insists, explain why and offer an original alternative.
  • **Do not copy content.** Scripts, sets, and visuals are all original; learn only the structure and techniques. Do not use film/TV clips or news-broadcast footage; for real people use freely licensed photos or text name cards.
  • **Every number has a source.** Every entry in the fact list facts.md carries a date + source URL; numbers in the script must be findable in the list; anything that cannot be found gets ⚠ and does not go into the script. Where things are uncertain, have the host say outright "I couldn't find this"—that itself is a real-human-feel technique.
  • **Generation costs the user credits.** Before any Renoise create_tasks, present the model, prompt, parameters, quantity, the total estimate_cost, and the balance, and wait for the user's explicit consent in the conversation. Lip-sync videos depend on the final audio: before the audio is finalized, do not do lip-sync for the whole video (you would pay twice).

Workflow

0. Preparation

  • Retrieval keys are in ~/.config/xiaolin-explainer/keys.env(EXA / TAVILY / SERPER / FIRECRAWL / UNSPLASH / optional PEXELS, PIXABAY). Only read this file; do not scan the system for keys.
  • Engine:bash scripts/setup_engine.sh <项目目录>(copy templates/engine, prefer cloning node_modules from an existing local Remotion project cp -c , fall back to npm install if that fails).

1. Topic selection (references/topic-and-titles.md)

Only proceed if the five-item scorecard is ≥3; give 3 candidate titles ("understand in one go + big subject", "[Hardcore]", "with numbers", "question + vertical-bar hook"). Confirm the length: the full version at 15–25 minutes performs best; for a demo/first run, do 2 minutes first.

2. Fact list

python3 scripts/research.py multi "<查询>" Find leads → open the original text to verify (research.py scrape <url>) → write facts.md: grouped, each entry "fact (exact numbers) — date — source + URL", and at the end write "places easy to get wrong". You can dispatch sub-agents to search in parallel, but after they report back, spot-check the key numbers yourself.

3. Script = shot list episode.json (references/narrative-playbook.md + episode-schema.md)

  • Choose a skeleton: A crisis/blowup type (how it died), B acquisition/strategic-game type (how it was fought), C paradox type (why it is counterintuitive).
  • Each shot has one segment of narration + one main visual (host: full/side/pip/off, or stage charts, bg B-roll) + several overlay cards; in the narration use [[cue]] to mark beat points.
  • Copy metrics: finished video at about 6 characters/second (recording about 4.8), 1–2 rhetorical questions per minute, 3–4 numbers with reference points, 1 English term; include at least 3 human-feel techniques (opening personal state / voicing the audience's doubt / anthropomorphic monologue / everyday analogy / admitting not having found it / guessing-game pause / answer first / callback at the end).
  • Also export a recording script (one paragraph per beat, remove cue markers, state the reading clearly: English abbreviations, numeric years).

4. Voice

  • Preferred: host self-recording.python3 scripts/align_recording.py 录音.m4a episode.json voice/ → sentence-by-sentence alignment, redo flubbed lines and keep only the last take, compress long pauses within a beat to 0.16 seconds, output timings.json. In the report, beats marked ⚠ (alignment <80%) must be listened to manually.
  • Placeholder:python3 scripts/narrate_mimo.py narration.json voice --gap 0.22 --lead 0.3(MiMo preset voice, tone notes written into voice.style). A placeholder is just a placeholder; after swapping in real-human audio for the final version, the whole pipeline stays the same.

5. Digital human (references/production.md)

  • Character portrait: Seedream 5.0 Pro 16:9 2k (≈6), medium shot in a study, blank space on both sides for charts, with signature props (neon name sign, plush toy). If the user provides an original face, use it as the reference image; otherwise generate from text only.
  • **Option W (Wan 3.0, audio-driven, cheap):** reference image + the beat's audio → lip sync follows the sound; 480p ≈ 6 credits/second. In the output, audio lags the picture by 0.23 seconds; set host.json's offset to 0.23. Downsides: the gaze looks a bit lifeless, details are so-so.
  • **Option G (Grok Video 1.5, native speech, more vivid):** one image + lines written into the prompt → built-in speech and lip sync; 720p 15 seconds 255. Then use Seed Audio to do "keep the rhythm, swap the timbre" and replace with the host's voice. Suitable for full-screen close-up shots.
  • For the small window (pip), just rotate 3 generic 10-second talking loops; saves about 40% of lip-sync cost.
  • First do a 10-second test: extract frames and check whether the mouth is closed at pauses and whether the character is distorted, then batch.

6. B-roll / memes / stickers

  • B-roll: Renoise Wan 3.0 480p 5–10 seconds (audioGeneration=false), write "no text no logo" in the prompt; or scripts/fetch_stock.py <id> "<关键词>" engine/public/assets --kind photo|video(automatically logged to credits.json, credited at the end).
  • Memes: original short clips (e.g. "a group of little robots surrounding a big robot"), no film/TV clips.
  • Cartoon stickers: grok-image on a pure green background → key out green into transparent PNG (script in production.md).

7. Compositing

python3 scripts/build_timeline.py episode.json voice/timings.json <engine>/public --assets assets.json --host host.json --bgm music/bgm.mp3 --badge "…" → npx remotion still Episode out/x.jpg --frame=N extract frames for inspection (including transition intermediate frames) → npx remotion render Episode out/raw.mp4 --concurrency=6 → ffmpeg loudnorm=I=-16 + CRF 21 final render.

8. QA checklist

Subtitles split by the original punctuation and ≤13 characters; cards don't cover subtitles and don't go out of frame; no ghosting in the intermediate frames of host scaling transitions; lip-sync clips aligned (offset); numbers consistent with facts.md; corner badge/disclaimer present; loudness -16 LUFS; end credits list sources of materials and data.

Directory

  • references/channel-teardown.md — channel data and conclusions
  • references/topic-and-titles.md — topic scoring card, title formulas
  • references/narrative-playbook.md — three skeletons, human-feel techniques, language habits, copy metrics
  • references/visual-grammar.md — 16 visual grammars ↔ engine components ↔ shot-list fields
  • references/episode-schema.md — episode.json / host.json / assets.json fields
  • references/production.md — two digital-human options, Renoise prompts and pricing, material sources and licensing, keying, rendering and pitfalls
  • scripts/ — research.py, fetch_stock.py, narrate_mimo.py, align_recording.py, build_timeline.py, setup_engine.sh; channel analysis tools classify.py / sheet.py / copy_stats.py / vtt2txt.py (used when breaking down other channels)
  • templates/engine — Remotion engine (Episode composition, Host, Stage, Overlays, Misc components, two generations of themes)
  • examples/ai-chips — "China can't buy top-tier GPUs, so why is it still the world's second-largest AI power": facts.md, 10-minute shot list, 2-minute shot list, recording script; examples/svb — Silicon Valley Bank 3.5-minute shot list