File Metadata
RenderIO automatically extracts rich metadata from every processed file using ffprobe, including duration, resolution, codec, bitrate, and more.
File Metadata
Every file that RenderIO processes is automatically analyzed with ffprobe to extract detailed media metadata. This happens for command output files, stored files, and uploaded files -- no extra API calls needed.
Available metadata fields
The following fields are extracted and returned with every file:
| Field | Type | Description | Example |
|---|---|---|---|
duration | number | Duration in seconds | 30.5 |
file_type | string | General type of the media | "video", "audio", "image" |
file_format | string | Container format | "mp4", "webm", "png" |
codec | string | Primary codec used | "h264", "aac", "vp9" |
pixel_format | string | Pixel format (video/image only) | "yuv420p", "rgb24" |
mime_type | string | MIME type of the file | "video/mp4", "audio/mpeg" |
width | number | Width in pixels (video/image only) | 1920 |
height | number | Height in pixels (video/image only) | 1080 |
frame_rate | number | Frames per second (video only) | 29.97 |
bitrate_video_kb | number | Video bitrate in kilobits/sec | 2500 |
bitrate_audio_kb | number | Audio bitrate in kilobits/sec | 128 |
sample_rate | number | Audio sample rate in Hz | 44100 |
channels | number | Number of audio channels | 2 |
size_mbytes | number | File size in megabytes | 12.4 |
Fields that do not apply to a particular file type are returned as null. For example, an audio-only file will have null for width, height, frame_rate, and pixel_format.
Where metadata appears
In command poll responses
When you poll a completed command, each entry in the output_files map includes its metadata:
curl https://renderio.dev/api/v1/commands/550e8400-e29b-41d4-a716-446655440000 \
-H "X-API-KEY: ffsk_your_api_key"{
"command_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "SUCCESS",
"output_files": {
"out_video": {
"file_id": "a1b2c3d4-...",
"storage_url": "https://storage.renderio.dev/...",
"status": "STORED",
"filename": "output.mp4",
"size_mbytes": 12.4,
"duration": 30.5,
"file_type": "video",
"file_format": "mp4",
"codec": "h264",
"pixel_format": "yuv420p",
"mime_type": "video/mp4",
"width": 1920,
"height": 1080,
"frame_rate": 29.97,
"bitrate_video_kb": 2500,
"bitrate_audio_kb": 128
}
}
}In file detail responses
You can also retrieve metadata for any individual file using its file_id:
curl https://renderio.dev/api/v1/files/a1b2c3d4-... \
-H "X-API-KEY: ffsk_your_api_key"{
"file_id": "a1b2c3d4-...",
"storage_url": "https://storage.renderio.dev/...",
"status": "STORED",
"rendi_store_type": "OUTPUT",
"is_deleted": false,
"size_mbytes": 12.4,
"duration": 30.5,
"file_type": "video",
"file_format": "mp4",
"codec": "h264",
"pixel_format": "yuv420p",
"mime_type": "video/mp4",
"width": 1920,
"height": 1080,
"frame_rate": 29.97,
"bitrate_video_kb": 2500,
"bitrate_audio_kb": 128,
"sample_rate": 44100,
"channels": 2,
"created_at": "2025-01-15T10:30:00Z"
}Stored files and uploads
Metadata extraction is not limited to command outputs. Files stored via POST /api/v1/files/store-file and files uploaded via POST /api/v1/files/upload also get full metadata extraction automatically.
# Store a remote file - metadata is extracted automatically
curl -X POST https://renderio.dev/api/v1/files/store-file \
-H "X-API-KEY: ffsk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "file_url": "https://example.com/my-video.mp4" }'Use cases for metadata
Metadata makes it easy to validate your FFmpeg output without downloading the file:
- Verify dimensions after resize: Check that
widthandheightmatch your target resolution - Confirm codec after transcode: Ensure
codecis"h264"after converting from another format - Check file size: Use
size_mbytesto confirm compression was effective - Validate duration: Make sure
durationmatches the expected length after trimming or concatenation - Audio properties: Verify
sample_rateandchannelsfor audio processing workflows
Audio-specific fields
For audio files or media with audio tracks, these fields provide audio stream details:
| Field | Description |
|---|---|
sample_rate | Sample rate in Hz (e.g., 44100, 48000) |
channels | Number of channels (1 = mono, 2 = stereo, 6 = 5.1 surround) |
bitrate_audio_kb | Audio bitrate in kilobits per second |
codec | Audio codec when the file is audio-only (e.g., "aac", "mp3", "opus") |
Related pages
- Get File endpoint -- retrieve metadata for any stored file by ID
- File Aliases -- how input and output files map to your commands