TheAnimeScripter

NevermindNilasAGPL-3.0活跃维护

一站式动漫视频增强工具,一次处理即可完成 AI 超分、RIFE 补帧和画质修复,支持命令行、独立程序和 After Effects 插件。

Anime Video Toolkit: AI upscale, RIFE interpolation and restore in one pass. CLI, Standalone and After Effects.

v3.0.0发布于 2026-11-01 16:24 UTC346star +1 / 7 天13fork同步于 2026-11-10 23:59 UTC

怎么上手

由 README 提炼,执行前请确认
iwr -useb https://tas.nevermindnilas.dev/install.ps1 | iex
tas --input episode.mp4 --interpolate --upscale
硬件要求按 README 说明

支持 NVIDIA RTX 20-50/GTX 16 用 CUDA 或 TensorRT,GTX 10 及更老用 DirectML;AMD/Intel Windows 用 DirectML 或 OpenVINO;Apple Silicon M1+ 用 MPS;AMD Linux/Windows 用 ROCm(实验性);NVIDIA Maxine 需 RTX 卡,Frame Generation 需 RTX 40/50。README 未说明具体显存要求。

支持 Apple Silicon需要 CUDA支持 ROCm / AMD
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一站式动漫视频 AI 增强工具,单次 GPU 处理完成超分、插帧、修复和去重

一站式动漫视频增强工具,一次处理即可完成 AI 超分、RIFE 补帧和画质修复,支持命令行、独立程序和 After Effects 插件。

核心能力

  • 单次内存流水线完成解码到编码,无中间文件
  • 内置动漫专用超分模型如 ShuffleCUGAN、Adore、AniScale 2
  • 用 --smooth_dedup 检测二帧三帧并跨帧插帧保持原时长
  • 用 --scenechange 在硬切处保持帧避免镜头间变形
  • 支持 CUDA、TensorRT、DirectML、OpenVINO、NCNN、MPS、ROCm 多后端

容易踩的坑

