Media Info
Probe a remote media file for container and stream metadata.
POST
15 credits
/v1/convert/media-info
curl -X POST "https://convert.toolkitapi.io/v1/convert/media-info" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"url": "https://toolkitapi.io/clip.mp4"}'
import httpx
resp = httpx.post(
"https://convert.toolkitapi.io/v1/convert/media-info",
json={"url": "https://toolkitapi.io/clip.mp4"},
)
print(resp.json())
const resp = await fetch("https://convert.toolkitapi.io/v1/convert/media-info", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({"url": "https://toolkitapi.io/clip.mp4"}),
});
const data = await resp.json();
console.log(data);
# See curl example
Response
200 OK
{
"format": "mov,mp4,m4a,3gp,3g2,mj2",
"streams": [
{"type": "video", "codec": "h264", "width": 1920, "height": 1080, "duration": 42.5},
{"type": "audio", "codec": "aac", "channels": 2, "sample_rate": 48000}
]
}
Try It Live
Live Demo
Response
Description
Probe a remote media file for container and stream metadata.
How to Use
1
1. POST a JSON body with the media `url`.
2
2. Inspect `format` for the container and iterate `streams[]` for per-track details.
About This Tool
Runs ffprobe against a remote media file and returns the container format together with per-stream metadata (codec, resolution, duration, bitrate, sample rate, and more). Useful for validation, transcoding preflight checks, and surfacing technical details in your UI.
No transcoding is performed — only a lightweight probe, so this endpoint completes quickly even for large files.
Why Use This Tool
- Upload validation — Reject files that don't meet resolution/codec requirements
- UI enrichment — Display duration and dimensions next to media thumbnails
- Transcode preflight — Decide whether a file needs conversion before running ffmpeg
- Asset cataloguing — Populate metadata fields when importing media into a DAM
Frequently Asked Questions
Is the file downloaded in full?
The service streams only as much of the file as ffprobe needs to read the header, which is usually a small fraction of the total.
Are subtitle tracks reported?
Yes — subtitle streams appear in `streams[]` with `type: "subtitle"`.
What if the URL isn't a media file?
The endpoint returns a 400 error with a message describing the probe failure.
Start using Media Info now
Get your free API key and make your first request in under a minute.