> ## Documentation Index
> Fetch the complete documentation index at: https://docs.captioncraft.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# List presets

> Discover the available caption presets.

This endpoint is public and does not require an API key. Use a returned `id` as the `preset` in a create request.

All 16 caption presets are available. Each entry returns its `defaults`, `supported_style_fields`, and `style_notes` so clients can discover which controls affect that preset. Nested defaults use the same shape as the request's `style`. `animation` describes the preset's fixed animation and is read-only.

See [Caption styles](/caption-styles) for style overrides and language settings.


## OpenAPI

````yaml openapi.json GET /v1/presets
openapi: 3.1.0
info:
  title: CaptionCraft API
  version: 1.0.0
  description: >-
    Create captioned MP4 videos from a video URL. Jobs are asynchronous. Poll
    every 5 seconds. Media is retained for 24 hours; request a fresh job
    response to retrieve result URLs. All word timestamps use seconds.
servers:
  - url: https://api.captioncraft.studio
security: []
paths:
  /v1/presets:
    get:
      summary: List available caption styles
      operationId: listPresets
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  presets:
                    type: array
                    items:
                      $ref: '#/components/schemas/Preset'
              example:
                presets:
                  - id: classic
                    name: Classic
                    description: White Inter captions with a dark outline.
                    animation: classic
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Inter
                      font_size: 111
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: small
                      line_count: 2
                      scale: 0.75
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 8
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: highlight
                    name: Highlight
                    description: Uppercase Rubik captions highlighting the current word.
                    animation: colorHighlight
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      highlight_color: '#ffff00'
                      font_family: Rubik
                      font_size: 92
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: medium
                      line_count: 2
                      scale: 0.7
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: true
                        color: '#3d3d3d'
                        blur: 7
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - highlight_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: Color of the active word.
                  - id: smash
                    name: Smash
                    description: >-
                      Outlined Paytone One captions that pop in one word at a
                      time.
                    animation: popIn
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Paytone One
                      font_size: 84
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: medium
                      line_count: 0
                      scale: 1
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 19
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      line_count: >-
                        Defaults to 0 (one word per cue). Set 1, 2 or 3 to group
                        words into lines.
                  - id: box
                    name: Box
                    description: Inter captions with a colored box behind the active word.
                    animation: boxHighlight
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      highlight_color: '#7447E3'
                      font_family: Inter
                      font_size: 111
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: small
                      line_count: 2
                      scale: 0.62
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: true
                        color: '#828282'
                        blur: 8
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - highlight_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: >-
                        Color of the box behind the active word; independent of
                        background.color.
                  - id: push
                    name: Push
                    description: >-
                      Uppercase Rubik captions with a green highlight and a
                      scale animation.
                    animation: colorHighlightScale
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      highlight_color: '#00ff4f'
                      font_family: Rubik
                      font_size: 113
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: small
                      line_count: 2
                      scale: 0.72
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 18
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - highlight_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: Color of the active word during the scale animation.
                  - id: elegant
                    name: Elegant
                    description: >-
                      Uppercase Inter captions that float into place with a soft
                      shadow.
                    animation: floatInTop
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Inter
                      font_size: 92
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: medium
                      line_count: 2
                      scale: 0.65
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: true
                        color: '#000000'
                        blur: 7
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: ogre
                    name: Ogre
                    description: >-
                      Green Caveat Brush captions that pop into the center of
                      the video.
                    animation: popIn
                    defaults:
                      position: center
                      horizontal_position: center
                      text_color: '#1c9311'
                      font_family: Caveat Brush
                      font_size: 144
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: small
                      line_count: 1
                      scale: 0.6
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#ffffff'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: outline
                    name: Outline
                    description: >-
                      Warm Rubik captions with a thick orange outline and
                      changing opacity.
                    animation: fillOpacity
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffe4bb'
                      font_family: Rubik
                      font_size: 82
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: large
                      line_count: 1
                      scale: 0.72
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#cb8003'
                        thickness: 20
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: paper-ink
                    name: PaperInk
                    description: Black Rubik captions on rounded white lines at the top.
                    animation: fillOpacity
                    defaults:
                      position: top
                      horizontal_position: center
                      text_color: '#000000'
                      font_family: Rubik
                      font_size: 82
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: large
                      line_count: 1
                      scale: 0.72
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: line-rounded
                        color: '#ffffff'
                        opacity: 1
                      outline:
                        color: '#cb8003'
                        thickness: 0
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: action
                    name: Action
                    description: >-
                      Italic Bebas Neue captions with an outline, shadow and
                      active-word color.
                    animation: colorHighlightAppear
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      highlight_color: '#FFFF00'
                      font_family: Bebas Neue
                      font_size: 122
                      font_weight: 700
                      font_style: italic
                      text_alignment: center
                      text_case: none
                      text_width: medium
                      line_count: 2
                      scale: 0.7
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 12
                      shadow:
                        enabled: true
                        color: '#000000'
                        blur: 0
                        distance: 12
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - highlight_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: Color of the active word as it appears.
                  - id: prompter
                    name: Prompter
                    description: >-
                      Centered Zilla Slab captions with a white outline and
                      active-word opacity.
                    animation: highlight
                    defaults:
                      position: center
                      horizontal_position: center
                      text_color: '#000000'
                      font_family: Zilla Slab
                      font_size: 98
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: medium
                      line_count: 1
                      scale: 0.66
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#ffffff'
                        opacity: 1
                      outline:
                        color: '#ffffff'
                        thickness: 17
                      shadow:
                        enabled: false
                        color: '#ff00c7'
                        blur: 10
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: >-
                        This preset highlights by opacity, so highlight_color
                        has no effect.
                  - id: storytelling
                    name: Storytelling
                    description: >-
                      Gold Instrument Serif captions with a red outline and
                      offset shadow.
                    animation: slideInLeft
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffbf00'
                      font_family: Instrument Serif
                      font_size: 124
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: medium
                      line_count: 2
                      scale: 0.68
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#ff0000'
                        thickness: 13
                      shadow:
                        enabled: true
                        color: '#ff0000'
                        blur: 0
                        distance: 14
                        angle: 51
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: karaoke
                    name: Karaoke
                    description: Rounded Coiny lettering with a progressive karaoke fill.
                    animation: twoToneFill
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      highlight_color: '#634afc'
                      font_family: Coiny
                      font_size: 99
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: small
                      line_count: 2
                      scale: 0.6
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#ffffff'
                        thickness: 18
                      shadow:
                        enabled: false
                        color: '#3d3d3d'
                        blur: 7
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - highlight_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      highlight_color: Progressive fill color of spoken words.
                  - id: glow
                    name: Glow
                    description: Rubik captions with a pink glow and a fade-in animation.
                    animation: fadeIn
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Rubik
                      font_size: 113
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: small
                      line_count: 2
                      scale: 0.65
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: true
                        color: '#ff00de'
                        blur: 12
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
                  - id: thin&bold
                    name: Thin&Bold
                    description: >-
                      Uppercase Inter captions with animated thin and bold
                      weights.
                    animation: bolder
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Inter
                      font_size: 92
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: uppercase
                      text_width: medium
                      line_count: 2
                      scale: 0.7
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: none
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: true
                        color: '#000000'
                        blur: 5
                        distance: 0
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes:
                      font_weight: >-
                        The animation uses weights 200 and 700; font_weight does
                        not change them.
                  - id: background
                    name: Background
                    description: Urbanist captions on a rounded black background.
                    animation: classic
                    defaults:
                      position: bottom
                      horizontal_position: center
                      text_color: '#ffffff'
                      font_family: Urbanist
                      font_size: 87
                      font_weight: 700
                      font_style: normal
                      text_alignment: center
                      text_case: none
                      text_width: large
                      line_count: 2
                      scale: 0.65
                      offset:
                        left: 0
                        right: 0
                      background:
                        type: box-rounded
                        color: '#000000'
                        opacity: 1
                      outline:
                        color: '#000000'
                        thickness: 0
                      shadow:
                        enabled: false
                        color: '#000000'
                        blur: 0
                        distance: 8
                        angle: 0
                    supported_style_fields:
                      - position
                      - horizontal_position
                      - text_color
                      - font_family
                      - font_size
                      - font_weight
                      - font_style
                      - text_alignment
                      - text_case
                      - text_width
                      - line_count
                      - scale
                      - offset
                      - background
                      - outline
                      - shadow
                    style_notes: {}
