> ## Documentation Index
> Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Brand Kit

> Returns one brand kit with the colors, logos and fonts it was built from, and which of them play which role. A brand kit imported from a website is assembled in the background: while status is 'loading' the collections and roles are provisional, and they are final once status is 'completed'. Poll every 2 to 5 seconds while status is 'loading'; a website import usually settles in under two minutes, and fonts are typically the last thing to land.



## OpenAPI

````yaml /openapi/external-api.json get /v3/brand-kits/{brand_kit_id}
openapi: 3.1.0
info:
  title: HeyGen External API
  version: 1.0.0
  description: >-
    HeyGen's external API for programmatic AI video creation. See
    https://docs.heygen.com for full documentation.
  contact:
    name: HeyGen Product Infra
    url: https://heygen.com
servers:
  - url: https://api.heygen.com
    description: Production
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Video Agent
    description: Create videos from text prompts using AI
  - name: Videos
    description: Create, list, retrieve, and delete videos
  - name: Templates
    description: Generate videos from reusable templates by replacing their variables
  - name: Voices
    description: Text-to-speech and voice management
  - name: Audio
    description: Search the background-music and sound-effects catalog
  - name: Video Translate
    description: Translate videos into other languages
  - name: AI Clipping
    description: Turn long-form videos into ready-to-share short clips with captions
  - name: Batches
    description: Create and track batches of videos.
  - name: Video Translation Batches
    description: Create and track batches of video translations.
  - name: Lipsync Batches
    description: Create and track batches of lipsyncs.
  - name: Asset Batches
    description: Create and track batches of direct-to-S3 asset uploads.
  - name: User
    description: Account information and billing
  - name: Avatars
    description: List and manage avatars and looks
  - name: Assets
    description: Upload files for use in video creation
  - name: Webhooks
    description: Manage webhook endpoints and events
  - name: Lipsync
    description: Dub or replace audio on existing videos
  - name: Brand
    description: >-
      Brand-related resources — brand kits (colors, fonts, logos) and brand
      glossaries (custom term translations)
  - name: HyperFrames
    description: Render HyperFrames composition zips into video — separate from /v3/videos
  - name: Filler Word Removal
    description: ''
