FFmpeg Micro for Python
The official Python client for the FFmpeg Micro API. FFmpeg Micro runs FFmpeg in the cloud: transcode and compress video, stitch clips, add text overlays, extract audio, generate thumbnails and transcribe speech through one API. There are no servers to manage and no FFmpeg builds to maintain.
pip install ffmpeg-micro
Quickstart
Get an API key from the FFmpeg Micro dashboard. The free plan needs no credit card.
import os
import time
import ffmpeg_micro
from ffmpeg_micro.models import CreateTranscodeRequest
config = ffmpeg_micro.Configuration(access_token=os.environ["FFMPEG_MICRO_API_KEY"])
with ffmpeg_micro.ApiClient(config) as client:
api = ffmpeg_micro.DefaultApi(client)
job = api.v1_transcodes_post(CreateTranscodeRequest.from_dict({
"inputs": [{"url": "https://example.com/input.mov"}],
"outputFormat": "mp4",
"preset": {"quality": "high", "resolution": "1080p"},
}))
while api.v1_transcodes_id_get(job.id).status not in ("completed", "failed", "canceled"):
time.sleep(5)
print(api.v1_transcodes_id_download_get(job.id).url)
Inputs can be public HTTP(S) URLs or files you upload first with v1_upload_presigned_url_post and v1_upload_confirm_post.
What it covers
Every endpoint in the FFmpeg Micro API:
- Transcodes: create, list, get, cancel and download jobs, including multi-video compositions, raw FFmpeg options and
@text-overlay - Uploads of your own files through presigned URLs
- FFprobe media metadata for any input
- Transcription of speech to text, with downloadable results
- Blueprints, which are ready-made multi-step video pipelines
- Generate endpoints for scenes, translation, images, speech and animation
Each method and model is documented in docs/. Method names follow the HTTP route (v1_transcodes_post is POST /v1/transcodes).
Notes
Transcode.inputs[].size_bytesis a decimal string on current jobs ("991017"), as the API returns it. The client exposes it as a wrapper; readsize_bytes.actual_instanceand convert withint(...).- Job status values are
pending,processing,completed,failedandcanceled.
Errors
Failed calls raise ffmpeg_micro.ApiException (subclasses include UnauthorizedException, NotFoundException and ServiceException). The exception's status and body carry the API's error response.
How it is built
The client is generated with OpenAPI Generator from the OpenAPI spec the API itself serves, so it always matches the live API. ./generate.sh regenerates it.
Links
- Website: https://www.ffmpeg-micro.com
- API docs: https://www.ffmpeg-micro.com/docs
- OpenAPI spec: https://api.ffmpeg-micro.com/openapi.yaml
MIT licensed.
Metadata
Release files for ffmpeg-micro 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ffmpeg_micro-0.1.0.tar.gz | 58.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ffmpeg_micro-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 217.8 kB
Release files / ffmpeg_micro-0.1.0.tar.gz
| Download URL | ffmpeg_micro-0.1.0.tar.gz |
|---|---|
| Size | 58.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c37647b6eec4d4e79467f2f6b6c735f7f2eddbe5134a929cd38f6173ffae6a2
|
|
BLAKE2b-256 checksum How to use checksums |
c6a04c9fc958f9d3b23ff95eda4de71c7ed6e4e9b9d994815a238d3b4f33d06a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / ffmpeg_micro-0.1.0-py3-none-any.whl
| Download URL | ffmpeg_micro-0.1.0-py3-none-any.whl |
|---|---|
| Size | 159.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
296c616c3d69573a3fc90f45650fc0f24beae29fd1bd1b7ef01e68ed81647818
|
|
BLAKE2b-256 checksum How to use checksums |
819abdb776b99034c24e3520a6dcd71daf6717eecc28592cf75619f8b6a90248
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logSecurity for ffmpeg-micro 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for ffmpeg_micro-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.