Stay organized with collectionsSave and categorize content based on your preferences.
This page explains how to programmatically remove unwanted outer areas from an
input video. For information on how to trim the timeline of input videos, seeStream mappings.
Use thecropconfiguration field to specify the number of pixels to remove from each side of
the input video. You can add this configuration to ajob templateor include it in anad-hoc job configuration.
The following REST/JSON configuration removes 10 pixels from the top of an input
video. The input video is then scaled to meet the dimensions specified by thewidthPixelsandheightPixelsfields in the specified codec for thevideoStreamobject. The output video is then generated from this scaled intermediate video.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cropping a video\n\nThis page explains how to programmatically remove unwanted outer areas from an\ninput video. For information on how to trim the timeline of input videos, see\n[Stream mappings](/transcoder/docs/concepts/stream-mappings).\n\nUse the\n[`crop`](/transcoder/docs/reference/rest/v1/JobConfig#preprocessingconfig)\nconfiguration field to specify the number of pixels to remove from each side of\nthe input video. You can add this configuration to a\n[job template](/transcoder/docs/how-to/job-templates) or include it in an\n[ad-hoc job configuration](/transcoder/docs/how-to/jobs#create_jobs_ad_hoc).\n\nThe following REST/JSON configuration removes 10 pixels from the top of an input\nvideo. The input video is then scaled to meet the dimensions specified by the\n`widthPixels` and `heightPixels` fields in the specified codec for the\n[`videoStream`](/transcoder/docs/reference/rest/v1/JobConfig#videostream)\nobject. The output video is then generated from this scaled intermediate video. \n\n \"inputs\": [\n {\n \"key\": \"input0\",\n \"uri\": \"gs://\u003cvar translate=\"no\"\u003eSTORAGE_BUCKET_NAME\u003c/var\u003e/\u003cvar translate=\"no\"\u003eSTORAGE_INPUT_VIDEO\u003c/var\u003e\",\n \"preprocessingConfig\": {\n \"crop\": {\n \"topPixels\": 10\n }\n }\n }\n ],"]]