paths:
  /v3/brand-kits/{brand_kit_id}:
    get:
      tags:
        - Brand
      summary: Get Brand Kit
      description: >-
        Returns one brand kit with the colors, logos and fonts it was built
        from, and which of them play which role. A brand kit imported from a
        website is assembled in the background: while status is 'loading' the
        collections and roles are provisional, and they are final once status is
        'completed'. Poll every 2 to 5 seconds while status is 'loading'; a
        website import usually settles in under two minutes, and fonts are
        typically the last thing to land.
      operationId: getBrandKit
      parameters:
        - name: brand_kit_id
          in: path
          required: true
          schema:
            type: string
          description: Unique brand kit identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BrandKitDetail'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
              example:
                error:
                  code: authentication_failed
                  message: Invalid or expired API key. Verify your x-api-key header.
                  param: null
                  doc_url: null
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
              example:
                error:
                  code: resource_not_found
                  message: Brand kit not found.
                  param: null
                  doc_url: null
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
              example:
                error:
                  code: rate_limit_exceeded
                  message: >-
                    Too many requests. Retry after the duration specified in the
                    Retry-After header.
                  param: null
                  doc_url: null
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    BrandKitDetail:
      description: >-
        A single brand kit with its colors, logos and fonts.


        A brand kit imported from a website is assembled in the background.
        While `status` is `loading`

        the collections and role fields are provisional and may be empty or
        incomplete; the import has

        finished contributing to them once `status` is `completed`. A kit whose
        import failed reports

        `error` and keeps whatever was assembled before the failure. A kit can
        still be edited in the

        HeyGen web app afterwards, so `completed` means the import is done, not
        that the kit is frozen.
      properties:
        brand_kit_id:
          description: Unique brand kit identifier.
          title: Brand Kit Id
          type: string
        name:
          description: Display name of the brand kit.
          title: Name
          type: string
        status:
          description: >-
            Assembly status: 'loading' while the kit is still being built,
            'completed' when it is ready, or 'error' if the import failed.
          enum:
            - loading
            - completed
            - error
          title: Status
          type: string
        colors:
          description: >-
            Brand colors as hex values, e.g. '#FF5733'. A color playing a role
            may sit outside this list — see color_roles — so do not treat it as
            the full set of colors the kit references.
          items:
            type: string
          title: Colors
          type: array
        color_roles:
          anyOf:
            - $ref: '#/components/schemas/BrandKitColorRoles'
            - type: 'null'
          default: null
          description: >-
            Which color plays which part. May be absent while the kit is still
            loading.
        logos:
          description: Logos belonging to the brand kit.
          items:
            $ref: '#/components/schemas/BrandKitLogo'
          title: Logos
          type: array
        logo_roles:
          anyOf:
            - $ref: '#/components/schemas/BrandKitLogoRoles'
            - type: 'null'
          default: null
          description: >-
            Which logo is the main one. May be absent while the kit is still
            loading.
        fonts:
          description: Fonts belonging to the brand kit.
          items:
            $ref: '#/components/schemas/BrandKitFont'
          title: Fonts
          type: array
        font_roles:
          anyOf:
            - $ref: '#/components/schemas/BrandKitFontRoles'
            - type: 'null'
          default: null
          description: >-
            Which font plays which typographic part. May be absent while the kit
            is still loading.
      required:
        - brand_kit_id
        - name
        - status
      title: BrandKitDetail
      type: object
    StandardAPIError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: invalid_parameter
        message:
          type: string
          description: Human-readable error message
          example: Video not found
        param:
          type:
            - string
            - 'null'
          description: Which request field caused the error
        doc_url:
          type:
            - string
            - 'null'
          description: Link to error documentation
        errors:
          type: array
          description: >-
            Per-item error details for batch/multi-node failures (e.g. graph
            compilation errors by node).
          items:
            $ref: '#/components/schemas/StandardAPIErrorDetail'
      required:
        - code
        - message
    BrandKitColorRoles:
      description: >-
        Which color plays which part in the brand's visual system, as hex
        values.


        A role may name a color that is not present in `colors`: the palette
        lists the brand's core

        swatches, while a role such as `tertiary` can point at a supporting
        surface color outside them.
      properties:
        primary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Primary brand color.
          title: Primary
        secondary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Secondary brand color.
          title: Secondary
        tertiary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Tertiary brand color.
          title: Tertiary
        accent:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Accent color, used for highlights and calls to action.
          title: Accent
      title: BrandKitColorRoles
      type: object
    BrandKitLogo:
      description: A logo belonging to a brand kit.
      properties:
        logo_id:
          description: >-
            Unique logo identifier. The logo named by logo_roles.primary is the
            brand's main logo.
          title: Logo Id
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Display name of the logo.
          title: Name
        url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: URL of the logo image. Absent if the logo has no stored file yet.
          title: Url
      required:
        - logo_id
      title: BrandKitLogo
      type: object
    BrandKitLogoRoles:
      description: >-
        Which logo is the brand's main one.


        Deleting a logo does not clear the role that named it, so this can
        reference a logo_id absent

        from `logos`. Match by id and handle the miss rather than assuming a
        lookup succeeds.
      properties:
        primary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Identifier of the primary logo. Names a logo_id in `logos` unless
            that logo has since been deleted.
          title: Primary
      title: BrandKitLogoRoles
      type: object
    BrandKitFont:
      description: A font belonging to a brand kit.
      properties:
        font_id:
          description: >-
            Unique font identifier. Matches the font_id referenced by
            font_roles.
          title: Font Id
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Font family name.
          title: Name
      required:
        - font_id
      title: BrandKitFont
      type: object
    BrandKitFontRoles:
      description: >-
        Which font plays which typographic part.


        Deleting a font does not clear the role that named it, so a role's
        font_id can be absent from

        `fonts`. Match by id and handle the miss rather than assuming a lookup
        succeeds.
      properties:
        title_text:
          anyOf:
            - $ref: '#/components/schemas/BrandKitFontRole'
            - type: 'null'
          default: null
          description: Font for headings and titles.
        body_text:
          anyOf:
            - $ref: '#/components/schemas/BrandKitFontRole'
            - type: 'null'
          default: null
          description: Font for body copy.
      title: BrandKitFontRoles
      type: object
    StandardAPIErrorDetail:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: unknown_node_type
        message:
          type: string
          description: Human-readable error message
          example: Unknown node type
        node_id:
          type: string
          description: Graph node id this error pertains to, if applicable
        port:
          type: string
          description: Port name on the node this error pertains to, if applicable
        path:
          type: string
          description: Field path within the item this error pertains to, if applicable
      required:
        - code
        - message
    BrandKitFontRole:
      description: A font assigned to one typographic role.
      properties:
        font_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Identifier of the assigned font.
          title: Font Id
        weight:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Font weight, e.g. 400 for regular or 700 for bold.
          title: Weight
      title: BrandKitFontRole
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: HeyGen API key. Obtain from your HeyGen dashboard.
    BearerAuth:
      type: http
      scheme: bearer
      description: OAuth2 bearer token.

````