Seven original songs
31 minutes of music, presented as Lantern Hours. Each track has its own listening spot, with an album page for playing and keeping the recordings.
Seven songs. A forest full of glowing mushrooms. A full music video waiting inside. And a sweatshirt design to bring a piece of it home.
It started as a birthday present. It turned into The Night Is Yours—a music gift you can walk through. Here’s the finished digital build, how I made it, and a starter kit for making your own.

31 minutes of music, presented as Lantern Hours. Each track has its own listening spot, with an album page for playing and keeping the recordings.
A Three.js forest with mushroom lights, seven destinations, keyboard and touch controls, a map, and a cinema tucked inside the main venue.
A recurring fictional character moves through the festival. Twenty-seven source clips form a complete narrative over the unchanged Undertow recording.
An approved front-and-back sweatshirt concept: original mushroom artwork and a back layout of 16 artist logos. The printer inquiry is sent; manufacturing and a final quote are still pending.
10-second cinema screen recording with the original film audio.
The songs and film are finished files. Exploring the gift doesn’t generate anything or call a language model.
I started with musical tastes, a festival setting and recurring mushroom imagery. For your version, write down the recipient, emotional arc, musical ingredients, visual palette and final deliverables. Give your coding assistant those constraints before asking it to build anything. Start with one song and one listening spot.
I prepared lyrics and style directions, then used Suno’s interface to generate and choose the tracks. A saved vocal identity helped guide the set; listening was still necessary to judge consistency. Describe instrumentation, rhythm and vocal qualities. Keep the selected originals separate from editing copies.
Choose an approved fictional character reference and keep the face, wardrobe and lighting consistent. Mark the actual song duration on a timeline. Plan an arrival, exploration, moments of energy and an exit, with varied actions and camera angles. The shot-plan spreadsheet in the kit gives you the columns to start with.
I used Kling O3 Pro image-to-video through fal for the narrative footage, with native audio off. Generate a small batch from approved references, review it, then continue. Assemble accepted clips at normal speed over the complete original song. Check the ending, missing frames, identity drift and repeated footage.
Build the basic playback interaction first. The downloadable 2D starter lets you load your own songs and film locally, with one player active at a time. Then ask your coding assistant to expand the idea into a Three.js scene with seven destinations, movement, map travel and a plain HTML fallback. The finished gift uses that 3D approach.
Approve the front-and-back appearance, measure every print placement, then ask a printer whether the full layout fits its equipment and blank. My design is at that inquiry stage. For your own version, use original or licensed artwork and request a supported template, artwork acceptance, itemized delivered quote and final production proof before ordering.
Unconditioned mouth animation wasn’t synchronized singing. Two audio-conditioned tests also failed the bar: Sync-3 mishandled “under” in Undertow; LatentSync looked worse and returned only 4.48 seconds of a required five-second clip.
I stopped buying lip-sync experiments and changed the creative scope. The final film has a character walking, reacting and exploring, with no required singing shots. The entire song and every lyric remain in the soundtrack.
If you need visible singing, treat a complete, convincing sync pass as a separate requirement. These tests did not establish one.
Budget for rejected generations as well as usable footage. My recorded video production usage was $31.36, plus $0.87 for the two final audio-conditioned tests. Those figures are provider-derived estimates, not invoices or the whole project cost. Earlier experiments, subscriptions, hosting and the unquoted garment are separate. This is not a promise that someone else can reproduce the gift for $50.
Check current provider prices before running anything. Set a cap, track reserved and incurred costs separately, and require a deliberate decision before another attempt.

The free kit includes a working 2D listening prototype, seven adapted build prompts, a shot-plan CSV and a blank printer inquiry. Bring your own media and artwork. These are reusable teaching materials, not the complete production archive.
# Make a birthday world — reusable prompts These are adapted teaching prompts, not a verbatim session transcript. Replace brackets with your choices. Start with one song, one room and a short film before expanding. No provider calls run from this kit. ## 1. Creative brief Help me make a personal music gift for [recipient]. Ask about musical tastes, mood, recurring visual motifs and what must stay private. Turn the answers into a one-page brief, a track list with a distinct role for each song, and a list of deliverables. Translate influences into instrumentation, rhythm and mood. Do not invent memories, imply an artist endorsement or imitate a named singer. Separate planning from paid generation. My generation cap is [amount]; stop when it is reached. ## 2. Song direction Write original lyrics about [theme] and a concise style prompt for Suno. Use [tempo], [instruments], [groove], [vocal qualities] and [emotional arc]. Structure an intro, verses, chorus, bridge and complete ending. Avoid artist names in the style prompt. Keep one approved vocal identity as the reference; listen to each result for drift. Give me text to review before generation. ## 3. Character and scene reference Create a fictional adult character reference for [setting]. Keep a consistent face, hair, outfit and proportions across the reference sheet. Mood: [mood]. Palette: [palette]. No real-person likeness. After approval, use this same reference for every scene. Produce an opening frame with enough space for the planned action and camera movement. ## 4. Moving narrative shot Use my approved character and scene reference. [Character] walks from [start] toward [destination], glances at [detail] and continues naturally. The camera [tracks beside / follows behind / arcs slowly around] the character. Preserve face, wardrobe and scene lighting. Natural body movement and changing perspective. No singing, speech, lip-sync, frozen bodies or still-image zooms. Duration [seconds]. Generate native audio off; the approved song will be added during editing. ## 5. Full-song edit plan Using the actual [duration] of my locked song, create a continuous shot list. Include start/end time, character action, location, framing, camera movement, source clip, approved in/out points and acceptance status. Cover the entire song and ending without repeating loops, changing song speed or hiding missing footage. Vary the action. Count only approved footage as ready. Show the plan and cost allowance before generating. ## 6. Interactive world Build a static Three.js listening world around [theme] with [number] destinations. Each destination has a title, song and a clear listen control. Add keyboard/touch navigation, map shortcuts, reduced motion, lighter graphics, a cinema and a plain HTML listening page for fallback. Only one audio/video player should play at a time. Keep media local or on a public host. No runtime model calls or secret keys. Verify on desktop and phone-sized screens before publishing. ## 7. Garment concept Design a [garment/color] with an original [motif] at [placements]. Show front and back. Separate the visual mockup from print files. Record dimensions of visible ink and placement offsets; preserve source artwork. For a reusable design, use original or licensed graphics. Ask the printer for its supported print area and file requirements before claiming the design is ready to print.
The kit makes no paid API requests. Generate and approve your media in the tools you choose, then add it to your own project.