Skip to content

FFmpeg API Metadata

Integrate

Model id ffmpeg-api/metadata
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/ffmpeg-api/metadata?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "media_url": "https://example.com/your-file.bin"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: ≈$0.001 1 API credit Run it on this page

Get API key
Utility · Data (JSON)

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

URL pointing to the video or audio file for analysis.

Advanced extract_frames
POST /run/ffmpeg-api/metadata?wait=20 quote → $0.001
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/ffmpeg-api/metadata?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "media_url": "https://example.com/your-file.bin"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About FFmpeg API Metadata

Analyzes the file at `media_url` and reports its technical details as a JSON object. Works for both video and audio. Set `extract_frames` to true to also grab the start and end frames of a video, which makes the request slower.

Parameters

NameType DefaultAllowed Description
media_urlrequired
Typestring
URL pointing to the video or audio file for analysis.
extract_framesoptional
Typeboolean
Defaultfalse
Enable extraction of each video's first and last frames by setting this to true, at the expense of slower request processing.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "ffmpeg-api/metadata",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 1,
    "usd": "0.001",
    "charged": 1,
    "refunded": 0
  },
  "input": {
    "media_url": "https://example.com/your-file.bin"
  },
  "output": {
    "media": {
      "media_type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "duration": 5,
      "bitrate": 1,
      "codec": "string",
      "container": "string",
      "fps": 1,
      "frame_count": 1,
      "timebase": "string",
      "resolution": {
        "aspect_ratio": "string",
        "width": 1024,
        "height": 768
      },
      "format": {
        "container": "string",
        "video_codec": "string",
        "profile": "string",
        "level": 1.0,
        "pixel_format": "string",
        "bitrate": 1
      },
      "audio": {
        "codec": "string",
        "channels": 1,
        "sample_rate": 1,
        "bitrate": 1
      },
      "start_frame_url": "string",
      "end_frame_url": "string"
    }
  },
  "outputs": [
    {
      "type": "file",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
media
object {media_type, url, content_type, file_name, file_size, duration, bitrate, codec, container, fps, frame_count, timebase, resolution, format, audio, start_frame_url, end_frame_url} | object {media_type, url, content_type, file_name, file_size, duration, bitrate, codec, container, channels, sample_rate}Metadata describing the audio or video file that was analyzed.

More models: Other

For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/ffmpeg-api/metadata.md. All models and guides: https://doitong.com/developers/llms.txt