模型首次使用时才下载,首次运行较慢;从源码运行需 Python 3.14 并按平台安装对应 requirements 文件;YouTube URL 输入依赖 FFmpeg,macOS 需预先装好 Homebrew。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v3.0.0
  1. v3.0.0TheAnimeScripter - 3.0.0最新正式版2026-11-01 · 2026-11-01 16:24 UTC

    [3.0.0]

    Added

    • Stages repeat and take their settings as values, run in the order typed: --resize 720p --upscale span --interpolate rife4.26 --upscale shufflecugan --interpolate 3x --restore scunet nafnet. A repeat without values reuses the previous stage's settings; --upscale_method-style flags still work and apply to the last stage of their kind typed before them. See PARAMETERS.MD, Stages and values.
    • --resize is a stage with a target (1920x1080, 1440p, 4k, 0.5, 50%) that runs wherever it is typed; typed first it is done by the decoder, bit-identical to the old --resize --resize_factor.
    • --smooth_dedup takes values and can be followed by a second interpolation: --smooth_dedup 1x --interpolate 2x. Without values of its own it still takes over a single --interpolate, whatever long flags surround them.
    • --json takes a "chain" list (["resize 1440p", "upscale span", "interpolate rife4.26 3x"]) with the command line's value grammar.
    • Added NVIDIA Maxine Video Frame Generation interpolation (--interpolate_method maxine-low, maxine-medium, maxine-high) from nvidia-vfx 0.2.0.0. Requires an RTX 40/50 (Ada/Blackwell) GPU; older GPUs now fail with that requirement named instead of code -1999.
    • Added rife4.26-ultra interpolation (also -tensorrt, -directml, -openvino, -rocm, -mps): rife4.26-heavy's weights run as four flipped views averaged after every block, finished with a Catmull-Rom warp. On 442 held-out anime frames LPIPS 0.0842 → 0.0819 (closer on 87%), and on a panning fence the generated frames no longer lose 17% of their detail; it costs about 3–4× rife4.26-heavy's time and 4× its working VRAM (RTX 3090).
    • Added RIFE 4.26 and 4.26-heavy interpolation (rife4.26, rife4.26-heavy, each also -tensorrt, -directml, -openvino, -mps). 4.26 reuses the 4.25 architecture; 4.26-heavy keeps 4.25's block widths and widens the feature encoder to 16 channels.
    • Added birefnet and birefnet-rocm segmentation methods for anime video frames, using Zarxrax's BiRefNet Lite checkpoint and writing an RGBA matte.
    • Added -rocm (AMD ROCm/HIP, Linux) counterparts for all PyTorch CUDA paths: upscale, interpolate (RIFE/DistilDRBA), restore, dedup, scene-cut, segment, depth, motion blur, transnetv2 autoclip, and DUT stabilize. Eager, no CUDA graphs; shares .pth weights with CUDA. New linux-rocm dependency profile.

    Changed

    • PyTorch 2.14.1 → 2.15.0, torchvision 0.29.2 and nelux 0.22.0 (its 2.15 build; 0.21.0 does not import under 2.15) in every profile. Linux CUDA moves from cu130 to cu132 (2.15 has no cu130 wheels), ROCm from 7.2 to 7.14 (gfx900/gfx906 no longer supported), triton-windows to 3.9; MPS now needs macOS 15 or newer.
    • Every --encode_method now encodes in-process through Nelux; the FFmpeg-subprocess writer is gone. The plain names (x264, nvenc_h264, prores, ...) now give what their *_nelux twins did: within 0.2 dB of the old output and up to 18% smaller. QSV, AMF (not yet tested on AMD hardware), ProRes 4444 segment output and PNG/JPEG sequences included.
    • FFmpeg is no longer downloaded at startup (or installed with Homebrew on macOS): TAS fetches it the first time it is given a YouTube URL, for yt-dlp's stream merge.
    • RIFE -tensorrt no longer loads the PyTorch model when its engines are cached: the first frame's and a scene cut's encoder features now come from the pair engine, as every other frame's already did. Driver build 459 → 281 ms (rife4.26, 720p, RTX 3090); the first interpolated frame and the first one after a cut change slightly (~58-60 dB), all others are bit-identical.
    • PyTorch upscale and restore models load through the one spandrel architecture that claimed that weight file last time (recorded in .spandrelArchCache.json) instead of importing all ~47: −65 ms per start after the first. A changed weight file or any changed spandrel source falls back to full detection.
    • --ae no longer waits for the pa
  2. v2.10.0TheAnimeScripter - 2.10.0 - Friend Referrals + AMD ROCm Support!2026-09-20 · 2026-09-20 13:24 UTC
    查看更新说明

    [2.10.0]

    Added

    • Added -rocm (AMD ROCm/HIP, Linux) counterparts for all PyTorch CUDA paths: upscale, interpolate (RIFE/DistilDRBA/GMFSS), restore, dedup, scene-cut, segment, depth, motion blur, transnetv2 autoclip, and DUT stabilize. Eager, no CUDA graphs; shares .pth weights with CUDA. New linux-rocm dependency profile.
    • Added video_limbo-tensorrt and video_limbo_v2-tensorrt: locally exported multi-view engines with 4/8/16/32-frame windows, overlapping depth alignment, and exact-length tails. Source weights, resolution and precision have separate export caches; engines also track window size. Added tools/export_limbo_streaming.py for raw safetensors.
    • Added CUDA streaming depth methods video_limbo and video_limbo_v2, using the existing Limbo checkpoints and fixed resolutions with overlapping windows controlled by --depth_window.
    • Added CUDA depth methods video_small_v3 and video_base_v3, reusing DA3 Small/Base weights with cross-frame attention and overlapping 4/8/16/32-frame windows controlled by --depth_window.
    • Added cyte 2x anime upscaling for CUDA, MPS, TensorRT, DirectML, and OpenVINO; corrected Limbo V2 downloads to use its published upstream files.
    • --inpoint/--outpoint accept frame points with an f suffix (e.g. --inpoint 100f --outpoint 500f), resolved exactly without fps rounding; plain numbers stay seconds.
    • --depth_method limbo_v2 (plus limbo_v2-mps, limbo_v2-tensorrt, limbo_v2-openvino): Limbo-V2 anime depth finetune with the same fixed-resolution setup and backend coverage as v1; README and PARAMETERS.MD now list Limbo v1 and v2 side by side.

    Changed

    • Updated PyTorch to 2.14.0 and torchvision to 0.29.0 across all dependency profiles, with Triton 3.8 on Windows and PyTorch-2.14-compatible Nelux 0.19.0. Corrected mismatched CUDA wheel pins in the Linux profiles.
    • An *_nelux --encode_method combined with --bit_depth 16bit now stays on the in-process encoder instead of falling back to the plain FFmpeg twin: frames are carried as uint16 at full precision into a 10-bit pixel format (yuv444p10le, yuv420p10le for av1_nelux, p010le for nvenc_h265/h265/av1_nelux), mirroring the twin's 16-bit output. Requires nelux >= 0.17.0; an older installed nelux still downgrades loudly, and nvenc_h264_nelux stays 8-bit like its twin since NVENC H.264 has no 10-bit path.

    Fixed

    • slow_x265 and slow_x265_nelux now select the profile from the output pixel format, allowing 16-bit input to encode without an incompatible main profile error.
    • RIFE CUDA inference now orders input and timestep writes before inference, refreshes captured encoder features at higher interpolation factors, and clears warmup features when graph capture fails. This prevents intermittent incorrect interpolated frames and stale-feature output in eager fallback.
    • --dedup/--smooth_dedup output names carry the CLI --dedup_sens value (e.g. -Dedup35) instead of the mapped detector threshold (-Dedup0.965), which varied by backend.
    • A fractional --upscale_factor via --json/--preset (e.g. 2.5) is rejected at startup instead of silently passing the check while leaving 2.5 stored for model dims; whole-valued floats (2.0) are coerced to int.
    • --segment_method cartoon is rejected at startup with a CliValidationError naming the supported methods instead of failing late with NotImplementedError after metadata probing.
    • small_v2-tensorrt and og_small_v2-tensorrt engine builds no longer fail with Dynamic input tensor input is missing dimensions; a failed build now raises instead of crashing on num_io_tensors.
    • Video inputs with only 1 detected frame now warn to check the AE work area / prerender range and time remap.

    TAS Adobe Edition

    New

    • AMD ROCm model choices for upscaling, interpolation, restoration, depth, segmentation, duplicate removal, scene detection, automatic clipping, stabilization and motion blur. An AMD ROCm se
  3. v2.9.62026-08-25 · 2026-08-25 19:56 UTC
    查看更新说明

    [2.9.6] - 2026-08-25

    Added

    • --depth_method limbo (plus limbo-mps, limbo-tensorrt, limbo-openvino): Limbo-V1, an anime finetune of Depth Anything 3 small, dual-licensed CC BY-NC 4.0 with commercial use granted to TAS users; 239 fps at 1080p through TensorRT on a 3090.

    Fixed

    • TensorRT engine builds no longer fail with Could not find any implementation for node {ForeignNode[...]} on models whose whole graph fuses into one Myelin region, which adore at 1080p did on some driver/GPU combinations. Every engine now builds with a 4 GiB workspace budget instead of 1 GiB, which was fractionally under what such a build needs; engines already on disk are unaffected and inference VRAM is unchanged.

    Removed

    • 47 --depth_method choices were removed for licensing reasons, leaving small_v2, og_small_v2, video_small_v2, og_video_small_v2 and the v3 family (20 in total).

    Full Changelog: https://github.com/NevermindNilas/TheAnimeScripter/compare/v2.9.5...v2.9.6

  4. v2.9.52026-08-16 · 2026-08-16 12:23 UTC
    查看更新说明

    [2.9.5] - 2026-08-16

    Behaviour change: an *_nelux --encode_method combined with --bit_depth 16bit or --depth now runs the equivalent plain encoder instead, with a warning — losing the in-process encoder's speed, gaining an output that matches what was asked for. --output_scale no longer triggers the swap (nelux 0.18.0 resizes encoder-side); only an installed nelux older than 0.18.0 still downgrades it.

    Added

    • --preview_port (default 5000) picks the --preview server's port.
    • For clips whose slowdown was already baked in before export (a precomp render full of duplicate runs), --smooth_dedup --interpolate_factor 1 regenerates each duplicated slot as a true in-between at unchanged duration/fps; factor 1 is now pinned by tests as a supported path.
    • 16 new in-process encoders: every slow_*, *_animation*, 10-bit, vp9, prores, gif and lossless* encode method now has a *_nelux twin (22 of 32, from 6). Each mirrors its FFmpeg twin's settings — verified within 0.1 dB PSNR on real frames, prores within 0.03% of the twin's size. png/jpeg (image sequences) and the QSV/AMF families stay FFmpeg-only.
    • --stabilize_method dut: DUT deep unsupervised stabilization (RFDet keypoints + PWC-Net flow + learned mesh motion propagation and trajectory smoothing, MIT-licensed, vendored in src/stabilize/dut/), rendered as a per-region mesh warp at native resolution. On the 480-frame benchmark clip it cuts camera-path jitter 2.5-3.9x vs classic and keeps 87% of content in the worst frame vs 39%; CUDA only, ~19 fps e2e at 360p (24 fps analysis stage) vs classic's ~45.
    • --encode_method jpeg writes a JPEG image sequence, mirroring png's folder/pattern and audio handling, as full-range 4:4:4 mjpeg at best quality; 8-bit only, so --bit_depth 16bit warns and encodes 8-bit. A single PNG input with processing keeps an explicit jpeg choice (writes .jpg) instead of being forced to png.
    • tests/test_docsDrift.py fails when a CLI flag or an --encode_method choice is missing from PARAMETERS.MD, when the docs name a flag the parser does not accept, or when an example uses a value outside a flag's choices.
    • tests/test_depthWriters.py fails if a depth backend encodes with OpenCV instead of the shared writer.
    • tests/test_runOutcome.py fails if a standalone capability stops reporting its own outcome (a structural check — it pins the wiring, not the runtime behaviour).

    Changed

    • FFmpeg now comes from TAS-FFMPEG — one pinned, SHA256-verified 8.1.2 build per platform — instead of BtbN's and johnvansickle's rolling builds, so which FFmpeg you get no longer depends on the day you first ran TAS. macOS still installs FFmpeg with Homebrew and stays unpinned.
    • Directory batches now pick up .m4v (which PARAMETERS.MD already advertised) plus .m2ts, .mts, .mpg, .mpeg, .m2v, .flv, .wmv and .ogv, and name any media file they still skip instead of dropping it silently. A source in a container TAS cannot write (.wmv, .flv, ...) now produces an .mp4 rather than an output the muxer rejects.
    • --interpolate_factor below 1 is rejected at startup instead of producing a video 1/factor times longer than its audio; 0 and negatives are rejected instead of reaching the encoder as -r 0.0. Factor 1 is unchanged and still supported.
    • --smooth_dedup_max_span 0 now disables the cap, interpolating every duplicate run however long; previously values below 1 were clamped to 1. Negatives normalize to 0.
    • *_nelux encoders honor --output_scale natively via nelux 0.18.0's encoder-side resize instead of downgrading to the FFmpeg twin; nelux pin bumped 0.16.0 → 0.18.0.
    • *_nelux encoders now convert and tag colour like their FFmpeg twins: bt709 by default (byte-identical matrix; previously swscale's default bt470bg/601) and bt2020nc with the source's own transfer for a probed BT.2020 source.
    • A .webm output no longer swaps av1_nelux/
  5. v2.9.02026-08-03 · 2026-08-03 19:59 UTC
    查看更新说明

    [2.9.0] - 2026-08-03

    Highlights

    Animation on twos and threes. --smooth_dedup now works — real motion across held drawings, same length, audio kept.

    RIFE on NVIDIA was degraded. Every rife4.15-and-up model reused stale data. Fixed; output matches the reference again.

    RIFE on DirectML is ~2x faster. Part of the model ran on the CPU. AMD and Intel GPUs now run all of it.

    --dynamic_scale was worse than off. It picked its quality backwards. Corrected, and 10% faster.

    Faster all round. Dedup +33%, decode +12–21%, autoclip −24%, stabilize +33%, detection +10%. TensorRT rebuilds 24s to 3s.

    Broken output files. Wrong trim range, empty 16-bit files, 8-bit output from 10-bit NVENC, repeated depth frames.

    Runs that lied or hung. Failures reported success, some hung silently, and the non-NVIDIA fallback never fired.

    Also fixed. large_v3 depth 404'd on install, AnimeSR broke on odd resolutions, OpenVINO restore ran on CUDA.

    TAS-AdobeEdition. Drive navigation in the Media Browser, ordered restore chains, and install failures that say what went wrong.

    TAS-Standalone. New Windows desktop app, shipping with its own backend. Every setting, live progress, presets, themes.

    Updated. TensorRT 11.2, PyTorch 2.13, Python 3.14.6. Engines rebuild once.

    Behaviour change: --smooth_dedup now disables --dedup and enables --interpolate. Presets with both give a full-length interpolation.

    Removed: --offline, and six depth choices that were never implemented.


    Added

    • --smooth_dedup is now real dedup-aware interpolation, with --smooth_dedup_method, --smooth_dedup_sens and --smooth_dedup_max_span. Held drawings get interpolated motion at unchanged duration, with audio.
    • ty static type checking in CI (pinned 0.0.63). It fails only on first-party names that do not exist.

    Changed

    • An invalid --<x>_method now prints every valid choice, grouped by backend, instead of the first 10.
    • Bundled Python 3.14.5 to 3.14.6, and the Linux/macOS standalone build tag to 20260728.
    • TensorRT 11.1.0.106 to 11.2.1.2 on Windows and Linux, fixing 11.1's memory regressions. Engines rebuild once on first run.
    • TensorRT rebuilds reuse a timing cache keyed to your GPU and versions: rife4.25 takes 2.8s instead of 24.0s.
    • --smooth_dedup now disables --dedup and enables --interpolate, instead of meaning "dedup, but keep the audio".
    • Interpolation drivers refresh the RIFE encoder once per pair, so --interpolate_factor 3 and up no longer reuse the previous pair's features.
    • --dynamic_scale keeps CUDA graphs instead of disabling them: +10.5% at 1080p rife4.25, identical output. Factor 2 only.
    • PARAMETERS.MD model tables match parser.py again - MPS everywhere it exists, a backend matrix, and the models that were missing.
    • PyTorch 2.13.0 and torchvision 0.28.0 across every extra-requirements-*.txt.
    • --stabilize caches ORB features instead of recomputing them: +33% end-to-end, bit-identical.
    • --obj_detect draws onto the RGB frame directly: +10% at 4K, bit-identical.
    • Startup reads metadata with nelux.probe() instead of ffprobe, saving 20-250 ms. Needs nelux>=0.15.1.
    • --preview samples the writer's own frames, so the encode command is identical with preview on or off, at no throughput cost.
    • --preview works with the *_nelux encoders.
    • importRifeArch lived as six copies; it is defined once now, so adding an arch is one edit.
    • README.md and PARAMETERS.MD listed Rife Elexor as DirectML- and OpenVINO-capable when the CLI had no such choice. True as of this release.
    • test_frameWindow's DistilDRBA guard walks the AST instead of counting occurrences, so a new backend cannot fail it for the wrong reason.
    • Second dead-code sweep, no behavior change (-877 lines): shared padding and timestep helpers, plus a dozen unreachable functions and registry arms.
    • Dead-code cleanu

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    🎬 The Anime Scripter

    Free, open-source AI video enhancement for anime and beyond. Upscale, interpolate, restore and dedup in a single GPU pass from the CLI, a Windows desktop app, or directly inside After Effects.

    Release Downloads Discord License Stars

    Download Website Promo Video

    720p master → Adore 2x. More demos

    ✨ Why TAS

    • Anime-first models. Line-art-tuned upscalers (ShuffleCUGAN, Adore, Fallin, AniScale 2, Cyte), RIFE up to 4.26, anime depth (Limbo) and anime segmentation, plus general-purpose models for live action and games.
    • One pass, in memory. Decode → dedup → restore → interpolate ↔ upscale → encode runs as one pipeline with no intermediate files. NVDEC decoding, TensorRT engines and CUDA graphs keep the GPU busy.
    • Built for animation. --smooth_dedup detects frames held on twos and threes and interpolates across them while keeping the original length and audio. --scenechange holds the frame at hard cuts so nothing morphs between shots. --mask keeps HUDs and hardsubs from warping.
    • Runs on most GPUs. CUDA, TensorRT, DirectML, OpenVINO, NCNN/Vulkan, Apple Silicon (MPS) and AMD ROCm on Linux and Windows.
    • Works where you edit. A native After Effects panel, a standalone Windows app and a scriptable CLI with batch input and YouTube URLs.

    🧰 What it does

    FeatureFlagModelsBackends
    Upscale--upscaleShuffleCUGAN, Adore, Fallin Soft/Strong, Cyte, SPAN, Open-Proteus, AniScale 2, RTMoSR, Saryn, Gauss, SmoSR, FigSR, AnimeSR, ArtCNN, NVIDIA Maxine VSR, your own Spandrel/ONNX modelCUDA · TRT · DML · OpenVINO · NCNN · MPS · ROCm
    Interpolate--interpolateRIFE 4.6 – 4.26 (lite / heavy), RIFE Elexor, DistilDRBA, NVIDIA Maxine Frame GenerationCUDA · TRT · DML · OpenVINO · NCNN · MPS · ROCm
    Restore (chainable)--restoreAnime1080Fixer, SCUNet, NAFNet, DPIR, DeJPEG, DeH264, GaterV3, HurrDeblur, DeHalo, deepDeband, FastLineDarken, LineThinner, AutoCAS, Maxine denoise/deblurCUDA · TRT · DML · OpenVINO · MPS · ROCm
    Dedup--dedup / --smooth_dedupSSIM, MSE, VMAF, FlowNetSCPU · CUDA · ROCm
    Depth maps--depthDepth Anything V2 & 3, Video Depth Anything, Limbo V1/V2/V3 (anime), DA3 streamingCUDA · TRT · DML · OpenVINO · MPS · ROCm
    Segmentation--segmentAnime Segmentation, BiRefNet (anime)CUDA · TRT · DML · ROCm
    Object detection--obj_detectYOLOv9 (MIT) S / M / LTRT · DML · OpenVINO
    Scene detection--autoclip / --scenechangePySceneDetect, TransNetV2, MaxxViT, SSIM/MSECPU · CUDA · TRT · DML · ROCm
    Stabilize--stabilizeClassic (feature tracking), DUT (deep mesh warp)CPU · CUDA · ROCm
    Motion blur--moblurRIFE-driven shutter simulationCUDA · TRT · DML · MPS · ROCm

    Decoding and encoding run in-process through Nelux: x264/x265/AV1/VP9, NVENC, QSV, AMF, ProRes (with alpha), lossless, GIF and PNG/JPEG sequences.

    PARAMETERS.MD has every flag, every model with its backends, and recommendations by content type.

    📦 Get TAS

    EditionPlatformWhat it is
    TAS-StandaloneWindowsDesktop app with its own backend: no Python, no terminal. Toggle steps into a chain, watch the live preview and save presets.
    TAS-AdobeEditionWindows, macOSAfter Effects 2022+ panel. Follow the installation guide or the video tutorial.
    CLIWindows, macOS 15+ (Apple Silicon), Linux (source)Every option, scriptable. Nightly builds carry the newest features.

    Models download on first use, so the first run with a new model takes longer.

    Which backend fits your GPU

    HardwareUse
    NVIDIA RTX 20 – 50 / GTX 16CUDA (default) or -tensorrt for maximum speed
    NVIDIA GTX 10 and older-directml
    AMD / Intel on Windows-directml, or -openvino on Intel
    AMD on Linux or Windows-rocm (experimental)
    Apple Silicon (M1+)-mps
    Anything with Vulkan-ncnn (RIFE, ShuffleCUGAN, SPAN)

    NVIDIA Maxine methods need an RTX card (Frame Generation needs an RTX 40 or 50).

    🚀 Quick start

    Windows CLI one-liner. It installs into a TheAnimeScripter folder in the current directory and asks whether to add that folder to PATH:

    iwr -useb https://tas.nevermindnilas.dev/install.ps1 | iex
    

    Then run it. Without the installer, use python main.py in place of tas:

    # 2x interpolation, then 2x upscale, anime defaults
    tas --input episode.mp4 --interpolate --upscale
    
    # Values pick the model: RIFE 4.25 + TensorRT upscale, then resized to 4K
    tas --input episode.mp4 --interpolate rife4.25-tensorrt --upscale shufflecugan-tensorrt --resize 4k
    
    # Stages repeat, in the order typed: 720p → span → RIFE 4.26 2x → RIFE 4.26 3x (6x in total)
    tas --input episode.mp4 --resize 720p --upscale span --interpolate rife4.26 --interpolate 3x
    
    # Anime on twos → smooth motion, same length, cuts left untouched
    tas --input episode.mp4 --smooth_dedup --scenechange
    
    # Chain restorers, encode 10-bit
    tas --input old_show.mkv --restore deh264_real anime1080fixer --encode_method x265_10bit
    
    # Temporally stable depth map
    tas --input clip.mp4 --depth_method video_small_v2
    

    --input also takes folders, ;-separated lists, .txt batch files and URLs. Run tas --list_methods to explore, or tas -h for every option. Stages run in the order you type them (--upscale --interpolate upscales first), any stage can be typed again, and each takes its settings as values (--upscale span 4x, --dedup 40, --resize 1440p); the --upscale_method-style flags still work. See PARAMETERS.MD, Stages and values.

    TAS targets Python 3.14. Install the base requirements plus the profile for your platform:

    python -m pip install -r requirements.txt -r extra-requirements-windows.txt
    python main.py -h
    
    ProfileFor
    extra-requirements-windows.txt / -linux.txtNVIDIA: CUDA, TensorRT, Maxine, plus everything in lite
    extra-requirements-windows-lite.txt / -linux-lite.txtNo CUDA: DirectML/OpenVINO, NCNN, CPU
    extra-requirements-linux-rocm.txt / -windows-rocm.txtAMD ROCm (experimental). On Windows install it with --download_requirements windows-rocm, which adds the kernels for your GPU
    extra-requirements-macos.txtApple Silicon (MPS, macOS 15 or newer)

    Or let TAS install a profile for you: python main.py --download_requirements (it asks which to use, or picks one from your hardware when run without a terminal), or pass one by name, e.g. --download_requirements linux-rocm.

    FFmpeg is only needed for YouTube URL inputs, where yt-dlp merges the downloaded video and audio with it. TAS downloads it the first time you give it a URL; on macOS it runs brew install ffmpeg instead (Homebrew itself must already be installed). FFmpeg is GPL, so TAS does not ship it.

    Portable builds: see BUILD.md.

    🙏 Credits

    TAS builds on the work of many model authors and open-source projects. Third-party license notices are in THIRD_PARTY_NOTICES.md.

    ContributorContribution
    hzwerRIFE interpolation
    ElexorModified RIFE (RIFE Elexor)
    routineLife1DistilDRBA
    HolyWuvs-animesr
    TencentARCAnimeSR
    styler00dollar (SUDO)ShuffleCUGAN & ONNX models (VSGAN-tensorrt-docker)
    renarchiAdore, Fallin Soft & Strong
    SiroskyOpen-Proteus, AniScale 2 (Upscale-Hub)
    umziRTMoSR, GaterV3
    Kim2091DIS architecture (Gauss)
    ArtoriuzArtCNN
    PhhofmDeJPEG & DeH264 restoration
    ZarxraxAnime1080Fixer, BiRefNet-Real_Anime
    ZhengPeng7BiRefNet architecture
    SkyTNTAnime segmentation
    Raymond Zhou et al.deepDeband
    DepthAnything / ByteDanceDepth Anything V2, Video Depth Anything, Depth Anything 3
    AnnblessDUT video stabilization
    soCzechTransNetV2 shot detection
    MultimediaTechLab / ibaiGorordoYOLOv9 (MIT), ONNX port
    AMD GPUOpenFidelityFX CAS (AutoCAS)
    NVIDIAMaxine Video Effects SDK (VSR, denoise/deblur, Frame Generation) via nvidia-vfx
    ProjectUsed for
    FFmpegCodecs and containers (inside Nelux); URL download merging (yt-dlp)
    spandrel (chaiNNer-org; vendored TNTwise fork)Model architectures, custom models
    rife-ncnn-vulkan (nihui), TNTwise fork, Python wrapper (media2x)NCNN/Vulkan RIFE
    yt-dlpURL input
    PySceneDetectScene detection
    bolt-cep (Hyperbrew)After Effects panel framework

    Collaborators: Trentonom0r3 (TAS Adobe Edition) · Adegerard (architecture & optimization suggestions)

    Missing someone? Email [email protected] or open an issue.

    Star History Chart

    Licensed under AGPL-3.0. Some model weights carry their own terms; see THIRD_PARTY_NOTICES.md.