HEINOUX Journal Portfolio

Journal

Building a Cinematic AI Portfolio with Seedance 2.0: Full Case Study

How I built a scroll-scrubbed cinematic portfolio with Seedance 2.0: identity-locked AI video across three clips, a 121-frame canvas hero, and the production bugs nobody warns you about. Real numbers included.

By · · 2 min read

Building a Cinematic AI Portfolio with Seedance 2.0: Full Case Study

The brief I set myself: an award-show style portfolio where the central 3D element is me. A camera orbits around me as you scroll, my name tracks in letter by letter, and two more AI-generated films anchor the content sections. Everything on the finished site was generated, coded, debugged and deployed in a single day. This is the full build log.

What is Seedance 2.0?

Seedance 2.0 is ByteDance's reference-driven video generation model. It accepts image, video and audio references, holds character identity across generations, and outputs 4 to 15 second clips at up to 4K in standard mode. That reference-driven part is the entire reason this project works: a portfolio starring an AI-generated stranger would be pointless.

The identity lock: one face across three clips

The single most important decision came before any prompt was written. I created a reusable character element from clear reference photos of myself, then attached that same element to every generation. Text descriptions alone will not hold a face steady across clips; a pinned reference will.

Two practical lessons from this step:

The numbers

Item Value
Clips generated (final set) 3 x 8s, 1080p, 16:9
Hero frame sequence 121 JPEG frames, 15fps, 1920px wide
Frame sequence weight 5.3 MB total
Video weight after remux 7.8 + 6.5 + 6.1 MB
Full build, prompt to production URL 1 day

The deploy bug that made every video look broken

After deploying behind a CDN, all three videos stopped playing while every other asset worked. The generated MP4s stored their moov atom at the end of the file, and the CDN cache answered range requests with a full response instead of partial content. Browsers need the index before they can start playback. The fix takes one ffmpeg flag: remux with -movflags +faststart so the index sits in the first 2 KB.

If you publish AI video to the web, make faststart a non-negotiable export step.

Want this kind of build for your business?

I build AI systems, custom company dashboards and automation for growing businesses. NexBDM starts every engagement with a free automation autopsy: we find where your business bleeds time and money, then show you exactly what to fix first.

Want this kind of build for your business?

I build AI systems, custom company dashboards and automation for growing businesses.

Get your autopsy Email me