Summary
scroll-world (oso95, MIT) makes scroll-scrubbed 3D landing pages — a candidate capability for turning a client's business into a scrollable "fly-through" hero. The skill is installed globally but is hard-wired to Higgsfield (paid, ~$49/mo for usable credits). This issue logs research showing a fully free build is feasible by swapping only the video-generation step, and captures the decision points for when we revisit.
Status: deferred (research only — do not implement yet).
Why it's cheap to make free: the skill is ~90% provider-agnostic
The only Higgsfield-specific piece is the "box" that turns (prompt + start-image [+ end-image] + duration + aspect) → an .mp4. Everything else is reused verbatim:
- Stills already have a built-in free path —
STILLS_SOURCE=codex routes image gen through the Codex CLI's image_gen (same gpt-image-2 model) billed to a ChatGPT subscription, zero Higgsfield credits.
- ffmpeg frame-extraction + the scrubbing encode are provider-agnostic (operate on any
.mp4).
scrub-engine.js (the runtime) consumes only .webp stills + .mp4 clips via a fixed config contract; it has no idea what generated them (loads clips as Blobs, scrubs currentTime).
- Fixed filename handoff convention:
dive_<name>.mp4, conn_<i>.mp4, first_<name>.png, last_<name>.png → assets/vid/<name>.mp4, assets/vid/conn<i>.mp4.
So the entire task is: replace the higgsfield generate create ... video calls with a free generator that honors a locked start frame (and, for style B, a locked end frame), writing to the same filenames. Frame-extraction → encode → engine wiring all stay as-is.
The three Higgsfield call sites to replace (from references/pipeline.md):
- stills:
higgsfield generate create gpt_image_2 ... → already swappable via Codex
- dives/legs:
higgsfield generate create $VMODEL --start-image still_$n.png ...
- connectors (style B only):
... --start-image last_$prev.png --end-image first_$n.png ...
Free video-generation options (researched for an 8 GB RTX 3070 Ti)
Camera styles (per-project choice — support both):
- A — continuous forward walkthrough: one camera glides forward; start-frame only, no connectors. Simplest/cheapest. Most free tools do this.
- B — diorama dive + aerial connector (the signature "Emons miniature world" look): needs start and end frame conditioning for connectors. Harder, but doable free via LTX-Video.
Local (free forever, unlimited, no watermark, commercial-OK):
| Model |
Style A (start-only) |
Style B (start+end) |
8 GB practical |
Notes |
| LTX-Video 0.9.7 / 2.3 GGUF |
✅ |
✅ (LTXVAddGuide keyframes) |
✅ (2.3 Q5 → 720p) |
Best all-rounder; fastest; does both |
| FramePack / F1 |
✅ |
❌ |
✅ (runs on 6 GB) |
Best for the continuous forward take (A) |
| Wan 2.2 5B FLF2V |
✅ |
✅ |
✅ (~480p) |
Best motion quality that fits 8 GB |
| Wan 2.1/2.2 14B FLF2V |
✅ |
✅ |
⚠️ 480p, 20+ min/clip |
Quality king, impractical on 8 GB |
| CogVideoX-5B I2V |
✅ |
fork only |
✅ (offload) |
Dated/slower |
| SVD / SVD-XT |
✅ |
❌ |
✅ |
No prompt/end-frame; coarse |
| Mochi 1 / Hunyuan I2V |
— |
— |
❌ (needs 12–24 GB) |
Skip on 8 GB |
Cloud free tiers (faster/nicer now, but watermarked + non-commercial + small quota + manual):
| Service |
Start+end on free? |
Rough free limit |
| Kling ("Frames") |
✅ |
~66 credits/day (sources vary), 5 s/720p, watermark |
| Luma (Keyframes) |
✅ (+ text camera moves) |
~30 gens/mo |
| Vidu (First & Last Frame) |
✅ |
80 credits/mo + off-peak free gens |
| Hailuo/MiniMax |
newer vers |
~2–3/day |
| Google Veo 3.1 |
✅ (best quality) |
~10/mo |
| Runway |
keyframes |
one-time 125 credits only — not recurring |
Recommended approach (for when we revisit)
- Local ComfyUI + LTX-Video is the "free forever, no strings, commercial-OK" answer and supports both camera styles at up to 720p on the 3070 Ti. Cost = one-time setup + a few min/clip render time.
- Cloud free tier (Kling/Luma) is the fast-prototype / lower-effort path, but watermarked and non-commercial — fine for a look-test, not a client deliverable.
- Suggested first step when picked up: a 2–3 scene proof-of-concept (measure look + render time) before wiring a full multi-scene build. Build a
pipeline-free.md that mirrors the skill's steps but swaps the video box; keep Codex stills + all ffmpeg/engine steps unchanged.
Current environment state (as of this ticket)
- ✅
scroll-world skill installed: ~/.claude/skills/scroll-world/ (SKILL.md + references)
- ✅
ffmpeg / ffprobe installed (7.1.5)
- ✅ Codex CLI present (free stills path)
- ✅ Higgsfield CLI installed (
@higgsfield/cli 1.1.19) but NOT subscribing ($49/mo declined)
- 🎯 GPU: NVIDIA RTX 3070 Ti, 8 GB — caps local gen to ~480–720p
- Source transcript for the skill lives in the
TranScripts repo: Claude/Skills/scroll_world_3d_brand_skill_hyperautomation.{txt,md}
Open decisions to revisit
- Video route: local LTX-Video (recommended) vs cloud free-tier vs hybrid.
- Camera style is per-project (A or B) — pipeline must support both.
- Scope: PoC (2–3 scenes) first, then full build.
- Whether this becomes a reusable ScriptHammer-family tool/skill or stays a one-off.
Key sources
Logged by Claude Code from a research session in the TranScripts repo. Camera-style choice (A vs B) is per-project, so a future pipeline must support both.
Summary
scroll-world(oso95, MIT) makes scroll-scrubbed 3D landing pages — a candidate capability for turning a client's business into a scrollable "fly-through" hero. The skill is installed globally but is hard-wired to Higgsfield (paid, ~$49/mo for usable credits). This issue logs research showing a fully free build is feasible by swapping only the video-generation step, and captures the decision points for when we revisit.Status: deferred (research only — do not implement yet).
Why it's cheap to make free: the skill is ~90% provider-agnostic
The only Higgsfield-specific piece is the "box" that turns (prompt + start-image [+ end-image] + duration + aspect) → an
.mp4. Everything else is reused verbatim:STILLS_SOURCE=codexroutes image gen through the Codex CLI'simage_gen(same gpt-image-2 model) billed to a ChatGPT subscription, zero Higgsfield credits..mp4).scrub-engine.js(the runtime) consumes only.webpstills +.mp4clips via a fixed config contract; it has no idea what generated them (loads clips as Blobs, scrubscurrentTime).dive_<name>.mp4,conn_<i>.mp4,first_<name>.png,last_<name>.png→assets/vid/<name>.mp4,assets/vid/conn<i>.mp4.So the entire task is: replace the
higgsfield generate create ...video calls with a free generator that honors a locked start frame (and, for style B, a locked end frame), writing to the same filenames. Frame-extraction → encode → engine wiring all stay as-is.The three Higgsfield call sites to replace (from
references/pipeline.md):higgsfield generate create gpt_image_2 ...→ already swappable via Codexhiggsfield generate create $VMODEL --start-image still_$n.png ...... --start-image last_$prev.png --end-image first_$n.png ...Free video-generation options (researched for an 8 GB RTX 3070 Ti)
Camera styles (per-project choice — support both):
Local (free forever, unlimited, no watermark, commercial-OK):
LTXVAddGuidekeyframes)Cloud free tiers (faster/nicer now, but watermarked + non-commercial + small quota + manual):
Recommended approach (for when we revisit)
pipeline-free.mdthat mirrors the skill's steps but swaps the video box; keep Codex stills + all ffmpeg/engine steps unchanged.Current environment state (as of this ticket)
scroll-worldskill installed:~/.claude/skills/scroll-world/(SKILL.md + references)ffmpeg/ffprobeinstalled (7.1.5)@higgsfield/cli1.1.19) but NOT subscribing ($49/mo declined)TranScriptsrepo:Claude/Skills/scroll_world_3d_brand_skill_hyperautomation.{txt,md}Open decisions to revisit
Key sources
Logged by Claude Code from a research session in the TranScripts repo. Camera-style choice (A vs B) is per-project, so a future pipeline must support both.