Skip to content

"Alpha channel (transparent WebM) is not composited during render — shows opaque black instead #3220

Description

@Didi-1962

Describe the bug

Per the "Remove Background" guide (https://hyperframes.heygen.com/guides/remove-background), a transparent VP9 WebM placed in a

Environment

  • hyperframes CLI: 0.7.106
  • OS: Ubuntu (WSL2)
  • Node: v22.23.2
  • Render mode: local (npx hyperframes render -o output.mp4), default settings
  • Also reproduced via HeyGen's cloud renderer (POST /v3/hyperframes/renders, format: "mp4") — same result

Repro See linked repo. Two test videos: a solid-color opaque clip composites correctly (top layer shows properly over bottom layer — rules out a data-track-index/z-index/stacking issue). Swapping the top layer for a confirmed-alpha WebM (alpha_mode=1 tag verified via ffprobe) makes the "transparent" region render as solid black instead of showing the background layer through it.

Expected Red square visible, floating over the green background clip everywhere else.

Actual Red square visible, but everywhere else is solid black — the green background is completely hidden.

Question Is there an additional attribute/setup required for a

Link to reproduction

https://github.com/Didi-1962/hyperframes-alpha-bug-repro

Steps to reproduce

  1. Clone the repo above
  2. cd into the repo
  3. Run npx hyperframes render -o output.mp4
  4. Extract a frame from output.mp4 partway through (e.g. ffmpeg -i output.mp4 -vf "select=eq(n\,50)" -vframes 1 frame.png)
  5. Observe: red square visible, but background is solid black instead of the green broll.mp4 showing through

Expected behavior

Red square visible, floating over the green background clip everywhere else.

Actual behavior

Red square visible, but everywhere else is solid black — the green background is completely hidden.

Environment

- hyperframes CLI: 0.7.106
- OS: Ubuntu (WSL2 on Windows)
- Node: v22.23.2
- Render mode: local (Puppeteer + system FFmpeg), default settings
- Also reproduced via HeyGen's cloud renderer (POST /v3/hyperframes/renders, format: "mp4") with the same composition — same result

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions