Skip to main content

tezzinc — Python SDK

The official Python client for the Tezzinc video transcoding & subtitling platform. A thin, typed wrapper over the same REST API the console and the MCP server use.

pip install tezzinc

Quickstart

import os
from tezzinc import Tezzinc, TezzincError

client = Tezzinc(api_key=os.environ["TEZZINC_API_KEY"])   # or just Tezzinc()

# 1. Register a source
asset = client.assets.create(
    source_uri="https://example.com/clip.mp4",
    content_type="video/mp4",
)

# 2. Submit a transcode
job = client.jobs.create(
    asset_id=asset.id,
    spec={"preset_id": "h264_1080p"},
    correlation_id="my-first-job",
)
print("submitted", job.id, "status=", job.status)

# 3. Wait for it (polling; use a webhook on a server)
final = client.jobs.wait_for(job.id, timeout=600, poll_interval=2.0)

# 4. Read the outputs (signed, short-lived URLs)
for out in final.outputs:
    signed = client.outputs.signed_url(out.id, ttl_seconds=900)
    print(out.preset_id, out.byte_size, signed.url)

Configuration

The client reads the API key from, in order: the api_key= argument, the TEZZINC_API_KEY environment variable, or Tezzinc.from_config("config.json"). The base URL defaults to https://tezzinc.com and can be overridden with base_url= or TEZZINC_API_BASE.

Errors

Every non-2xx response raises TezzincError with .status (HTTP code), .code (machine-readable, e.g. "quota_exceeded"), .message, and .headers (read Retry-After on a 429). Transport failures raise TezzincConnectionError (a subclass, status == 0).

from tezzinc import TezzincError

try:
    client.jobs.create(asset_id=asset.id, spec={"preset_id": "h264_1080p"})
except TezzincError as e:
    if e.status == 429:
        retry_after = int(e.headers.get("Retry-After", "60"))
    elif e.status >= 500:
        ...  # retry with jitter

Resources

Namespace Methods
client.assets create, get, list, delete
client.jobs create, get, list, cancel, wait_for
client.presets list
client.outputs signed_url

Responses are attribute-accessible (job.status, job.outputs[0].preset_id) and also expose .raw for the underlying dict.

MIT licensed.

Metadata

Release files for tezzinc 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tezzinc 0.1.0
File Size Uploaded Provenance Actions
tezzinc-0.1.0.tar.gz 10.5 kB Without provenance Details for tezzinc-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tezzinc 0.1.0
File Interpreter ABI Platform Actions
tezzinc-0.1.0-py3-none-any.whl Python 3 none any Details for tezzinc-0.1.0-py3-none-any.whl

Total release size: 19.8 kB

Release files / tezzinc-0.1.0.tar.gz

Download URL tezzinc-0.1.0.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6073cbeb8acb9edf64beef5d4d8ddec278d4277c940ee5e337d534e2005f1cc1
BLAKE2b-256 checksum
How to use checksums
e1fee953785ef35e4d4edd2d68a20f07ad435bf2308bb7cef8175024f2210b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Release files / tezzinc-0.1.0-py3-none-any.whl

Download URL tezzinc-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fa25b2dc62b9d9544495c4d90a8298c2d7b28f93ea80b8fe602a77a5570db7e1
BLAKE2b-256 checksum
How to use checksums
10ba44fa1993414987ea7ee88c63e3e434012c5de68d2b6197461024fbd3cb1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Security for tezzinc 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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page