Skip to main content
A HyperFrames template is a composition with declared variables. The same project can produce many videos without rewriting its HTML. Use this guide after deploying the AWS Lambda render stack.

Declare the inputs

Declare variables on the document, then bind them in the composition. This example exposes a headline and accent color:
See Variables for every type and binding method.

Test locally

Render one realistic payload before using cloud infrastructure:
--strict-variables rejects undeclared keys and values with the wrong type.

Render one version on Lambda

Without --wait, the command returns a render ID. Check it later with:

Reuse the project upload

lambda render can upload the project for each call. For repeated renders, create a content-addressed site once:
Pass the returned ID with later renders:
An unchanged project keeps the same site ID and skips another S3 upload.

Render a batch

Create one JSON object per line. outputKey is required; variables and executionName are optional.
Start the batch:
The command uploads the project once and returns one manifest row per input line. A failure to start one row does not discard the other started renders. Validate the file without starting AWS executions:

Keep variables small

The complete Step Functions Standard execution input is limited to 256 KiB. HyperFrames checks this before starting the execution. Use variables for JSON data. Store images, audio, and video separately and pass their URLs instead of base64 content.

Control concurrency

Three settings control different layers: Start conservatively and measure a real composition before increasing them.

Use the SDK

For a backend service, @hyperframes/aws-lambda/sdk exposes deploySite, renderToLambda, and getRenderProgress. See the AWS package reference for the current types and a working example.