---
title: "PUT /podcast-bot/podcasts/{podcastKey}/videoConfig"
method: PUT
path: "/podcast-bot/podcasts/{podcastKey}/videoConfig"
tags: ["Podcast Bot"]
---

# PUT /podcast-bot/podcasts/{podcastKey}/videoConfig

`PUT /podcast-bot/podcasts/{podcastKey}/videoConfig`

## Request

- Base URL: `https://api.zeno.fm`
- URL: `https://api.zeno.fm/podcast-bot/podcasts/{podcastKey}/videoConfig`
- Auth: none declared
- TypeScript: <https://skmtc.dev/zeno/apis/aggregators-api-service/docs/podcast-bot/podcasts/:podcastKey/videoConfig/put.ts> (a function with typed inputs; its response is checked against the schema)

Update podcast video configuration

## Path parameters

- `podcastKey` string, required

## Request body

- PBVideoConfig: Video rendering config (CREATE_VIDEO renderer) — used by CREATE_VIDEO and AUTO_CLIP jobs
  - `style` 'waveformBars' | 'equalizer' | 'radialPulse' | 'hostSplit' | 'hostCentered' | 'podcastCardDotted': Template design
  - `font` 'inter' | 'oswald' | 'bebasNeue' | 'montserrat' | 'anton' | 'poppins': Font family
  - `showEqualizer` boolean: Show the audio-reactive visualizer
  - `fps` integer: Frames per second; 24/30 typical
  - `colors` Colors
    - `accent` string: Accent color (hex). Default "#D0021B"
    - `background` string: Background color (hex). Default "#F7F7F8"
    - `text` string: Text / caption color (hex). Default "#111111"
    - `barGradientFrom` string: Bar gradient start color (hex). Default "#D0021B"
    - `barGradientTo` string: Bar gradient end color (hex). Default "#8A0000"
  - `text` Text
    - `episodeLabel` string: Episode label, e.g. "EPISODE 42"
    - `title` string: Main title
    - `subtitle` string: Subtitle, e.g. guest name
    - `caption` string: Static caption line; shown when captions.synced == false. Ignored in synced mode.
  - `assets` Assets
    - `primaryLogo` string: Square podcast artwork
    - `secondaryLogo` string: Wordmark / corner logo
    - `hostPhoto` string: Host photo, used by hostSplit / hostCentered
  - `captions` Captions
    - `show` boolean: Master on/off for captions
    - `synced` boolean: true = word-timed karaoke captions synced to audio; false = show the static text.caption line the whole time. Only takes effect when show == true.
    - `embedded_srt_file` boolean: true = burn captions into the video frames; false = don't burn (SRT sidecar still uploaded). Applies to synced captions when show == true.
  - `aspect_ratios` string[]: One output MP4 per ratio

## Response `200`

OK

## Changes

- **2026-07-26** `cf4d10f16c63`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zeno/apis/aggregators-api-service/changes/podcast-bot/podcasts/:podcastKey/videoConfig/put.md)

---

[API](https://skmtc.dev/zeno/apis/aggregators-api-service.md) - [All operations](https://skmtc.dev/zeno/apis/aggregators-api-service/llms.txt) - [OpenAPI document](https://skmtc.dev/zeno/apis/aggregators-api-service/revisions/e6ef499b4111?raw)
