---
title: "Get caption style"
method: GET
path: "/projects/{projectId}/captions/style"
tags: ["Captions and Themes"]
---

# Get caption style

`GET /projects/{projectId}/captions/style`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/projects/{projectId}/captions/style`
- Auth: API key in header `Authorization`

Get caption style.

## Path parameters

- `projectId` string, required

## Response `200`

Successful response

- object
  - `success` boolean, required
  - `settings` object, required
    - `fontSize` number, required
    - `fontFamily` string, required
    - `fontWeight` string, required
    - `fontStyle` 'normal' | 'italic', nullable
    - `textAlign` string, required
    - `lineHeight` number, required
    - `letterSpacing` number, required
    - `wordSpacingPx` number, nullable
    - `color` string, required
    - `backgroundColor` string, required
    - `backgroundShape` 'per-line' | 'block'
    - `backgroundJoinStyle` 'connected' | 'reverse-radius', nullable
    - `borderRadius` number, required
    - `border` string
    - `paddingPx` number, nullable
    - `paddingXPx` number, nullable
    - `paddingYPx` number, nullable
    - `textFillStyle` 'solid' | 'gradient'
    - `textGradientFrom` string
    - `textGradientTo` string
    - `textGradientAngleDeg` number
    - `textGradientStops` string, nullable
    - `textGradientColorSpace` 'srgb' | 'oklch' | 'hsl' | 'lab', nullable
    - `textStrokeEnabled` boolean, required
    - `textStrokeColor` string, required
    - `textStrokeWidthPx` number, required
    - `textStrokeBlurPx` number, required
    - `textShadow` string, required
    - `shadowMode` 'text-shadow' | 'drop-shadow', nullable
    - `position` string, required
    - `customPositionY` number, nullable, required
    - `showActiveWord` boolean, required
    - `activeWordScale` number, nullable
    - `activeWordTransition` 'spring' | 'instant'
    - `activeWordLayout` 'reserved' | 'reflow'
    - `captionMotion` 'none' | 'tremble'
    - `activeWordColor` string, required
    - `activeWordBackgroundColor` string, required
    - `activeWordAnimation` string, required
    - `activeWordHoldMs` number
    - `spokenWordColorDurationMs` number, nullable
    - `emojiOverlaySizePx` number, nullable
    - `showEmojiOverlay` boolean
    - `wordRevealAnimation` string, required
    - `revealMode` 'single' | 'sequential' | 'static'
    - `paragraphReveal` 'sequential' | 'static'
    - `paragraphMode` 'off' | 'auto' | 'manual'
    - `paragraphTransition` 'fade' | 'slide-up'
    - `paragraphFadeMs` number
    - `pageCombineMs` number
    - `textTransform` 'none' | 'uppercase'
    - `maxLinesPerCaption` number, required
    - `wordsPerLineLimit` number, nullable, required
    - `backgroundFillStyle` 'solid' | 'gradient'
    - `backgroundGradientFrom` string, nullable
    - `backgroundGradientTo` string, nullable
    - `backgroundGradientAngleDeg` number, nullable
    - `backgroundGlowColor` string, nullable
    - `backgroundGlowBlurPx` number, nullable
    - `marginBottomPx` number, nullable
    - `emphasisEnabled` boolean
    - `emphasisFontFamily` string, nullable
    - `emphasisColor` string, nullable
    - `emphasisScale` number, nullable
    - `emphasisFontWeight` string, nullable
    - `emphasisFontStyle` 'normal' | 'italic', nullable
    - `lineWrap` 'balanced' | 'greedy'
    - `customPositionAnchor` 'top' | 'center'
    - `emphasisBackgroundColor` string, nullable
    - `emphasisStrokeEnabled` boolean
    - `emphasisStrokeColor` string, nullable
    - `emphasisStrokeWidthPx` number, nullable
    - `emphasisGlowColor` string, nullable
    - `emphasisGlowBlurPx` number, nullable
    - `emphasisRotationDeg` number, nullable
    - `emphasisAnimation` 'none' | 'fade' | 'scale' | 'slide-up' | 'slide-left' | 'slide-mix' | 'pop' | 'drop' | 'slam' | 'typewriter' | 'glitch' | 'mask-reveal' | 'bounce-up' | 'split-reveal', nullable
  - `look_id` string, nullable, required
  - `preset_id` string, nullable, required
  - `hint` string

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `500`: Internal server error

---

[API](https://skmtc.dev/blitzreels/apis/blitzreels-api.md) · [All operations](https://skmtc.dev/blitzreels/apis/blitzreels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blitzreels/apis/blitzreels-api/revisions/35608b12471d?raw)
