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

# Get Preset

> Retrieve a single preset by its ID

# Get Preset

Retrieve a single preset from your library. Presets are created in the Submagic editor and bundle the settings and media (caption theme, hook, logo, music, and more) applied to new projects.

<Note>
  This endpoint requires authentication and has a rate limit of 1000 requests
  per hour.
</Note>

## Authentication

<ParamField header="x-api-key" type="string" required>
  Your Submagic API key starting with `sk-`
</ParamField>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier (UUID) of the preset to retrieve
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the preset (UUID format)
</ResponseField>

<ResponseField name="name" type="string">
  Preset name
</ResponseField>

<ResponseField name="description" type="string">
  Preset description. Omitted when not set.
</ResponseField>

<ResponseField name="captions" type="boolean">
  Whether projects created with this preset get its saved caption theme
</ResponseField>

<ResponseField name="hookTitle" type="boolean">
  Whether projects created with this preset get its saved hook title
</ResponseField>

<ResponseField name="magicZooms" type="boolean">
  Whether Magic Zooms are enabled
</ResponseField>

<ResponseField name="magicBrolls" type="boolean">
  Whether AI Auto B-rolls are enabled
</ResponseField>

<ResponseField name="magicBrollsPercentage" type="number">
  How much of the video AI Auto B-rolls cover, as a percentage (0-100). Omitted
  when not set.
</ResponseField>

<ResponseField name="magicBrollsTransitions" type="boolean">
  Whether AI Auto B-rolls use transition effects between clips. Omitted when not
  set.
</ResponseField>

<ResponseField name="logo" type="boolean">
  Whether projects created with this preset get its saved logo
</ResponseField>

<ResponseField name="colorFilter" type="boolean">
  Whether projects created with this preset get its saved color filter
</ResponseField>

<ResponseField name="cleanAudio" type="boolean">
  Whether Clean Audio is enabled
</ResponseField>

<ResponseField name="eyeContactCorrection" type="boolean">
  Whether Eye Contact correction is enabled
</ResponseField>

<ResponseField name="music" type="boolean">
  Whether projects created with this preset get its saved background music
</ResponseField>

<ResponseField name="musicVolume" type="number">
  Background music volume, 1-100. Omitted when the preset has no saved music.
</ResponseField>

<ResponseField name="transitionSoundVolume" type="number">
  Volume applied to transition sounds, 0-100. Omitted when not set.
</ResponseField>

<ResponseField name="configured" type="object">
  Which gated settings have saved config, i.e. which toggles can be enabled on
  [Update Preset](/api-reference/update-preset).

  <Expandable title="Configured Object" defaultOpen>
    <ResponseField name="captions" type="boolean">
      Whether the preset has a saved caption theme
    </ResponseField>

    <ResponseField name="hookTitle" type="boolean">
      Whether the preset has a saved hook title
    </ResponseField>

    <ResponseField name="logo" type="boolean">
      Whether the preset has a saved logo
    </ResponseField>

    <ResponseField name="colorFilter" type="boolean">
      Whether the preset has a saved color filter
    </ResponseField>

    <ResponseField name="music" type="boolean">
      Whether the preset has saved background music
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="sourceProjectId" type="string">
  ID of the project the preset was created from
</ResponseField>

<ResponseField name="createdAt" type="string">
  ISO 8601 timestamp when the preset was created
</ResponseField>

<ResponseField name="updatedAt" type="string">
  ISO 8601 timestamp when the preset was last updated
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.submagic.co/v1/presets/550e8400-e29b-41d4-a716-446655440000" \
    -H "x-api-key: sk-your-api-key-here"
  ```

  ```javascript JavaScript theme={null}
  const getPreset = async (presetId) => {
    const response = await fetch(
      `https://api.submagic.co/v1/presets/${presetId}`,
      {
        headers: {
          "x-api-key": "sk-your-api-key-here",
        },
      }
    );

    return response.json();
  };

  const preset = await getPreset("550e8400-e29b-41d4-a716-446655440000");
  ```

  ```python Python theme={null}
  import requests

  def get_preset(preset_id):
      url = f'https://api.submagic.co/v1/presets/{preset_id}'
      headers = {
          'x-api-key': 'sk-your-api-key-here'
      }

      response = requests.get(url, headers=headers)
      return response.json()

  preset = get_preset('550e8400-e29b-41d4-a716-446655440000')
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My TikTok Preset",
    "description": "Punchy captions with background music",
    "captions": true,
    "hookTitle": true,
    "magicZooms": true,
    "magicBrolls": false,
    "logo": false,
    "colorFilter": false,
    "cleanAudio": true,
    "eyeContactCorrection": false,
    "music": true,
    "musicVolume": 25,
    "configured": {
      "captions": true,
      "hookTitle": true,
      "logo": false,
      "colorFilter": false,
      "music": true
    },
    "sourceProjectId": "88a08eec-712a-45d0-8d0b-3b631700cb3a",
    "createdAt": "2024-01-10T08:00:00.000Z",
    "updatedAt": "2024-01-12T09:30:00.000Z"
  }
  ```

  ```json 404 NOT_FOUND theme={null}
  {
    "error": "NOT_FOUND",
    "message": "Preset not found"
  }
  ```
</ResponseExample>
