---
title: "Get video information"
method: GET
path: "/v1/videos/{id}"
tags: ["Videos"]
---

# Get video information

`GET /v1/videos/{id}`

Returns detailed information about a video including chapters, transcript, and thumbnails

## Path parameters

- `id` string, required — Unique video identifier

## Response `200`

OK

- object
  - `video` VideoDetail, required — Detailed information about a video including chapters, transcript, and exports
    - `aspectRatio` string, required — Video aspect ratio (e.g., '16:9', '9:16')
    - `backgroundMusic` BackgroundMusic, required — One video-wide track that loops over the whole video and is included in exports
      - `durationMs` number, required — Audio track duration in milliseconds
      - `name` string, nullable, required — Optional display name for the track
      - `url` string, uri, required — HTTPS URL of the audio track
      - `volume` number, required — Track volume from 0 (silent) to 1 (full volume)
    - `chapters` Chapter[], required — Video chapters/sections
      - `description` string, required — Chapter description
      - `timestampSeconds` number, required — Chapter start time in seconds
      - `title` string, required — Chapter title
    - `clipIds` string[], required — Ordered IDs of the clips in the video. Use `/v1/videos/{id}/clips/{clipId}` to fetch each one.
    - `createdAt` string, date-time, required — ISO 8601 datetime
    - `description` string, required — Video description
    - `dimensions` object, required — Canvas size in pixels
      - `height` number, required
      - `width` number, required
    - `durationSeconds` number, required — Video duration in seconds
    - `exports` ExportStatus[], required — Available exports and their status
      - `downloadUrl` string, uri, nullable, required — Download URL when export is completed, null otherwise
      - `exportId` string, required — Unique identifier for the export job
      - `progress` number, nullable, required — Export progress percentage (0-100), null if not started
      - `status` 'queued' | 'running' | 'completed' | 'failed', required — Current export status
      - `updatedAt` string, date-time, required — ISO 8601 datetime of last status update
    - `id` string, required — Unique video identifier
    - `links` VideoLinks, required — URLs related to a video
      - `embedPage` string, uri, required — URL for embedding the video
      - `viewPage` string, uri, required — URL to view the video on Tella
    - `name` string, required — Video title
    - `playlistIds` string[], required — IDs of playlists containing this video
    - `settings` VideoSettings, required — Video playback and access settings
      - `allowedEmbedDomains` string[], required — Restrict embedding to these domains only (Premium feature). Empty array allows all domains.
      - `captionGrouping` 'chunked' | 'singleWord', required — How subtitle text is grouped: sentence chunks or one word at a time.
      - `captionPosition` CaptionPosition, required — Normalized subtitle position. Applies if subtitles are enabled on the video. Null uses automatic placement.
        - `x` number, required
        - `y` number, required
      - `captionSize` 'small' | 'medium' | 'large', required — Subtitle text size. Applies if subtitles are enabled on the video.
      - `captionStyle` union, required — Subtitle style. Applies if subtitles are enabled on the video. Every style-specific field is required and fields from other styles are rejected.
        - object
          - `backgroundColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `name` 'backdrop', required
          - `textColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `wordLevelHighlights` boolean, required
        - object
          - `highlightColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `name` 'highlight', required
          - `primaryTextColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `secondaryTextColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
        - object
          - `highlightColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `name` 'mono', required
          - `textColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
        - object
          - `name` 'cannes', required
          - `shadowColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `textColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
        - object
          - `name` 'classic', required
          - `outlineColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
          - `textColor` string, required — Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.
      - `captionsDefaultEnabled` boolean, required — Show subtitles to viewers by default
      - `commentEmailsEnabled` boolean, required — Send email notifications for new comments
      - `commentsEnabled` boolean, required — Allow viewers to comment
      - `cursor` CursorSettings, required — Animated cursor settings
        - `clickRipple` boolean, required — Show a ripple on mouse clicks. Defaults off for new videos.
        - `hideWhenInactive` boolean, required — Fade the animated cursor out while inactive and back in when activity resumes.
        - `returnToStart` boolean, required — Move the cursor back to its opening position at the end for cleaner loops.
        - `size` number, required — Animated cursor size multiplier.
        - `smoothing` boolean, required — Smooth cursor movement. Defaults off for new videos.
        - `style` 'mac' | 'macTahoe' | 'macGoldenGate' | 'windows' | 'touch', required — Animated cursor artwork. mac is the pre-Tahoe style; macTahoe and macGoldenGate match those macOS generations; windows and touch use platform-specific artwork.
      - `customThumbnailURL` string, uri, nullable, required — Custom thumbnail image URL
      - `defaultClipTransition` 'smooth' | 'hard_cut', required — How one thing gives way to the next: `smooth` eases across the change, `hard_cut` swaps instantly.
      - `defaultPlaybackRate` number, required — Default playback speed (0.5-2.0). Viewers can still adjust.
      - `downloadsEnabled` boolean, required — Allow viewers to download the video
      - `linkScope` 'public' | 'private' | 'org' | 'password' | 'embedonly', required — Current video access level. The read-only `org` value means the video is visible across its workspace; public updates intentionally do not accept that value.
      - `microphoneVolume` number, required — Volume of the microphone (webcam) audio across the video. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.
      - `motionBlur` boolean, required — Blur fast zoom, pan, and cursor movement. Defaults on for new videos.
      - `publishDateEnabled` boolean, required — Show publish date on video page
      - `rawDownloadsEnabled` boolean, required — Allow viewers to download raw source files
      - `searchEngineIndexingEnabled` boolean, required — Allow search engines to index the video page
      - `shrinkCameraDuringZooms` boolean, required — Shrink camera bubbles while a zoom is active. Defaults on.
      - `studioSound` boolean, required — Studio Sound (AI audio enhancement) master switch for the video. Individual clips can opt out via the clip's `studioSound` field.
      - `subtitlesEnabled` boolean, required — Allow viewers to enable subtitles
      - `systemAudioVolume` number, required — Volume of the system/screen audio across the video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.
      - `transcriptsEnabled` boolean, required — Show transcript panel to viewers
      - `viewCountEnabled` boolean, required — Show view count on video page
    - `thumbnails` Thumbnails, required — Video thumbnails organized by size, with format options for each
      - `large` ThumbnailFormats — Thumbnail URLs in various formats for a specific size
        - `gif` string, uri — Animated GIF thumbnail URL (medium and small sizes only)
        - `jpg` string, uri — JPEG thumbnail URL
        - `mp4` string, uri — Animated MP4 thumbnail URL (medium and small sizes only)
        - `webp` string, uri — WebP thumbnail URL
      - `medium` ThumbnailFormats — Thumbnail URLs in various formats for a specific size
        - `gif` string, uri — Animated GIF thumbnail URL (medium and small sizes only)
        - `jpg` string, uri — JPEG thumbnail URL
        - `mp4` string, uri — Animated MP4 thumbnail URL (medium and small sizes only)
        - `webp` string, uri — WebP thumbnail URL
      - `small` ThumbnailFormats — Thumbnail URLs in various formats for a specific size
        - `gif` string, uri — Animated GIF thumbnail URL (medium and small sizes only)
        - `jpg` string, uri — JPEG thumbnail URL
        - `mp4` string, uri — Animated MP4 thumbnail URL (medium and small sizes only)
        - `webp` string, uri — WebP thumbnail URL
      - `xl` ThumbnailFormats — Thumbnail URLs in various formats for a specific size
        - `gif` string, uri — Animated GIF thumbnail URL (medium and small sizes only)
        - `jpg` string, uri — JPEG thumbnail URL
        - `mp4` string, uri — Animated MP4 thumbnail URL (medium and small sizes only)
        - `webp` string, uri — WebP thumbnail URL
    - `transcript` Transcript, required — Video transcript data
      - `language` string, nullable, required — Detected language code (e.g., 'en', 'es')
      - `sentences` Sentence[], nullable, required — Sentences with timestamps
        - `endSeconds` number, required — Sentence end time in seconds
        - `startSeconds` number, required — Sentence start time in seconds
        - `text` string, required — Sentence text
      - `status` 'ready' | 'processing' | 'failed', required — Transcript generation status
      - `text` string, nullable, required — Full transcript text
    - `updatedAt` string, date-time, required — ISO 8601 datetime
    - `views` integer, required — Total view count

## Other responses

- `400` — The request was malformed or contained invalid parameters.
- `401` — Authentication is required. Provide a valid API key.
- `403` — You don't have permission to access this resource.
- `404` — The requested resource was not found.
- `429` — You have exceeded the rate limit. Please slow down.
- `500` — An unexpected error occurred
- `501` — The requested operation is not implemented.

---

[API](https://skmtc.dev/withchima/apis/tella-public-api.md) · [All operations](https://skmtc.dev/withchima/apis/tella-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withchima/tella-public-api/revisions/ba2bb13928a5/schema)
