
Example output
{
"format": {
"size": "3772833",
"tags": {
"encoder": "Lavf59.27.100",
"major_brand": "isom",
"minor_version": "512",
"compatible_brands": "isomiso2avc1mp41"
},
"bit_rate": "3742889",
"duration": "8.064000",
"filename": "/tmp/videoapi-job-434819597/in0.mp4",
"nb_streams": 2,
"start_time": "0.000000",
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"nb_programs": 0,
"probe_score": 100,
"format_long_name": "QuickTime / MOV"
},
"streams": [
{
"id": "0x1",
"refs": 1,
"tags": {
"language": "und",
"vendor_id": "[0][0][0][0]",
"handler_name": "VideoHandler"
},
"index": 0,
"level": 31,
"width": 1280,
"height": 720,
"is_avc": "true",
"pix_fmt": "yuv420p",
"profile": "High",
"bit_rate": "3613600",
"duration": "8.041667",
"codec_tag": "0x31637661",
"nb_frames": "193",
"start_pts": 0,
"time_base": "1/12288",
"codec_name": "h264",
"codec_type": "video",
"film_grain": 0,
"start_time": "0.000000",
"coded_width": 1280,
"disposition": {
"dub": 0,
"forced": 0,
"lyrics": 0,
"comment": 0,
"default": 1,
"karaoke": 0,
"captions": 0,
"metadata": 0,
"original": 0,
"dependent": 0,
"still_image": 0,
"attached_pic": 0,
"descriptions": 0,
"clean_effects": 0,
"visual_impaired": 0,
"hearing_impaired": 0,
"timed_thumbnails": 0
},
"duration_ts": 98816,
"field_order": "progressive",
"coded_height": 720,
"has_b_frames": 2,
"r_frame_rate": "24/1",
"avg_frame_rate": "24/1",
"extradata_size": 45,
"chroma_location": "left",
"closed_captions": 0,
"codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"nal_length_size": "4",
"codec_tag_string": "avc1",
"bits_per_raw_sample": "8"
},
{
"id": "0x2",
"tags": {
"language": "und",
"vendor_id": "[0][0][0][0]",
"handler_name": "SoundHandler"
},
"index": 1,
"profile": "LC",
"bit_rate": "131163",
"channels": 2,
"duration": "8.064000",
"codec_tag": "0x6134706d",
"nb_frames": "253",
"start_pts": 0,
"time_base": "1/32000",
"codec_name": "aac",
"codec_type": "audio",
"sample_fmt": "fltp",
"start_time": "0.000000",
"disposition": {
"dub": 0,
"forced": 0,
"lyrics": 0,
"comment": 0,
"default": 1,
"karaoke": 0,
"captions": 0,
"metadata": 0,
"original": 0,
"dependent": 0,
"still_image": 0,
"attached_pic": 0,
"descriptions": 0,
"clean_effects": 0,
"visual_impaired": 0,
"hearing_impaired": 0,
"timed_thumbnails": 0
},
"duration_ts": 258048,
"sample_rate": "32000",
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"channel_layout": "stereo",
"extradata_size": 5,
"bits_per_sample": 0,
"codec_long_name": "AAC (Advanced Audio Coding)",
"codec_tag_string": "mp4a"
}
]
}Media Inspector
Image Gen·Video-API·by Unified AI API for hundreds models. Access video, image, and audio generation from leading providers through one integration with eachlabs.
Media Inspector reads any video and returns full technical metadata such as duration, resolution, codecs, and streams as clean JSON on each::labs.
- Runtime (p50)
- 20s
- Estimated price
- $1.80 / unit
prediction.sh
sh
Related models
2 models* FAQ
About Media Inspector
01 / 03
What does Media Inspector do?
Media Inspector analyzes any video and returns its technical details as structured JSON, including duration, resolution, frame rate, codecs, and stream layout. It runs as a fast, no-render probe on the each::labs Video API, so you can validate files and read metadata before starting heavier processing.