---
title: "Update a project's active settings"
method: PATCH
path: "/projects/{projectId}/settings"
tags: ["Project Settings"]
---

# Update a project's active settings

`PATCH /projects/{projectId}/settings`

## Path parameters

- `projectId` string, required

## Headers

- `Idempotency-Key` string

## Request body

- UpdateProjectSettingsRequest
  - `presetId` string
  - `settings` object
    - `style` object
      - `aspectRatio` '16:9' | '9:16' | '4:3' | '1:1', required
      - `layout` object, required
        - `type` 'single' | 'duet' | 'karaoke' | 'scrolling' | 'multilingual' | 'chords', required
        - `autoSplitLongLines` boolean, required
        - `linesPerScreen` union, required
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
        - `alignment` 'top' | 'center' | 'bottom', required
        - `paddingHorizontal` number, required
        - `paddingVertical` number, required
        - `languageSpacing` number, required
        - `containerHeight` number, required
        - `scrollingFadeStrength` number, required
        - `lineTransition` 'none' | 'fade' | 'slide' | 'dim', required
        - `duetSettings` object
          - `overlapBehavior` 'both' | 'all-style', required
        - `multilingualSettings` object
        - `anticipationBuffer` number, required
      - `background` union, required
        - object
          - `type` 'auto', required
        - object
          - `type` 'color', required
          - `color` string, required
        - object
          - `type` 'gradient', required
          - `angle` number, required
          - `colors` string[], required
        - object
          - `type` 'image', required
          - `url` string, required
          - `objectFit` 'contain' | 'cover' | 'fill', required
          - `blur` number
          - `dim` number
        - object
          - `type` 'video', required
          - `url` string, required
          - `objectFit` 'contain' | 'cover' | 'fill', required
          - `dim` number
      - `singerTextStyles` object, required
      - `languageTextStyles` object
      - `chordTextStyle` object
        - `fontFamily` string, required
        - `fontSize` number, required
        - `fontWeight` number, required
        - `textColor` string, required
        - `outlineColor` string, required
        - `outlineWidth` number, required
        - `textEffect` 'none' | 'karaoke' | 'highlight', required
        - `activeLineColor` string, required
        - `effectColor` string, required
        - `backgroundColor` string, required
        - `letterSpacing` number, required
        - `lineSpacing` number, required
        - `textCase` 'none' | 'uppercase' | 'lowercase' | 'capitalize', required
        - `textDirection` 'auto' | 'ltr' | 'rtl', required
        - `shadowColor` string, required
        - `shadowBlur` number, required
        - `shadowOffsetX` number, required
        - `shadowOffsetY` number, required
        - `shadowOpacity` number
        - `duetPosition` 'top' | 'center' | 'bottom', required
      - `overlays` object, required
        - `branding` object, required
          - `logo` object, required
            - `enabled` boolean, required
            - `url` string
            - `position` 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right', required
            - `paddingX` number, required
            - `paddingY` number, required
            - `scale` number, required
            - `opacity` number, required
          - `intro` object, required
            - `enabled` boolean, required
            - `url` string
            - `durationSeconds` number, required
            - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
            - `effectDuration` number, required
          - `outro` object, required
            - `enabled` boolean, required
            - `url` string
            - `durationSeconds` number, required
            - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
            - `effectDuration` number, required
        - `titleCard` object, required
          - `enabled` boolean, required
          - `duration` number, required
          - `autoHideBeforeLyrics` boolean, required
          - `titleStyle` object, required
            - `fontFamily` string, required
            - `fontSize` number, required
            - `fontWeight` number, required
            - `textColor` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `artistStyle` object, required
            - `fontFamily` string, required
            - `fontSize` number, required
            - `fontWeight` number, required
            - `textColor` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
        - `leadIn` object, required
          - `enabled` boolean, required
          - `beats` number, required
          - `minGap` number, required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `width` number, required
          - `height` number, required
          - `offsetX` number, required
          - `offsetY` number, required
        - `instrumentalBreak` object, required
          - `hideLyrics` boolean, required
          - `minGap` number, required
          - `displayDuration` number, required
        - `breakCountdown` object, required
          - `enabled` boolean, required
          - `maxDuration` number, required
          - `animation` 'spring' | 'fade', required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `textSize` number, required
          - `hideBeforeEnd` number, required
        - `breakProgressBar` object, required
          - `enabled` boolean, required
          - `maxDuration` number, required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
            - `backgroundColor` string, required
            - `fillColor` string, required
          - `width` number, required
          - `height` number, required
          - `position` 'top' | 'center' | 'bottom', required
          - `cornerRadius` number, required
          - `hideBeforeEnd` number, required
      - `trim` object, required
        - `startSeconds` number, required
        - `endSeconds` number, required
    - `trim` object
      - `startSeconds` number, required
      - `endSeconds` number, required
    - `displayLanguages` string[]
    - `chordSettings` object
      - `displayMode` 'inline' | 'grid', required
      - `notation` 'chord_complex_pop' | 'chord_simple_pop' | 'chord_basic_pop' | 'chord_complex_jazz' | 'chord_simple_jazz' | 'chord_basic_jazz' | 'chord_complex_nashville' | 'chord_simple_nashville' | 'chord_basic_nashville' | 'chord_majmin', required
      - `transpose` integer, required
      - `capo` integer, required
      - `showLayer` boolean, required
    - `duetSingerFilter` object
      - `enabled` boolean, required
      - `selectedSingerIds` integer[], required
      - `includeSharedLines` boolean, required

