Search Documentation
Search across all documentation pages
Input Metadata

The InputMetadata object

The InputMetadata object contains detailed information about your input file, populated automatically when Transcodely probes the source video. It is available on the Job object as input_metadata once the job reaches the probing status or later.

Use input metadata to inspect source properties (resolution, codec, frame rate, HDR format) before or during encoding. For delayed start jobs, metadata is available during the awaiting_confirmation status, allowing you to review source details and estimated costs before confirming.


Attributes

AttributeTypeDescription
formatstringContainer format of the input file (e.g., mp4, mkv, webm, mov, avi).
duration_msintegerTotal duration in milliseconds.
size_bytesintegerFile size in bytes.
bit_rateintegerOverall bitrate in bits per second.
videoobject | nullVideo stream information. See Video stream info. null if the input has no video stream.
audioobject | nullAudio stream information. See Audio stream info. null if the input has no audio stream.
probed_atstringISO 8601 timestamp of when probing completed.
{
  "format": "mp4",
  "duration_ms": 185400,
  "size_bytes": 245366784,
  "bit_rate": 10587000,
  "video": {
    "codec": "h264",
    "width": 1920,
    "height": 1080,
    "frame_rate": 23.976,
    "bit_rate": 10200000,
    "pixel_format": "yuv420p",
    "color_space": "bt709",
    "color_transfer": "bt709",
    "color_primaries": "bt709",
    "duration_ms": 185400,
    "chroma_location": "left",
    "bit_depth": 8,
    "interlaced": false,
    "frame_count": 4445,
    "display_aspect_ratio": "16:9",
    "sample_aspect_ratio": "1:1"
  },
  "audio": {
    "codec": "aac",
    "sample_rate": 48000,
    "channels": 2,
    "channel_layout": "stereo",
    "bit_rate": 320000,
    "duration_ms": 185400,
    "bits_per_sample": 32,
    "language": "eng",
    "is_default": true
  },
  "probed_at": "2025-02-28T10:00:02Z"
}

Video stream info

The video object contains properties of the primary video stream.

AttributeTypeDescription
codecstringVideo codec identifier (e.g., h264, hevc, vp9, av1, prores, mpeg2video).
widthintegerFrame width in pixels.
heightintegerFrame height in pixels.
frame_ratenumberFrame rate in frames per second (e.g., 23.976, 29.97, 30, 59.94, 60).
bit_rateintegerVideo stream bitrate in bits per second.
pixel_formatstringPixel format (e.g., yuv420p, yuv422p10le, yuv420p10le, rgb24). The 10le suffix indicates 10-bit depth.
color_spacestring | nullColor space (e.g., bt709, bt2020nc, smpte170m). Indicates SDR vs HDR source.
color_transferstring | nullTransfer characteristics (e.g., bt709, smpte2084 for PQ/HDR10, arib-std-b67 for HLG).
color_primariesstring | nullColor primaries (e.g., bt709, bt2020).
duration_msintegerVideo stream duration in milliseconds.
chroma_locationstring | nullChroma sample location (e.g., left, center, topleft).
bit_depthinteger | nullBits per color channel. Common values: 8 (SDR), 10 (HDR), 12 (professional).
interlacedboolean | nullWhether the source is interlaced. false for progressive scan.
frame_countinteger | nullTotal number of frames in the video stream.
display_aspect_ratiostring | nullDisplay aspect ratio (e.g., 16:9, 4:3, 2.35:1).
sample_aspect_ratiostring | nullSample (pixel) aspect ratio (e.g., 1:1 for square pixels).

Detecting HDR content

You can identify HDR content by inspecting the color properties:

HDR Formatcolor_transfercolor_primariesbit_depth
SDRbt709bt7098
HDR10 / HDR10+smpte2084bt202010
HLGarib-std-b67bt202010
Dolby Visionsmpte2084bt202010
{
  "codec": "hevc",
  "width": 3840,
  "height": 2160,
  "frame_rate": 23.976,
  "bit_rate": 45000000,
  "pixel_format": "yuv420p10le",
  "color_space": "bt2020nc",
  "color_transfer": "smpte2084",
  "color_primaries": "bt2020",
  "duration_ms": 7200000,
  "bit_depth": 10,
  "interlaced": false,
  "frame_count": 172657,
  "display_aspect_ratio": "16:9",
  "sample_aspect_ratio": "1:1"
}

Audio stream info

The audio object contains properties of the primary audio stream.

AttributeTypeDescription
codecstringAudio codec identifier (e.g., aac, opus, mp3, flac, ac3, eac3, pcm_s16le).
sample_rateintegerSample rate in Hz (e.g., 44100, 48000, 96000).
channelsintegerNumber of audio channels (e.g., 1 for mono, 2 for stereo, 6 for 5.1).
channel_layoutstringChannel layout (e.g., mono, stereo, 5.1, 7.1).
bit_rateintegerAudio stream bitrate in bits per second.
duration_msintegerAudio stream duration in milliseconds.
bits_per_sampleinteger | nullBits per audio sample (e.g., 16, 24, 32).
languagestring | nullAudio language as ISO 639-2 three-letter code (e.g., eng, spa, fra).
is_defaultboolean | nullWhether this is the default audio track.
{
  "codec": "eac3",
  "sample_rate": 48000,
  "channels": 6,
  "channel_layout": "5.1",
  "bit_rate": 640000,
  "duration_ms": 7200000,
  "bits_per_sample": 32,
  "language": "eng",
  "is_default": true
}

Availability

The input_metadata field on the Job object is populated after probing completes. Its availability depends on the current job status:

Job Statusinput_metadata
pendingnull — probing has not started.
probingnull — probing is in progress.
awaiting_confirmationAvailable — probing is complete, job is paused for cost review.
processingAvailable.
completedAvailable.
failedMay be available if probing completed before the failure.
canceledMay be available if probing completed before cancellation.