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

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

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

Update podcast auto-clips configuration

## Path parameters

- `podcastKey` string, required

## Request body

- PBAutoClipConfig — Podcast Auto-Clip Configuration model
  - `video` 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
  - `generate_chapters` boolean — Detect YouTube-style chapter boundaries via LLM and upload chapters.json
  - `clip_generation` string — Clip generation mode. "highlights" = top viral/engaging moments; "chapters" = one clip per chapter boundary (audio only, no transcript/video); "segments" = named broadcast blocks (Weather, Sports, Traffic, etc.); "none" = skip clip generation, produce chapters only
  - `max_clips` integer — Max number of clips to produce (flat mode only — ignored when `clip_groups` is set)
  - `min_clip_duration` number, double — Minimum clip length in seconds. Clips shorter than this are padded to center. Applies to highlights mode only. (flat mode default; each group can override)
  - `max_clip_duration` number, double — Maximum clip length in seconds. Clips longer than this are trimmed from the end. (flat mode default; each group can override)
  - `padding_seconds` number, double — Extra seconds added before/after each clip
  - `segment_types` string[] — List of broadcast segment names to look for (segments mode only). If empty, LLM infers from content. Fallback value for groups.
  - `clip_groups` PbClip[] — List of clip group configs. When set, overrides flat `max_clips`/`min_clip_duration`/`max_clip_duration` and produces multiple named groups of clips.
    - `label` string — Filename prefix for clips in this group (e.g. `"long"`, `"short"`). Defaults to `"g1"`, `"g2"`, ...
    - `video` 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
    - `clip_generation` string — Clip generation mode for this group. "highlights" = top viral/engaging moments; "chapters" = one clip per chapter boundary (audio only, no transcript/video); "segments" = named broadcast blocks (Weather, Sports, Traffic, etc.);
    - `count` integer — Number of clips to generate for this group. Overrides top-level max_clips
    - `min_clip_duration` number, double — Minimum clip length in seconds for this group. Overrides top-level min_clip_duration
    - `max_clip_duration` number, double — Maximum clip length in seconds for this group. Overrides top-level max_clip_duration
    - `segment_types` string[] — Segment type hints for this group (segments mode only)

## Response `200`

OK

---

[API](https://skmtc.net/zeno/apis/aggregators-api-service.md) · [All operations](https://skmtc.net/zeno/apis/aggregators-api-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeno/aggregators-api-service/versions/cf4d10f16c63/schema)