## Response `200`

Updated project settings

- ProjectSettings
  - `presetId` string, required
  - `preset` object, required
    - `aspectRatio` '16:9' | '9:16' | '4:3' | '1:1', required
    - `layout` object, required
      - `type` 'single' | 'duet' | 'karaoke' | 'scrolling' | 'multilingual' | 'chords', required
      - `autoSplitLongLines` boolean, required
      - `linesPerScreen` union, required
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
      - `alignment` 'top' | 'center' | 'bottom', required
      - `paddingHorizontal` number, required
      - `paddingVertical` number, required
      - `languageSpacing` number, required
      - `containerHeight` number, required
      - `scrollingFadeStrength` number, required
      - `lineTransition` 'none' | 'fade' | 'slide' | 'dim', required
      - `duetSettings` object
        - `overlapBehavior` 'both' | 'all-style', required
      - `multilingualSettings` object
      - `anticipationBuffer` number, required
    - `background` union, required
      - object
        - `type` 'auto', required
      - object
        - `type` 'color', required
        - `color` string, required
      - object
        - `type` 'gradient', required
        - `angle` number, required
        - `colors` string[], required
      - object
        - `type` 'image', required
        - `url` string, required
        - `objectFit` 'contain' | 'cover' | 'fill', required
        - `blur` number
        - `dim` number
      - object
        - `type` 'video', required
        - `url` string, required
        - `objectFit` 'contain' | 'cover' | 'fill', required
        - `dim` number
    - `singerTextStyles` object, required
    - `languageTextStyles` object
    - `chordTextStyle` object
      - `fontFamily` string, required
      - `fontSize` number, required
      - `fontWeight` number, required
      - `textColor` string, required
      - `outlineColor` string, required
      - `outlineWidth` number, required
      - `textEffect` 'none' | 'karaoke' | 'highlight', required
      - `activeLineColor` string, required
      - `effectColor` string, required
      - `backgroundColor` string, required
      - `letterSpacing` number, required
      - `lineSpacing` number, required
      - `textCase` 'none' | 'uppercase' | 'lowercase' | 'capitalize', required
      - `textDirection` 'auto' | 'ltr' | 'rtl', required
      - `shadowColor` string, required
      - `shadowBlur` number, required
      - `shadowOffsetX` number, required
      - `shadowOffsetY` number, required
      - `shadowOpacity` number
      - `duetPosition` 'top' | 'center' | 'bottom', required
    - `overlays` object, required
      - `branding` object, required
        - `logo` object, required
          - `enabled` boolean, required
          - `url` string
          - `position` 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right', required
          - `paddingX` number, required
          - `paddingY` number, required
          - `scale` number, required
          - `opacity` number, required
        - `intro` object, required
          - `enabled` boolean, required
          - `url` string
          - `durationSeconds` number, required
          - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
          - `effectDuration` number, required
        - `outro` object, required
          - `enabled` boolean, required
          - `url` string
          - `durationSeconds` number, required
          - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
          - `effectDuration` number, required
      - `titleCard` object, required
        - `enabled` boolean, required
        - `duration` number, required
        - `autoHideBeforeLyrics` boolean, required
        - `titleStyle` object, required
          - `fontFamily` string, required
          - `fontSize` number, required
          - `fontWeight` number, required
          - `textColor` string, required
          - `outlineColor` string, required
          - `outlineWidth` number, required
        - `artistStyle` object, required
          - `fontFamily` string, required
          - `fontSize` number, required
          - `fontWeight` number, required
          - `textColor` string, required
          - `outlineColor` string, required
          - `outlineWidth` number, required
      - `leadIn` object, required
        - `enabled` boolean, required
        - `beats` number, required
        - `minGap` number, required
        - `useNextSingerStyle` boolean, required
        - `style` object, required
          - `color` string, required
          - `outlineColor` string, required
          - `outlineWidth` number, required
        - `width` number, required
        - `height` number, required
        - `offsetX` number, required
        - `offsetY` number, required
      - `instrumentalBreak` object, required
        - `hideLyrics` boolean, required
        - `minGap` number, required
        - `displayDuration` number, required
      - `breakCountdown` object, required
        - `enabled` boolean, required
        - `maxDuration` number, required
        - `animation` 'spring' | 'fade', required
        - `useNextSingerStyle` boolean, required
        - `style` object, required
          - `color` string, required
          - `outlineColor` string, required
          - `outlineWidth` number, required
        - `textSize` number, required
        - `hideBeforeEnd` number, required
      - `breakProgressBar` object, required
        - `enabled` boolean, required
        - `maxDuration` number, required
        - `useNextSingerStyle` boolean, required
        - `style` object, required
          - `color` string, required
          - `outlineColor` string, required
          - `outlineWidth` number, required
          - `backgroundColor` string, required
          - `fillColor` string, required
        - `width` number, required
        - `height` number, required
        - `position` 'top' | 'center' | 'bottom', required
        - `cornerRadius` number, required
        - `hideBeforeEnd` number, required
    - `trim` object, required
      - `startSeconds` number, required
      - `endSeconds` number, required
  - `settings` object, required
    - `style` object
      - `aspectRatio` '16:9' | '9:16' | '4:3' | '1:1', required
      - `layout` object, required
        - `type` 'single' | 'duet' | 'karaoke' | 'scrolling' | 'multilingual' | 'chords', required
        - `autoSplitLongLines` boolean, required
        - `linesPerScreen` union, required
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
        - `alignment` 'top' | 'center' | 'bottom', required
        - `paddingHorizontal` number, required
        - `paddingVertical` number, required
        - `languageSpacing` number, required
        - `containerHeight` number, required
        - `scrollingFadeStrength` number, required
        - `lineTransition` 'none' | 'fade' | 'slide' | 'dim', required
        - `duetSettings` object
          - `overlapBehavior` 'both' | 'all-style', required
        - `multilingualSettings` object
        - `anticipationBuffer` number, required
      - `background` union, required
        - object
          - `type` 'auto', required
        - object
          - `type` 'color', required
          - `color` string, required
        - object
          - `type` 'gradient', required
          - `angle` number, required
          - `colors` string[], required
        - object
          - `type` 'image', required
          - `url` string, required
          - `objectFit` 'contain' | 'cover' | 'fill', required
          - `blur` number
          - `dim` number
        - object
          - `type` 'video', required
          - `url` string, required
          - `objectFit` 'contain' | 'cover' | 'fill', required
          - `dim` number
      - `singerTextStyles` object, required
      - `languageTextStyles` object
      - `chordTextStyle` object
        - `fontFamily` string, required
        - `fontSize` number, required
        - `fontWeight` number, required
        - `textColor` string, required
        - `outlineColor` string, required
        - `outlineWidth` number, required
        - `textEffect` 'none' | 'karaoke' | 'highlight', required
        - `activeLineColor` string, required
        - `effectColor` string, required
        - `backgroundColor` string, required
        - `letterSpacing` number, required
        - `lineSpacing` number, required
        - `textCase` 'none' | 'uppercase' | 'lowercase' | 'capitalize', required
        - `textDirection` 'auto' | 'ltr' | 'rtl', required
        - `shadowColor` string, required
        - `shadowBlur` number, required
        - `shadowOffsetX` number, required
        - `shadowOffsetY` number, required
        - `shadowOpacity` number
        - `duetPosition` 'top' | 'center' | 'bottom', required
      - `overlays` object, required
        - `branding` object, required
          - `logo` object, required
            - `enabled` boolean, required
            - `url` string
            - `position` 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right', required
            - `paddingX` number, required
            - `paddingY` number, required
            - `scale` number, required
            - `opacity` number, required
          - `intro` object, required
            - `enabled` boolean, required
            - `url` string
            - `durationSeconds` number, required
            - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
            - `effectDuration` number, required
          - `outro` object, required
            - `enabled` boolean, required
            - `url` string
            - `durationSeconds` number, required
            - `effect` 'fade' | 'crossfade' | 'slide-left' | 'slide-right' | 'slide-up' | 'slide-down' | 'zoom-in' | 'zoom-out' | 'blur', required
            - `effectDuration` number, required
        - `titleCard` object, required
          - `enabled` boolean, required
          - `duration` number, required
          - `autoHideBeforeLyrics` boolean, required
          - `titleStyle` object, required
            - `fontFamily` string, required
            - `fontSize` number, required
            - `fontWeight` number, required
            - `textColor` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `artistStyle` object, required
            - `fontFamily` string, required
            - `fontSize` number, required
            - `fontWeight` number, required
            - `textColor` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
        - `leadIn` object, required
          - `enabled` boolean, required
          - `beats` number, required
          - `minGap` number, required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `width` number, required
          - `height` number, required
          - `offsetX` number, required
          - `offsetY` number, required
        - `instrumentalBreak` object, required
          - `hideLyrics` boolean, required
          - `minGap` number, required
          - `displayDuration` number, required
        - `breakCountdown` object, required
          - `enabled` boolean, required
          - `maxDuration` number, required
          - `animation` 'spring' | 'fade', required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
          - `textSize` number, required
          - `hideBeforeEnd` number, required
        - `breakProgressBar` object, required
          - `enabled` boolean, required
          - `maxDuration` number, required
          - `useNextSingerStyle` boolean, required
          - `style` object, required
            - `color` string, required
            - `outlineColor` string, required
            - `outlineWidth` number, required
            - `backgroundColor` string, required
            - `fillColor` string, required
          - `width` number, required
          - `height` number, required
          - `position` 'top' | 'center' | 'bottom', required
          - `cornerRadius` number, required
          - `hideBeforeEnd` number, required
      - `trim` object, required
        - `startSeconds` number, required
        - `endSeconds` number, required
    - `trim` object
      - `startSeconds` number, required
      - `endSeconds` number, required
    - `displayLanguages` string[]
    - `chordSettings` object
      - `displayMode` 'inline' | 'grid', required
      - `notation` 'chord_complex_pop' | 'chord_simple_pop' | 'chord_basic_pop' | 'chord_complex_jazz' | 'chord_simple_jazz' | 'chord_basic_jazz' | 'chord_complex_nashville' | 'chord_simple_nashville' | 'chord_basic_nashville' | 'chord_majmin', required
      - `transpose` integer, required
      - `capo` integer, required
      - `showLayer` boolean, required
    - `duetSingerFilter` object
      - `enabled` boolean, required
      - `selectedSingerIds` integer[], required
      - `includeSharedLines` boolean, required

---

[API](https://skmtc.net/youka/apis/youka-rest-api.md) · [All operations](https://skmtc.net/youka/apis/youka-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/youka/youka-rest-api/revisions/4695792173d5/schema)
