@capgo/capacitor-video-thumbnails

June 16, 2026 ยท View on GitHub

Capgo - Instant updates for Capacitor

โžก๏ธ Get Instant updates for your App with Capgo

Missing a feature? We'll build the plugin for you ๐Ÿ’ช

Generate video thumbnails from local or remote video files.

Why Capacitor Video Thumbnails?

Extract thumbnail images from videos at specific time positions:

  • Local & Remote Videos - Works with both file:// paths and http(s):// URLs
  • Custom Time Position - Extract frame at any millisecond timestamp
  • Quality Control - Adjustable JPEG compression quality
  • HTTP Headers Support - Custom headers for authenticated video sources
  • Cross-platform - Consistent API across iOS, Android, and Web

Perfect for video galleries, media players, video editors, and any app that needs video preview images.

Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/video-thumbnails/

Compatibility

Plugin versionCapacitor compatibilityMaintained
v8.*.*v8.*.*โœ…
v7.*.*v7.*.*On demand
v6.*.*v6.*.*โŒ
v5.*.*v5.*.*โŒ

Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.

Install

You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

Then use the following prompt:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-video-thumbnails` plugin in my project.

If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:

npm install @capgo/capacitor-video-thumbnails
npx cap sync

Requirements

  • iOS: iOS 15.0+
  • Android: API 24+ (Android 7.0+)
  • Web: Modern browsers with HTML5 video support

API

Capacitor Video Thumbnails Plugin interface for generating video thumbnails.

getThumbnail(...)

getThumbnail(options: VideoThumbnailsOptions) => Promise<VideoThumbnailsResult>

Generate a thumbnail image from a video file at a specific time position.

ParamTypeDescription
optionsVideoThumbnailsOptions- Options for generating the thumbnail

Returns: Promise<VideoThumbnailsResult>

Since: 8.0.0


getPluginVersion()

getPluginVersion() => Promise<{ version: string; }>

Get the native Capacitor plugin version.

Returns: Promise<{ version: string; }>

Since: 8.0.0


Interfaces

VideoThumbnailsResult

Result of thumbnail generation.

PropTypeDescription
uristringThe local URI path to the generated thumbnail image. This can be used directly in img tags or Image components.
widthnumberWidth of the generated thumbnail in pixels.
heightnumberHeight of the generated thumbnail in pixels.

VideoThumbnailsOptions

Options for generating a video thumbnail.

PropTypeDescription
sourceUristringThe URI of the video file. Can be a local file path or a remote URL. For local files, use file:// protocol or absolute path. For remote files, use http:// or https:// protocol.
timenumberThe time position in milliseconds from which to extract the thumbnail. Defaults to 0 (first frame).
qualitynumberQuality of the generated image, from 0.0 (lowest) to 1.0 (highest). Defaults to 1.0.
headersRecord<string, string>HTTP headers to include when fetching remote video URIs. Only applicable for remote URLs.

Type Aliases

Record

Construct a type with a set of properties K of type T

{ [P in K]: T; }

Credits

This was inspired from (Expo SDK)[https://docs.expo.dev/versions/latest/sdk/video-thumbnails/]