Overview

Every Bluma workspace requires a template.config.ts file that defines how your video template works. This file configures:
  • Which AI services your template needs (script generation, voice, images, etc.)
  • How those services should be configured
  • How to transform service results into Remotion props
  • Video output settings (duration, resolution, fps)
Your template.config.ts must pass validation before your workspace can render videos. Common errors are listed at the bottom of this page.

Basic Structure

Required Services

The requiredServices object specifies which AI services your template uses:
When you enable a service, you must provide its corresponding config. For example, if frameExtraction: true, you must include frameExtractionConfig.

Service-Specific Configs

frameExtractionConfig

Required when: requiredServices.frameExtraction: true Extracts frames from source videos for use in compositions.

scriptConfig

Required when: requiredServices.scriptGeneration: true

voiceConfig

Required when: requiredServices.voiceGeneration: true

imageConfigs

Required when: requiredServices.imageGeneration: true or requiredServices.bulkImageGeneration: true

backgroundConfig

Required when: requiredServices.backgroundProcessing: true

Duration Configuration

Control video length with the durationConfig:

Transform Function

The transformToRemotionProps function converts service results into Remotion props:

Common Validation Errors

Problem: You set requiredServices.frameExtraction: true but didn’t provide the config.Solution: Add the frameExtractionConfig object:
Problem: You enabled script generation but didn’t configure it.Solution: Add scriptConfig with at least model and systemPrompt:
Problem: Voice generation is enabled without configuration.Solution: Add voiceConfig:
Problem: The transform function is missing or not a function.Solution: Add the transform function:
Problem: Missing Remotion component reference.Solution: Add both fields:

Complete Example

Here’s a minimal working template config:

Need Help?

Template Examples

Browse working template examples on GitHub

Discord Community

Get help from the Bluma developer community