---
name: question-bloom
description: Compose a short editorial question with a unified speech silhouette and a dimensional reaction image.
version: 1.0.3
---
# Question Bloom

Create a 1920 × 1080, 30 fps, 5.6 second reading beat. This is a parameterized HTML/SVG and GSAP composition rendered by HyperFrames. Supply a local JSON file with `prompt` (1–100 characters) and `palette` (`lagoon`, `plum`, `apricot`, or `ink`). Optional `portrait` points to an authorized raster image relative to that JSON. The bundled image is Microsoft Fluent Emoji, distributed under MIT; retain its notice.

Run `npm ci`, then `node compose.mjs brief.json output-directory`. Render with `node_modules/.bin/hyperframes render output-directory --output film.mp4 --fps 30 --quality high --strict --workers 1`.

Author a specific question that gives the viewer something useful to consider. Choose a question that works as one phrase and a reaction image with transparent background. Keep the supplied image's license with every distribution. The balloon body and curved tail form a single editable path; the tail points toward the image with clear separation. The phrase enters as a whole, followed by the reaction image. One slight turn leads into a still reading hold. The ending remains occupied for an editorial cut.

Manrope and Noto Sans SC fonts are embedded in generated HTML. Dependency versions are pinned in package-lock.json; internet access is needed for initial installation. Projects use local assets afterward. Chinese text selects Noto Sans SC. A layout pass shrinks text within a bounded range; inspect wrapping, tail clearance, entrance and final hold after any changes. Check the initial frame before seeking, forward/backward seeks and native-resolution video frames. Use two different English briefs and a separate Chinese regression input when validating a package change.

No audio is generated. An external editor may add separately authorized music or effects; report that as an additional workflow. Render success alone does not establish playback, listening or user acceptance.
