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
Call the API
prediction.sh
sh
curl -X POST \
  -H "Authorization: Bearer $EACHLABS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "media-inspector",
    "input": {
        "media": "https://cdn-us.eachlabs.ai/defaults/cd288736ed0e4005ae31cace88b52ebc.mp4"
    },
    "webhook_url": ""
}' \
  https://api.eachlabs.ai/v1/prediction/

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.