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

# Video Operations

> Video processing operations — transcode, trim, stream, and more

## transcode

Convert video to a different format or codec.

```json theme={null}
{ "type": "video_transcode", "params": { "format": "mp4", "codec": "h264", "resolution": "720p" } }
```

| Param      | Type    | Description                                         |
| ---------- | ------- | --------------------------------------------------- |
| format     | string  | Output format: mp4, webm, mkv, avi                  |
| codec      | string  | Video codec: h264, h265, vp9, av1                   |
| resolution | string  | Target resolution: 480p, 720p, 1080p, 4k            |
| bitrate    | string  | Target bitrate (e.g., "2M")                         |
| crf        | integer | Constant rate factor (0-51, lower = better quality) |

## trim

Extract a segment from a video.

```json theme={null}
{ "type": "video_trim", "params": { "start": "00:00:10", "end": "00:00:30" } }
```

## thumbnail

Extract a single frame as an image.

```json theme={null}
{ "type": "video_thumbnail", "params": { "time": "00:00:05", "width": 640 } }
```

## gif

Convert a video segment to an animated GIF.

```json theme={null}
{ "type": "video_gif", "params": { "start": "00:00:00", "duration": 5, "width": 480, "fps": 15 } }
```

## hls

Generate HLS (HTTP Live Streaming) segments for adaptive streaming.

```json theme={null}
{ "type": "video_hls", "params": { "segment_time": 6 } }
```

## dash

Generate MPEG-DASH segments for adaptive streaming.

```json theme={null}
{ "type": "video_dash", "params": { "segment_time": 4 } }
```

## speed

Change video playback speed.

```json theme={null}
{ "type": "video_speed", "params": { "factor": 2.0 } }
```

## rotate\_video

Rotate video by 90, 180, or 270 degrees.

```json theme={null}
{ "type": "video_rotate", "params": { "angle": 90 } }
```

## aspect\_ratio

Change video aspect ratio with padding or cropping.

```json theme={null}
{ "type": "video_aspect-ratio", "params": { "ratio": "16:9", "mode": "pad" } }
```

## framerate

Change video frame rate.

```json theme={null}
{ "type": "video_framerate", "params": { "fps": 30 } }
```

## concat

Concatenate multiple videos into one. Use an array of URLs as input.

```json theme={null}
{
  "input": ["https://example.com/part1.mp4", "https://example.com/part2.mp4"],
  "operations": [{ "type": "video_concat" }]
}
```

## burn\_subtitles

Burn subtitle file into the video.

```json theme={null}
{ "type": "video_burn-subtitles", "params": { "subtitle_url": "https://example.com/subs.srt" } }
```

## subtitle\_extract

Extract subtitles from a video file.

```json theme={null}
{ "type": "video_subtitle-extract" }
```

## overlay\_text

Overlay text on video.

```json theme={null}
{ "type": "video_overlay-text", "params": { "text": "Hello World", "x": 10, "y": 10, "fontsize": 24 } }
```

## preview\_clip

Generate a short preview clip from a longer video.

```json theme={null}
{ "type": "video_preview-clip", "params": { "duration": 15 } }
```

## thumbnail\_strip

Generate a strip of thumbnail frames from a video.

```json theme={null}
{ "type": "video_thumbnail-strip", "params": { "count": 10, "width": 160 } }
```

## probe

Inspect video file metadata (codec, duration, resolution, bitrate).

```json theme={null}
{ "type": "video_probe" }
```

## silence\_detect

Detect silent segments in audio/video.

```json theme={null}
{ "type": "video_silence-detect", "params": { "threshold": -30, "duration": 1.0 } }
```

## scene\_detect

Detect scene changes in a video.

```json theme={null}
{ "type": "video_scene-detect", "params": { "threshold": 0.3 } }
```

## black\_detect

Detect black frames in a video.

```json theme={null}
{ "type": "video_black-detect", "params": { "threshold": 0.1, "duration": 0.5 } }
```
