canonical: https://jentic.com/apis/gumlet.com/gumlet

# Gumlet API

Jentic maintains a curated, agent-optimized OpenAPI specification for Gumlet API, consolidating the per-endpoint OpenAPI definitions Gumlet publishes across its reference documentation into a single document. Gumlet is a cloud media platform that ingests, transcodes, and streams video and image content with support for live streaming, adaptive bitrate playback, subtitles, audio tracks, watermarks, and analytics. Its REST API spans 64 operations covering video assets, image sources, live broadcasts, playlists, encoding profiles, webhooks, and workspace management. Authentication is via bearer token tied to a Gumlet workspace.

## For AI agents

Upload, transcode, and stream video and image assets with Gumlet. Manage live streams, playlists, subtitles, and webhooks for media delivery workflows.

## Scope

Does not handle ad insertion, DRM licence issuance, or DAM editorial workflows - use for video and image transcoding, hosting, and streaming only.

## Capabilities

- Create and direct-upload video assets, then poll asset status until transcoding completes
- Generate or upload custom thumbnails for a video asset
- Upload subtitle and audio tracks against an existing asset
- Configure live streaming endpoints and capture playlists for broadcast workflows
- Manage image sources and encoding profiles per workspace
- Register webhooks to receive transcoding and live-stream events

## Use cases

### Programmatic video ingestion pipeline

Build an upload pipeline that pushes user-generated or studio-produced videos into Gumlet, polls until adaptive-bitrate transcoding completes, and stores the resulting playback URL on the source record. The Direct Upload endpoint avoids buffering through your servers, and webhooks signal completion. Most video assets are ready for streaming within minutes of upload completing.

Example prompt: Call POST `/video/assets/upload` to obtain a direct upload URL for a 1080p MP4 file, then poll GET `/video/assets/{asset_id}` until status is 'ready'.

### Subtitle and audio track localisation

Localise streamed video by uploading subtitle files in multiple languages and alternate audio tracks per asset. The asset endpoints accept WebVTT and SRT subtitles and audio tracks bound to a language code, which Gumlet then exposes during playback. Suitable for OTT platforms shipping multilingual catalogues.

Example prompt: Upload an English WebVTT file via POST `/video/assets/{asset_ID}/subtitle/upload` and confirm completion with the matching upload event endpoint.

### Live stream control plane

Configure live streaming for sports, events, or webinars with Gumlet by creating a live stream object, retrieving the RTMP ingest URL and stream key, then capturing the resulting playlist when the broadcast ends. The API exposes asset and playlist resources that turn the recorded stream into an on-demand asset for replay.

Example prompt: Create a live stream resource, return the ingest URL and stream key, and store the recorded asset ID once the broadcast ends.

### AI agent media uploader via Jentic

An AI agent receives a request to publish a marketing video, uploads the source file to Gumlet, generates a thumbnail at the 5-second mark, and registers a webhook so the calling system is notified when transcoding finishes. Through Jentic the agent calls the right endpoints without browsing Gumlet's docs.

Example prompt: Search Jentic for 'upload a video to gumlet', load the POST `/video/assets/upload` schema, and execute it with the source URL and a thumbnail at 5 seconds.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/video/assets` | Create a video asset |
| POST | `/video/assets/upload` | Create a direct-upload video asset |
| GET | `/video/assets/{asset_id}` | Get video asset details |
| DELETE | `/video/assets/{asset_id}` | Delete a video asset |
| POST | `/video/assets/{asset_id}/thumbnail` | Generate a thumbnail from a video |
| POST | `/video/assets/{asset_ID}/subtitle/upload` | Upload a subtitle file |

## Key resources

- **Video Assets** — Create, retrieve, update, and delete video assets along with thumbnails, subtitles, and audio tracks
- **Live Streams** — Configure live ingest endpoints, stream keys, and post-broadcast assets
- **Image Sources** — Manage image source containers used for on-the-fly image transformation
- **Playlists** — Group video assets into ordered playlists for player consumption
- **Webhooks** — Subscribe to asset and live-stream lifecycle events

## Why Jentic

- **Setup:** Wiring the Gumlet API by hand means handling its workspace bearer key against api.gumlet.com/v1 and managing the multi-step direct-upload, subtitle, and thumbnail flows plus retries yourself. Through Jentic you install once, import Gumlet from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Gumlet puts the asset id in the URL path (`/video/assets/{asset_id}/...`), so a rule can pin your agent to one asset: it can fetch that asset and add a thumbnail or subtitle and nothing else. You choose the operations it may call, so deleting an asset is not included unless you add it.
- **Credential handling:** Your Gumlet workspace key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'upload a video to Gumlet' or 'add subtitles to an asset', and Jentic returns the matching Gumlet operation with its input schema, including the direct-upload and subtitle endpoints, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mux** — Video streaming and analytics API focused on developer experience
- **Bunny.net** — CDN-first video and media delivery with stream and storage products
- **Vimeo** — Hosted video platform with embeddable players and review tooling
- **Urlbox** — Render preview images and video stills from URLs

## FAQ

### Which OpenAPI specification does this Gumlet API page describe?

A curated, agent-optimized Jentic specification covering 64 Gumlet operations. Gumlet also publishes its own OpenAPI 3.1.0 definitions, titled gumlet-rest-apis version 1.3, but as a document set embedded per endpoint across its reference documentation rather than one downloadable file; the index to those pages is https://docs.gumlet.com/llms.txt. The Jentic variant consolidates that set into a single validated document, so an agent can load every operation at once instead of reading them page by page. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Gumlet API use?

Gumlet uses HTTP bearer authentication. You pass the workspace API key as Authorization: Bearer <key>. Through Jentic, the key is stored in the encrypted vault and only scoped tokens are passed to the executing agent.

### Can I upload a video directly without proxying through my servers with the Gumlet API?

Yes. Call POST `/video/assets/upload` to receive a signed direct-upload URL, then PUT the video file straight to that URL. The asset record then transitions through processing states tracked at GET `/video/assets/{asset_id}.`

### Can I add subtitles and alternate audio tracks to a Gumlet asset?

Yes. POST `/video/assets/{asset_ID}/subtitle/upload` accepts WebVTT or SRT files, and POST `/video/assets/{asset_ID}/audio/upload` accepts alternate audio tracks. Both endpoints have a matching event endpoint to mark the upload complete.

### How do I get notified when a Gumlet asset finishes transcoding?

Register a webhook through the workspace webhook endpoints with an event subscription for video asset state changes. Gumlet then POSTs the asset payload to your URL when transcoding completes.

### How do I upload a video to Gumlet through Jentic?

Search Jentic for 'upload a video to gumlet', load the POST `/video/assets/upload` operation schema, then execute with the source URL or file pointer. Install with pip install jentic.

### Can I limit what my agent is allowed to do with the Gumlet API?

Yes. Because you run Jentic One yourself, your own rules decide which Gumlet operations and credentials the agent may use. Since Gumlet puts the asset id in the URL path (`/video/assets/{asset_id}/...`), you can pin the agent to a single asset and allow only reads such as GET `/video/assets/{asset_id}` plus adding a thumbnail or subtitle, while withholding everything else. Destructive calls like DELETE `/video/assets/{asset_id}` are excluded unless you explicitly grant them.
