Mediaconvert Api Video Description Structure
Settings related to video encoding of your output. The specific video settings depend on the video codec that you choose. When you work directly in your JSON job specification, include one instance of Video description (VideoDescription) per output.
VideoDescription is a JSON Structure definition published by Amazon MediaConvert, describing 15 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-mediaconvert/refs/heads/main/json-structure/mediaconvert-api-video-description-structure.json",
"name": "VideoDescription",
"type": "object",
"description": "Settings related to video encoding of your output. The specific video settings depend on the video codec that you choose. When you work directly in your JSON job specification, include one instance of Video description (VideoDescription) per output.",
"properties": {
"AfdSignaling": {
"allOf": [
{
"$ref": "#/components/schemas/AfdSignaling"
},
{
"xml": {
"name": "afdSignaling"
},
"description": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data."
}
]
},
"AntiAlias": {
"allOf": [
{
"$ref": "#/components/schemas/AntiAlias"
},
{
"xml": {
"name": "antiAlias"
},
"description": "The anti-alias filter is automatically applied to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting."
}
]
},
"CodecSettings": {
"allOf": [
{
"$ref": "#/components/schemas/VideoCodecSettings"
},
{
"xml": {
"name": "codecSettings"
},
"description": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AV1, Av1Settings * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings * XAVC, XavcSettings"
}
]
},
"ColorMetadata": {
"allOf": [
{
"$ref": "#/components/schemas/ColorMetadata"
},
{
"xml": {
"name": "colorMetadata"
},
"description": "Choose Insert (INSERT) for this setting to include color metadata in this output. Choose Ignore (IGNORE) to exclude color metadata from this output. If you don't specify a value, the service sets this to Insert by default."
}
]
},
"Crop": {
"allOf": [
{
"$ref": "#/components/schemas/Rectangle"
},
{
"xml": {
"name": "crop"
},
"description": "Use Cropping selection (crop) to specify the video area that the service will include in the output video frame."
}
]
},
"DropFrameTimecode": {
"allOf": [
{
"$ref": "#/components/schemas/DropFrameTimecode"
},
{
"xml": {
"name": "dropFrameTimecode"
},
"description": "Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled."
}
]
},
"FixedAfd": {
"allOf": [
{
"$ref": "#/components/schemas/__integerMin0Max15"
},
{
"xml": {
"name": "fixedAfd"
},
"description": "Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed (FixedAfd) to specify a four-bit AFD value which the service will write on all frames of this video output."
}
]
},
"Height": {
"allOf": [
{
"$ref": "#/components/schemas/__integerMin32Max8192"
},
{
"xml": {
"name": "height"
},
"description": "Use the Height (Height) setting to define the video resolution height for this output. Specify in pixels. If you don't provide a value here, the service will use the input height."
}
]
},
"Position": {
"allOf": [
{
"$ref": "#/components/schemas/Rectangle"
},
{
"xml": {
"name": "position"
},
"description": "Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black."
}
]
},
"RespondToAfd": {
"allOf": [
{
"$ref": "#/components/schemas/RespondToAfd"
},
{
"xml": {
"name": "respondToAfd"
},
"description": "Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output."
}
]
},
"ScalingBehavior": {
"allOf": [
{
"$ref": "#/components/schemas/ScalingBehavior"
},
{
"xml": {
"name": "scalingBehavior"
},
"description": "Specify how the service handles outputs that have a different aspect ratio from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the service stretch your video image to fit. Keep the setting Default (DEFAULT) to have the service letterbox your video instead. This setting overrides any value that you specify for the setting Selection placement (position) in this output."
}
]
},
"Sharpness": {
"allOf": [
{
"$ref": "#/components/schemas/__integerMin0Max100"
},
{
"xml": {
"name": "sharpness"
},
"description": "Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content."
}
]
},
"TimecodeInsertion": {
"allOf": [
{
"$ref": "#/components/schemas/VideoTimecodeInsertion"
},
{
"xml": {
"name": "timecodeInsertion"
},
"description": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does."
}
]
},
"VideoPreprocessors": {
"allOf": [
{
"$ref": "#/components/schemas/VideoPreprocessor"
},
{
"xml": {
"name": "videoPreprocessors"
},
"description": "Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default."
}
]
},
"Width": {
"allOf": [
{
"$ref": "#/components/schemas/__integerMin32Max8192"
},
{
"xml": {
"name": "width"
},
"description": "Use Width (Width) to define the video resolution width, in pixels, for this output. If you don't provide a value here, the service will use the input width."
}
]
}
}
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/mediaconvert-api-video-description-structure"
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.