Skip to Content
System ReferenceConfiguration Reference

Configuration Reference

All channel behavior is controlled by three JSON configuration objects stored on each channel record. No code changes are needed to customize a channel — everything is database-driven.

What It Does

Configuration determines how every pipeline stage behaves for a given channel: which voice to use, how the video looks, whether to include background music, what subtitle style to apply, and more. Changing these settings immediately affects the next pipeline run without any redeployment.

voice_config

Controls text-to-speech generation.

FieldTypeDefaultDescription
voicestring"alloy"OpenAI TTS voice: alloy, echo, fable, nova, onyx, shimmer
speednumber1.0Speaking speed multiplier (0.25 to 4.0)

visual_config

Controls video composition, backgrounds, subtitles, and thumbnails.

Background Settings

FieldTypeDefaultDescription
background_colorstring"#1a1a2e"Hex color for solid background fallback
background_imagestringnullStorage path to a template background PNG
overlay_imagestringnullStorage path to a transparent overlay PNG

Slideshow Settings

FieldTypeDefaultDescription
slideshow_providerstringnullImage provider: "pexels" or null (disabled)
slideshow_image_countnumber5Number of images to fetch per video
slideshow_keywords_sourcestring"auto""auto" (extract from script) or "manual"
slideshow_manual_keywordsarray[]Manual keyword list (if source is manual)
slideshow_duration_per_imagenumberautoSeconds per image (auto-calculated if null)
slideshow_zoom_rangearray[1.0, 1.3]Ken Burns zoom min/max multiplier

Subtitle Settings

FieldTypeDefaultDescription
subtitle_colorstring"#ffffff"Main subtitle text color (hex)
subtitle_highlightstring"#e94560"Accent/highlight color for the currently spoken word
subtitle_stylestring"word_highlight"Subtitle mode: "word_highlight" or "simple"
fontstring"Montserrat-Bold"Font family for subtitles

Branding

FieldTypeDefaultDescription
accent_colorstring"#e94560"Brand accent color (thumbnail bar, UI highlights)

music_config

Controls optional background music mixed under the voiceover.

FieldTypeDefaultDescription
providerstringnullMusic provider: "jamendo" or null (disabled)
volumenumber0.15Music volume relative to voice (0.0 to 1.0)
fade_in_secondsnumber1.0Music fade-in duration at start
fade_out_secondsnumber2.0Music fade-out duration at end

Other Channel Fields

These are top-level fields on the channel record, not nested inside a config object:

FieldTypeDescription
namestringDisplay name (e.g., “Gaming”)
slugstringURL-safe identifier (e.g., “gaming”)
prompt_templatestringChannel-level context injected into all AI prompts
posting_cadencenumberTarget videos per day (controls topic selection count)
activebooleanWhether the channel is active in the pipeline

Where to Find It

  • Dashboard: Channel Settings page — each config section has its own tab (Voice, Visual, Music)
  • Database: channels table — voice_config, visual_config, and music_config columns

How It Works

When any pipeline stage runs, it reads the channel’s current configuration from the database. This means:

  1. You change a setting in the dashboard (e.g., switch voice from “alloy” to “nova”)
  2. The dashboard writes the updated voice_config JSON to the channels table
  3. The next pipeline run reads the new config and uses it

There is no caching or delay. Changes take effect on the very next pipeline execution.

Last updated on