---
name: range-budget
description: Turn two estimate items into an animated lower-to-upper range with independent synchronized counters.
version: 1.0.5
category: video
delivery: download-only
---

# Range Budget

Make a seven-second estimate film: two item receipts arrive in sequence, a separate result panel opens below them, then its two numerical bounds count together and hold for reading. Projects are editable HTML, CSS, JSON and real GSAP timelines, rendered with HyperFrames at 1920×1080, 30 fps.

## Example

For a community garden, show bed materials at $220–340 and growing supplies at $80–130, then an illustrative combined budget of $300–470. Label estimates honestly. Example media are delivered separately from this generic package.

## Run

Use Node.js 22.14.0 and FFmpeg. Install dependencies with `npm install --ignore-scripts`. No account or API key is required. The first HyperFrames render may download its browser and encoder.

Write your own JSON brief following references/input.md, then run:

```sh
node scripts/create.mjs --input brief.json --out project
node scripts/render.mjs --project project
```

The renderer writes project/video.mp4 and project/poster.png. It uses a single worker with a four-minute deadline, and propagates renderer failures as a nonzero exit. For visual editing, use `npx hyperframes preview project`; inspect and render with the fixed installed version.

## Authoring

This is a parameterized renderer for exactly two item receipts and an independent result interval, not arbitrary scene authoring. Keep the item sequence before the result panel, the two endpoint tweens synchronized, and at least two seconds of settled reading time. Bounds are independently supplied; the renderer does not infer or verify arithmetic. Ensure labels and any financial claims fit the current brief. See references/direction.md.

## Verification and limits

Inspect actual encoded frames at entry, each reveal, mid-count and final hold; test forward and backward seeking including zero. Use at least two different subjects and a fresh CJK brief. Check full decode, dimensions, duration, values and text bounds. A successful encode does not establish listening, visual quality or user acceptance. Output is silent; no soundtrack or audio editor is provided.

## FAQ

- Can I change units? Yes: currency, hours, materials or another explicitly labeled interval.
- Can I use Chinese? Yes. Local Noto Sans SC is included, with Manrope for Latin text. Supplied text is validated for length; inspect uncommon glyphs.
- Can I use other colors? Select one of four themes in the input. All use identical motion.
- Why did generation stop? Invalid bounds, unsupported themes, too many items, oversized copy and missing input produce an error. Fix the brief and retry. Rendering failures remain failures.
- Is this a quotation? No. Brief values and claims are the author's responsibility.