components:
  schemas:
    Preset:
      type: object
      required:
        - id
        - name
        - description
        - animation
        - defaults
        - supported_style_fields
        - style_notes
      properties:
        id:
          type: string
          enum:
            - classic
            - highlight
            - smash
            - box
            - push
            - elegant
            - ogre
            - outline
            - paper-ink
            - action
            - prompter
            - storytelling
            - karaoke
            - glow
            - thin&bold
            - background
        name:
          type: string
        description:
          type: string
        animation:
          type: string
          description: Animation selected by the preset; read-only.
        defaults:
          $ref: '#/components/schemas/SubtitleStyle'
        supported_style_fields:
          type: array
          items:
            type: string
            enum:
              - position
              - horizontal_position
              - text_color
              - highlight_color
              - font_family
              - font_size
              - font_weight
              - font_style
              - text_alignment
              - text_case
              - text_width
              - line_count
              - scale
              - offset
              - background
              - outline
              - shadow
          description: >-
            Style fields that affect this preset. Nested groups are partially
            overridable.
        style_notes:
          type: object
          additionalProperties:
            type: string
          description: Preset-specific behavior keyed by style field path.
    SubtitleStyle:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        position:
          description: Vertical caption placement.
          type: string
          enum:
            - top
            - center
            - bottom
        horizontal_position:
          description: Horizontal placement of the caption block.
          type: string
          enum:
            - left
            - center
            - right
        text_color:
          description: Text fill as a six-digit hex color.
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
        highlight_color:
          description: >-
            Active-word color for highlight, push, action and karaoke;
            active-word box color for box. Ignored by other presets for
            compatibility.
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
        font_family:
          description: A bundled font; custom font URLs are not accepted.
          type: string
          enum:
            - Inter
            - Urbanist
            - Rubik
            - Bangers
            - Paytone One
            - Slackey
            - Permanent Marker
            - Caveat Brush
            - Zilla Slab
            - Young Serif
            - Instrument Serif
            - Bebas Neue
            - Coiny
        font_size:
          description: >-
            Font size in pixels on the 1080px caption canvas, before scale. Omit
            to derive from font_family and text_width.
          type: number
          minimum: 12
          maximum: 240
        font_weight:
          description: Regular (400) or bold (700). thin&bold animates its own weight.
          anyOf:
            - type: number
              const: 400
            - type: number
              const: 700
        font_style:
          type: string
          enum:
            - normal
            - italic
        text_alignment:
          description: Alignment of lines within the caption block.
          type: string
          enum:
            - left
            - center
            - right
        text_case:
          description: >-
            Visual casing only; downloaded transcripts preserve the original
            words.
          type: string
          enum:
            - none
            - uppercase
            - lowercase
            - capitalize
        text_width:
          description: >-
            Text density: small uses larger type and fewer words per line.
            Defaults to the preset's width for portrait/square, large for
            landscape. Ignored when font_size is explicit.
          type: string
          enum:
            - small
            - medium
            - large
        line_count:
          description: >-
            Maximum lines per cue. 0 displays one word at a time; 100 allows up
            to 100 lines. Smash defaults to 0.
          anyOf:
            - type: number
              const: 0
            - type: number
              const: 1
            - type: number
              const: 2
            - type: number
              const: 3
            - type: number
              const: 100
        scale:
          description: >-
            Caption scale multiplied by video width / 1080. Defaults to the
            preset's scale for portrait/square, 0.55 for landscape.
          type: number
          minimum: 0.2
          maximum: 1
        offset:
          description: >-
            Pixel offsets in output-video coordinates. Left minus right moves
            horizontally; top minus bottom vertically. Unspecified top/bottom
            inherit the preset plus an inset on the selected edge: 20% of height
            for portrait/square, 14% for landscape. Explicit values replace the
            resolved offset, including zero.
          type: object
          properties:
            left:
              type: number
              minimum: -1920
              maximum: 1920
            top:
              type: number
              minimum: -1920
              maximum: 1920
            right:
              type: number
              minimum: -1920
              maximum: 1920
            bottom:
              type: number
              minimum: -1920
              maximum: 1920
          additionalProperties: false
        background:
          description: >-
            Caption background. Set type to enable it; color and opacity alone
            preserve the preset's background type.
          type: object
          properties:
            type:
              type: string
              enum:
                - none
                - line
                - line-rounded
                - box
                - box-rounded
            color:
              type: string
              pattern: ^#[0-9a-fA-F]{6}$
            opacity:
              type: number
              minimum: 0
              maximum: 1
          additionalProperties: false
        outline:
          description: Text outline on the caption canvas. Thickness 0 disables it.
          type: object
          properties:
            color:
              type: string
              pattern: ^#[0-9a-fA-F]{6}$
            thickness:
              type: number
              minimum: 0
              maximum: 20
          additionalProperties: false
        shadow:
          description: >-
            Text shadow. Set enabled to show it. Distance and angle determine
            its position: 0 degrees points down, 90 points right.
          type: object
          properties:
            enabled:
              type: boolean
            color:
              type: string
              pattern: ^#[0-9a-fA-F]{6}$
            blur:
              type: number
              minimum: 0
              maximum: 40
            distance:
              type: number
              minimum: 0
              maximum: 20
            angle:
              type: number
              minimum: -180
              maximum: 180
          additionalProperties: false
      additionalProperties: false

````