Tutorial · Python · ~10 min

Upscale Anime Video

Anime upscaling is its own craft — flat colors and crisp lines punish general-purpose models. Use one tuned for it.

PythonAnimeAPI

Why this matters

General upscalers over-sharpen flat anime colors and add halos on line art. Anime-tuned models keep lines crisp, colors flat, and backgrounds clean.

Old SD anime (480p, sometimes 360p) responds spectacularly to 2–4x model upscaling.

How it works

Submit with model=anime-x4 and low denoise; the API preserves line art and outputs a clean high-res master.

Submit a job with an input URL (S3, GCS or HTTPS), poll the job URL, and download the rendered output. No GPU, no queues, no ffmpeg builds to babysit.

Code

Python
import requests, time

API = "https://api.mlslabs.io/v1/super-resolution/jobs"
headers = {"X-API-Key": "YOUR_API_KEY"}
payload = {"input": "s3://bucket/episode.mkv", "scale": 2, "model": "anime-x4", "denoise": "low"}

resp = requests.post(API, json=payload, headers=headers)
job = resp.json()
while job["status"] not in ("succeeded", "failed"):
    time.sleep(3)
    job = requests.get(job["url"], headers=headers).json()

print("Output:", job["output_url"])

Pro tips

  • 2x is the sweet spot for most SD anime; 4x for the cleanest masters.
  • Disable denoise on cel animation — you want the grain gone but the art untouched.
  • Interpolate to 60fps after upscaling for the full modern-screening treatment.

Pricing note

Usage is metered per minute of media processed; the first tier is free each month. Volume discounts kick in automatically.

FAQ

Common questions

Does it handle subtitles baked into the frames?

They are treated as image content; for clean results, extract or erase subs before upscaling.

What about 4:3 aspect ratio?

Aspect is preserved; crop or pillarbox at your discretion.

Which formats work?

MKV, MP4, and AVI sources are all supported.