Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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
This API
curl "https://apis.io/api/v1/apis/ffmpeg-api-com:ffmpeg-api-com-ffmpeg-api"
All apis
curl "https://apis.io/api/v1/apis?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.
OpenAPI Specification
openapi: 3.2.0
info:
title: F Fmpeg API
version: 1.0.0
description: This is the documentation for the FFmpeg REST API.
termsOfService: https://ffmpeg-api.com/terms
contact:
name: FFmpeg API Support
email: support@ffmpeg-api.com
tags:
- name: FFmpeg
description: For running FFmpeg tasks
paths:
/ffmpeg/run:
post:
tags:
- FFmpeg
deprecated: true
summary: Execute an FFmpeg task with inputs and outputs
description: 'Deprecated: use POST /ffmpeg/process instead. Submit a JSON-encoded FFmpeg task via multipart/form-data. Provide a `command` field that describes inputs, outputs, and options.'
operationId: post_FfmpegRun
parameters:
- schema:
type: string
description: 'Your secret API key. Format: Basic <key>'
required: true
description: 'Your secret API key. Format: Basic <key>'
name: Authorization
in: header
requestBody:
content:
multipart/form-data:
schema:
allOf:
- type: object
properties:
command:
type: string
description: 'JSON string describing the FFmpeg task. Example shape: { inputs: [{ file, options }], outputs: [{ file, options }] }.'
required:
- command
- type: object
additionalProperties: {}
responses:
'200':
description: Successful response with the execution result.
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
result: {}
required:
- ok
/ffmpeg/process:
responses:
'200':
description: Successful response with the execution result.
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
result:
type: array
items:
type: object
properties:
size_bytes:
type: number
description: File size in bytes
download_url:
type: string
description: Pre-signed download URL for the file
file_name:
type: string
description: Name of the output file
required:
- size_bytes
- download_url
- file_name
description: Array of output files with download URLs and metadata.
usage:
type: object
properties:
time_sec:
type: number
description: Processing time in seconds
input_size_gb:
type: number
description: Total input file size in GB
output_size_gb:
type: number
description: Total output file size in GB
gb_sec:
type: number
description: GB-seconds of compute usage
required:
- time_sec
- input_size_gb
- output_size_gb
- gb_sec
description: Processing usage statistics
required:
- ok
- result
- usage
post:
tags:
- FFmpeg
summary: Process an FFmpeg task
description: 'Submit a JSON-encoded FFmpeg task. Each input''s `file_path` can be either `/` (uploaded file) or a direct HTTPS URL. URL inputs are automatically imported to storage before processing. **Important**: Output files are registered in the target directory. Use `task.output_dir_id` to specify where outputs go, or it will be inferred from file_path inputs (or auto-created for URL-only requests).'
operationId: post_FfmpegProcess
parameters:
- schema:
type: string
description: 'Your secret API key. Format: Basic <key>'
required: true
description: 'Your secret API key. Format: Basic <key>'
name: Authorization
in: header
requestBody:
content:
application/json:
schema:
type: object
properties:
task:
type: object
properties:
inputs:
type: array
items:
type: object
properties:
file_path:
type: string
description: '`<dir_id>/<file_name>` of an uploaded file, or a direct HTTPS URL'
options:
type: array
items:
type: string
default: []
required:
- file_path
outputs:
type: array
items:
type: object
properties:
file:
type: string
description: 'Output file name, e.g. output.mp4 or output_%03d.png. **Warning**: Must not conflict with existing input filenames in the same directory.'
options:
type: array
items:
type: string
default: []
maps:
type: array
items:
type: string
required:
- file
filter_complex:
type: string
output_dir_id:
type: string
description: 'Target directory for outputs. If omitted: uses directory from file_path inputs, or creates a new temporary directory for URL-only inputs.'
required:
- inputs
- outputs
required:
- task
x-generated-from: documentation