Key naming rules: input keys in input_files must start with in_ (e.g. in_1, in_video); output keys in output_files must start with out_ (e.g. out_1, out_gif). Reference them as {{in_1}} / {{out_1}} placeholders inside ffmpeg_command.Runtime cap: max_command_run_seconds defaults to 300s (5 minutes). It’s a safety cap that aborts runaway FFmpeg jobs — set it explicitly on longer jobs to match the expected runtime. Maximum depends on your plan.Input URLs: any publicly accessible HTTP/HTTPS URL works — Google Drive share links, Dropbox, public/signed S3/GCS, CDNs.
Request model for submitting a single FFmpeg command.
This model allows submitting an FFmpeg command with input and output file specifications.
Input file aliases must start with 'in_' and direct to a publicly accessible file, and
output file aliases must start with 'out_' and only name a file name to be created.
If you're using an automation platform where curly brackets are used special as characters
(like make.com, zapier, or other) add backslashes before the curly brackets, for example, replace {{in_1}} with backslashes and brackets \{\{in_1\}\}.
FFmpeg command string using {{alias}} placeholders for input and output files.
Input file keys should start with 'in_' prefix, for example: in_video1. Output file keys should start with 'out_' prefix, for example: out_1.
If you're using an automation platform where curly brackets are used special as characters (like make.com, zapier, or other) add backslashes before the curly brackets, for example, replace {{in_1}} with backslashes and brackets \{\{in_1\}\}.
Dictionary mapping file aliases to their publicly accessible paths,
file name should appear in the end of the url, keys are alphanumeric, with underscore allowed, must start with 'in_'.
You can use public file urls, google drive, dropbox, rendi stored files, s3 stored files, etc. as long as they are publicly accessible.
If not available, input_compressed_folder has to be provided
Number of virtual CPUs to use for a single ffmpeg command, the default is 8, up to your account's maximum. Multiple commands can run in parallel as long as their total vCPU usage doesn't exceed your quota.
Metadata to be stored with the command, useful for webhooks and custom tracking and reporting. Up to 10 key-value pairs; each key and each string value must be at most 512 characters.
If true, the command's output files are placed in private storage and can only be downloaded via a presigned URL (request one by passing presigned_ttl_seconds on the poll endpoint). Not available on free plans.
A single compressed zip archive containing input media files.
Provide either this field or input_files, but not both. Value should be a publicly accessible URL or a rendi storage URL.
This field is only available for single FFmpeg commands, not chained commands.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rendi - FFmpeg API","description":"Rendi - FFmpeg API - Documentation","colors":{"primary":"#6BB666","light":"#F3FFB7","dark":"#6BB666"},"logo":{"light":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_light.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=9221ec14a8479069fb9656f72cb52c3c","dark":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_dark.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=6f9b0a9e2ae19a1062d9415927758188","href":"https://rendi.dev/"},"favicon":"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/favicon_rendi.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=5b2fa0a0cfb3e3bb80e6d6e2f26eadb6","appearance":{"default":"light"},"navbar":{"links":[{"href":"https://github.com/orgs/rendi-api/discussions","label":"Support"},{"href":"https://app.rendi.dev/sign-in","label":"Sign In"}],"primary":{"type":"button","label":"Get Started","href":"https://app.rendi.dev/sign-up?loc=docs-top-right"}},"footer":{"socials":{"x":"https://x.com/rendi_dev","youtube":"https://www.youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw","github":"https://github.com/rendi-api/ffmpeg-cheatsheet"}},"seo":{"metatags":{"description":"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.","og:site_name":"Rendi - FFmpeg API - Documentation","og:description":"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.","og:url":"https://rendi.dev/docs","og:locale":"en_US","og:logo":"/logo/rendi_logo.svg","twitter:description":"Learn how to run FFmpeg online easily - no installation needed. Fast, scalable, and reliable FFmpeg as a Service."}},"integrations":{"ga4":{"measurementId":"G-TX18XXSKL8"},"gtm":{"tagId":"GTM-5892H3NR"},"hotjar":{"hjid":"5186749","hjsv":"6"},"mixpanel":{"projectToken":"28dc0233f8ad77a5de6722a2dddabaf5"}},"contextual":{"options":["view","copy","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/rendi-api/ffmpeg-cheatsheet"},{"anchor":"System Status","icon":"display-chart-up","href":"https://status.rendi.dev"},{"anchor":"YouTube","icon":"youtube","href":"https://youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw\u0026si=VqyZiQMBqJrbrngc"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rendi","hasAudioNarration":false,"actualSubdomain":"rendi","customDomains":["rendi.dev"],"gitSource":{"type":"github","owner":"rendi-api","repo":"rendi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae74578f7d3a0f8561dcd62","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"API Reference","count":14},{"language":"default","tag":"Examples","count":14},{"language":"default","tag":"Features","count":6},{"language":"default","tag":"File Storage","count":4},{"language":"default","tag":"Listing Assets","count":4},{"language":"default","tag":"Generate","count":4},{"language":"default","tag":"Deleting Assets","count":3},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Convert","count":3}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/run-ffmpeg-command","slug":"/api-reference/endpoint/run-ffmpeg-command","pageMetadata":{"title":"Run FFmpeg Command","openapi":"POST /v1/run-ffmpeg-command","description":"Submit an FFmpeg command for processing with input and output file specifications.","href":"/api-reference/endpoint/run-ffmpeg-command"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Submit an FFmpeg command for processing with input and output file specifications.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Note}=_components;if(!Note)_missingMdxReference(`Note`,true);return _jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Key naming rules`}),`: input keys in `,_jsx(_components.code,{children:`input_files`}),` must start with `,_jsx(_components.code,{children:`in_`}),` (e.g. `,_jsx(_components.code,{children:`in_1`}),`, `,_jsx(_components.code,{children:`in_video`}),`); output keys in `,_jsx(_components.code,{children:`output_files`}),` must start with `,_jsx(_components.code,{children:`out_`}),` (e.g. `,_jsx(_components.code,{children:`out_1`}),`, `,_jsx(_components.code,{children:`out_gif`}),`). Reference them as `,_jsx(_components.code,{children:`{{in_1}}`}),` / `,_jsx(_components.code,{children:`{{out_1}}`}),` placeholders inside `,_jsx(_components.code,{children:`ffmpeg_command`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Runtime cap`}),`: `,_jsx(_components.code,{children:`max_command_run_seconds`}),` defaults to 300s (5 minutes). It’s a safety cap that aborts runaway FFmpeg jobs — set it explicitly on longer jobs to match the expected runtime. Maximum depends on your plan.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Input URLs`}),`: any publicly accessible HTTP/HTTPS URL works — Google Drive share links, Dropbox, public/signed S3/GCS, CDNs.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Run FFmpeg Command","openapi":"POST /v1/run-ffmpeg-command","description":"Submit an FFmpeg command for processing with input and output file specifications.","href":"/api-reference/endpoint/run-ffmpeg-command"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["API","FFmpeg Commands"],"summary":"Run FFmpeg Command","description":"Submit an FFmpeg command for processing with input and output file specifications.","operationId":"run_ffmpeg_command_v1_run_ffmpeg_command_post","requestBody":"bddbb969-5cfb-4c9f-951f-dfa8cb7e3be5","responses":{"200":"4ac677b2-de67-4680-ad93-b9f0c393018c","401":"db4332f8-6e0c-49bc-9983-05564adb31f1","403":"794611fd-cf92-4aa7-9882-d7fe9cdd5e54","422":"56ac9a03-c767-409b-9f2b-ea142f1417e1","429":"333ea261-c719-4f45-a097-7ac0a9287381"},"security":["1ce94b94-adb2-4dd0-af16-43433cd54fde"],"method":"post","type":"path","servers":["d582982c-db85-4362-982a-9f76c7a080f9"],"path":"/v1/run-ffmpeg-command","baseUrlOptions":["https://api.rendi.dev"],"title":"Run FFmpeg Command","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"output_files":{"oneOf":[{"type":"object","title":"Output files","description":"Dictionary mapping file aliases to their desired output file names, keys are alphanumeric, with underscore allowed, must start with 'out_'.","example":{"out_1":"output_one.mp4","out_2":"output_two.mp4"},"additionalProperties":{"type":"string","uniqueKey":"output_files.oneOf.0.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"output_files.oneOf.0","typeLabel":"Output files · object"},{"type":"string","title":"Output folder","description":"The literal string 'OUTPUT_FOLDER' indicating compressed folder output.","const":"OUTPUT_FOLDER","example":"OUTPUT_FOLDER","isRequired":true,"uniqueKey":"output_files.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"output_files","typeLabel":"Output files · object | string"},"ffmpeg_command":{"type":"string","title":"Ffmpeg Command","description":"FFmpeg command string using {{alias}} placeholders for input and output files.\nInput file keys should start with 'in_' prefix, for example: in_video1. Output file keys should start with 'out_' prefix, for example: out_1.\nIf you're using an automation platform where curly brackets are used special as characters (like make.com, zapier, or other) add backslashes before the curly brackets, for example, replace {{in_1}} with backslashes and brackets \\\\{\\\\{in_1\\\\}\\\\}.","examples":["-i {{in_1}} -i {{in_2}} -filter_complex \"[0:v][1:v]hstack=inputs=2[v]\" -map [v] {{out_1}}"],"isRequired":true,"uniqueKey":"ffmpeg_command","typeLabel":"string"},"input_files":{"oneOf":[{"type":"object","title":"Input Files","description":"Dictionary mapping file aliases to their publicly accessible paths, \n file name should appear in the end of the url, keys are alphanumeric, with underscore allowed, must start with 'in_'. \n You can use public file urls, google drive, dropbox, rendi stored files, s3 stored files, etc. as long as they are publicly accessible. \n If not available, input_compressed_folder has to be provided","example":{"in_1":"https://storage.rendi.dev/sample/big_buck_bunny_720p_5sec_intro.mp4","in_2":"https://storage.rendi.dev/sample/big_buck_bunny_720p_5sec_outro.mp4"},"additionalProperties":{"type":"string","uniqueKey":"input_files.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"input_files.oneOf.0","typeLabel":"Input Files · object"},{"type":"null","title":"Input Files","description":"Dictionary mapping file aliases to their publicly accessible paths, \n file name should appear in the end of the url, keys are alphanumeric, with underscore allowed, must start with 'in_'. \n You can use public file urls, google drive, dropbox, rendi stored files, s3 stored files, etc. as long as they are publicly accessible. \n If not available, input_compressed_folder has to be provided","example":{"in_1":"https://storage.rendi.dev/sample/big_buck_bunny_720p_5sec_intro.mp4","in_2":"https://storage.rendi.dev/sample/big_buck_bunny_720p_5sec_outro.mp4"},"uniqueKey":"input_files.oneOf.1","typeLabel":"null"}],"uniqueKey":"input_files","typeLabel":"Input Files · object | null"},"max_command_run_seconds":{"type":"number","exclusiveMinimum":0,"title":"Max Command Run Seconds","description":"Maximum allowed runtime in seconds for a single FFmpeg command, the default is 300 seconds","examples":[300],"uniqueKey":"max_command_run_seconds","typeLabel":"number"},"vcpu_count":{"type":"integer","exclusiveMinimum":0,"title":"Vcpu Count","description":"Number of virtual CPUs to use for a single ffmpeg command, the default is 8, up to your account's maximum. Multiple commands can run in parallel as long as their total vCPU usage doesn't exceed your quota.","examples":[8],"uniqueKey":"vcpu_count","typeLabel":"integer"},"metadata":{"oneOf":[{"type":"object","title":"Metadata","description":"Metadata to be stored with the command, useful for webhooks and custom tracking and reporting. Up to 10 key-value pairs; each key and each string value must be at most 512 characters.","maxProperties":10,"minProperties":0,"example":{"key":"value"},"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"metadata.oneOf.0.additionalProperties.oneOf.3","typeLabel":"boolean"}],"uniqueKey":"metadata.oneOf.0.additionalProperties","typeLabel":"string | integer | number | boolean"},"uniqueKey":"metadata.oneOf.0","typeLabel":"Metadata · object"},{"type":"null","title":"Metadata","description":"Metadata to be stored with the command, useful for webhooks and custom tracking and reporting. Up to 10 key-value pairs; each key and each string value must be at most 512 characters.","example":{"key":"value"},"uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"Metadata · object | null"},"is_private":{"type":"boolean","title":"Is Private","description":"If true, the command's output files are placed in private storage and can only be downloaded via a presigned URL (request one by passing `presigned_ttl_seconds` on the poll endpoint). Not available on free plans.","default":false,"examples":[false],"uniqueKey":"is_private","typeLabel":"boolean"},"input_compressed_folder":{"oneOf":[{"type":"string","title":"Input Compressed Folder","description":"A single compressed zip archive containing input media files. \n Provide either this field or input_files, but not both. Value should be a publicly accessible URL or a rendi storage URL.\n This field is only available for single FFmpeg commands, not chained commands.","example":"https://storage.rendi.dev/sample/playlist_sample.zip","uniqueKey":"input_compressed_folder.oneOf.0","typeLabel":"string"},{"type":"null","title":"Input Compressed Folder","description":"A single compressed zip archive containing input media files. \n Provide either this field or input_files, but not both. Value should be a publicly accessible URL or a rendi storage URL.\n This field is only available for single FFmpeg commands, not chained commands.","example":"https://storage.rendi.dev/sample/playlist_sample.zip","uniqueKey":"input_compressed_folder.oneOf.1","typeLabel":"null"}],"uniqueKey":"input_compressed_folder","typeLabel":"string | null"}},"type":"object","required":["output_files","ffmpeg_command"],"title":"FFmpegCommandRequest","description":"Request model for submitting a single FFmpeg command.\n\nThis model allows submitting an FFmpeg command with input and output file specifications.\nInput file aliases must start with 'in_' and direct to a publicly accessible file, and\noutput file aliases must start with 'out_' and only name a file name to be created.\n\nIf you're using an automation platform where curly brackets are used special as characters\n(like make.com, zapier, or other) add backslashes before the curly brackets, for example, replace {{in_1}} with backslashes and brackets \\\\{\\\\{in_1\\\\}\\\\}.","example":{"ffmpeg_command":"-i {{in_1}} -vf \"select='lte(t,60)*gt(trunc(t/10),trunc(prev_t/10))',setpts='PTS*0.025',scale=trunc(oh*a/2)*2:320:force_original_aspect_ratio=decrease,pad=trunc(oh*a/2)*2:320:-1:-1\" -an -vsync vfr {{out_1}}","input_files":{"in_1":"https://storage.rendi.dev/sample/sample.avi"},"max_command_run_seconds":300,"metadata":{"key":"value"},"output_files":{"out_1":"output1.gif"},"vcpu_count":8},"uniqueKey":"","typeLabel":"FFmpegCommandRequest · object"},"examples":{"Example":{"title":"Example","value":{"ffmpeg_command":"-i {{in_1}} -vf \"select='lte(t,60)*gt(trunc(t/10),trunc(prev_t/10))',setpts='PTS*0.025',scale=trunc(oh*a/2)*2:320:force_original_aspect_ratio=decrease,pad=trunc(oh*a/2)*2:320:-1:-1\" -an -vsync vfr {{out_1}}","input_files":{"in_1":"https://storage.rendi.dev/sample/sample.avi"},"max_command_run_seconds":300,"metadata":{"key":"value"},"output_files":{"out_1":"output1.gif"},"vcpu_count":8}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"4ac677b2-de67-4680-ad93-b9f0c393018c":{"description":"Successfully submitted FFmpeg command","content":{"application/json":{"schema":{"properties":{"command_id":{"type":"string","format":"uuid","title":"Command Id","description":"Unique identifier for the submitted command","examples":["123e4567-e89b-12d3-a456-426614174000"],"isRequired":true,"uniqueKey":"command_id","typeLabel":"string\u003cuuid>"}},"type":"object","required":["command_id"],"title":"RunCommandResponse","description":"Response model for command submission.\n\nContains the unique identifier assigned to the submitted command that can be used\nto poll for status and retrieve results.","uniqueKey":"","typeLabel":"RunCommandResponse · object"},"example":{"command_id":"123e4567-e89b-12d3-a456-426614174000"},"examples":{"Example":{"title":"Example","value":{"command_id":"123e4567-e89b-12d3-a456-426614174000"}}},"exampleType":"examples"}},"exampleType":"examples"},"db4332f8-6e0c-49bc-9983-05564adb31f1":{"description":"Invalid API key","content":{"application/json":{"example":{"detail":"Invalid authorization key"},"examples":{"Example":{"title":"Example","value":{"detail":"Invalid authorization key"}}},"exampleType":"examples"}},"exampleType":"examples"},"794611fd-cf92-4aa7-9882-d7fe9cdd5e54":{"description":"Account quota exceeded or plan does not support this command","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"56ac9a03-c767-409b-9f2b-ea142f1417e1":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"333ea261-c719-4f45-a097-7ac0a9287381":{"description":"Rate limit exceeded","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"1ce94b94-adb2-4dd0-af16-43433cd54fde":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-KEY","scopes":[],"schemeName":"APIKeyHeader"}}},"servers":{"d582982c-db85-4362-982a-9f76c7a080f9":{"url":"https://api.rendi.dev","description":"Rendi - FFmpeg API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-KEY","scopes":[],"schemeName":"APIKeyHeader"},"schema":{"title":"X-API-KEY","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"X-API-KEY"}],"title":"APIKeyHeader"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"rendi","siteName":"Rendi - FFmpeg API","title":"Run FFmpeg Command - Rendi - FFmpeg API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-26T08:25:33.973Z","originalFileLocation":"api-reference/endpoint/run-ffmpeg-command.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Submit an FFmpeg command for processing with input and output file specifications.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run FFmpeg Command - Rendi - FFmpeg API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to run FFmpeg online easily using Rendi’s FFmpeg API - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rendi - FFmpeg API - Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rendi.mintlify.site/docs/_mintlify/api/og/v2?division=Running+FFmpeg\u0026amp;title=Run+FFmpeg+Command\u0026amp;description=Submit+an+FFmpeg+command+for+processing+with+input+and+output+file+specifications.\u0026amp;theme=20f28108fb429c5ee8009a96\u0026amp;signature=5bef621c4fc705badd5aff21e5c4df5a0acfe1736a3ffaa2f5cbcd4aa6fddd49\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Run FFmpeg Command - Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to run FFmpeg online easily - no installation needed. Fast, scalable, and reliable FFmpeg as a Service.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rendi.mintlify.site/docs/_mintlify/api/og/v2?division=Running+FFmpeg\u0026amp;title=Run+FFmpeg+Command\u0026amp;description=Submit+an+FFmpeg+command+for+processing+with+input+and+output+file+specifications.\u0026amp;theme=20f28108fb429c5ee8009a96\u0026amp;signature=5bef621c4fc705badd5aff21e5c4df5a0acfe1736a3ffaa2f5cbcd4aa6fddd49\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/rendi/yMbVXDfCy7ERSCJP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rendi - FFmpeg API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6BB666\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"og:logo\" content=\"/logo/rendi_logo.svg\">\u003clink data-mint-head rel=\"canonical\" href=\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/endpoint/run-ffmpeg-command.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://rendi.dev/#organization\",\"name\":\"Rendi - FFmpeg API\",\"url\":\"https://rendi.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rendi/UkCjje3cRpAu-Pzn/logo/rendi_light.svg?fit=max\u0026auto=format\u0026n=UkCjje3cRpAu-Pzn\u0026q=85\u0026s=9221ec14a8479069fb9656f72cb52c3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://rendi.dev/docs#website\",\"name\":\"Rendi - FFmpeg API\",\"url\":\"https://rendi.dev/docs\",\"publisher\":{\"@id\":\"https://rendi.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command#webpage\",\"url\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command\",\"name\":\"Run FFmpeg Command\",\"description\":\"Submit an FFmpeg command for processing with input and output file specifications.\",\"dateModified\":\"2026-04-26T08:25:33.973Z\",\"isPartOf\":{\"@id\":\"https://rendi.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rendi - FFmpeg API\",\"item\":\"https://rendi.dev/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run FFmpeg Command\",\"item\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command#apireference\",\"headline\":\"Run FFmpeg Command\",\"name\":\"Run FFmpeg Command\",\"description\":\"Submit an FFmpeg command for processing with input and output file specifications.\",\"url\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command\",\"mainEntityOfPage\":{\"@id\":\"https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command#webpage\"},\"dateModified\":\"2026-04-26T08:25:33.973Z\",\"publisher\":{\"@id\":\"https://rendi.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://rendi.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rendi - FFmpeg API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rendi - FFmpeg API","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/rendi-api/ffmpeg-cheatsheet"},{"anchor":"System Status","icon":"display-chart-up","href":"https://status.rendi.dev"},{"anchor":"YouTube","icon":"youtube","href":"https://youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw\u0026si=VqyZiQMBqJrbrngc"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"API Reference","description":"Rendi FFmpeg API reference — authentication, endpoints, request/response formats.","href":"/api-reference/introduction"}]},{"group":"Running FFmpeg","pages":[{"title":"Run FFmpeg Command","openapi":"POST /v1/run-ffmpeg-command","href":"/api-reference/endpoint/run-ffmpeg-command"},{"title":"Run Chained FFmpeg Commands","openapi":"POST /v1/run-chained-ffmpeg-commands","description":"Submit multiple FFmpeg commands where following commands can depend on output of previous commands. Running chained FFmpeg commands is faster than running each command separately because we re-use system and network resources between the multiple ffmpeg commands. Processing quota is shared between the commands, and is more efficient than running each command separately.","href":"/api-reference/endpoint/run-chained-ffmpeg-commands"}]},{"group":"Listing Assets","pages":[{"title":"Poll FFmpeg Command","openapi":"GET /v1/commands/{command_id}","href":"/api-reference/endpoint/poll-command"},{"title":"List FFmpeg Commands","openapi":"GET /v1/commands","href":"/api-reference/endpoint/list-commands"},{"title":"Get File","openapi":"GET /v1/files/{file_id}","href":"/api-reference/endpoint/get-file"},{"title":"List Stored Files","openapi":"GET /v1/files","href":"/api-reference/endpoint/list-files"}]},{"group":"File Storage","pages":[{"title":"FFprobe and store a file","openapi":"POST /v1/files/store-file","href":"/api-reference/endpoint/store-file"},{"title":"Initiate a Multipart Upload","openapi":"POST /v1/files/init-upload","href":"/api-reference/endpoint/init-upload"},{"title":"Complete a Multipart Upload","openapi":"POST /v1/files/{file_id}/complete-upload","href":"/api-reference/endpoint/complete-upload"},{"title":"Abort a Multipart Upload","openapi":"POST /v1/files/{file_id}/abort-upload","href":"/api-reference/endpoint/abort-upload"}]},{"group":"Deleting Assets","pages":[{"title":"Delete Command Files","openapi":"DELETE /v1/commands/{command_id}/files","href":"/api-reference/endpoint/delete-command-files"},{"title":"Delete File","openapi":"DELETE /v1/files/{file_id}","href":"/api-reference/endpoint/delete-file"},{"title":"Delete Files in Bulk","openapi":"POST /v1/files/bulk-delete","href":"/api-reference/endpoint/delete-files"}]}]}]},"basePath":"","title":"Run FFmpeg Command - Rendi - FFmpeg API","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Do6EtGSl.js","utils-id4tQ6My.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-Byrixac4.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-nakYa3Zl.js","snippetPresets-Bq-pUS7h.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-CujTC_9K.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-FneVUsVu.js","shallow-DY9WpUCz.js","getApiPlaygroundDisplay-Bz8WpPfA.js","CodeSnippet-DgCuJg4G.js","CodeSnippets-Dub9c4T0.js","Page-CePXnjd1.js","getPastedJson-xdI8y2XB.js","icon--yVw5vkr.js","MethodPill-C47t7MdS.js","DuplicateIcon-BzwJ2LeC.js","createIcon-BzggGy84.js","DynamicMarkdown-AlxJK8VR.js","SectionHeading-CMlwFxdK.js","axios-vUo_bRtp.js","Markdown-BNgNrPsi.js","clsx-apD-Q0Oo.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-qmLwQyWY.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Dc4qTkWx.js"]}