模型首次使用时才下载,首次运行较慢;从源码运行需 Python 3.14 并按平台安装对应 requirements 文件;YouTube URL 输入依赖 FFmpeg,macOS 需预先装好 Homebrew。
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.
iwr -useb https://tas.nevermindnilas.dev/install.ps1 | iex
tas --input episode.mp4 --interpolate --upscale支持 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 未说明具体显存要求。
一站式动漫视频 AI 增强工具,单次 GPU 处理完成超分、插帧、修复和去重
一站式动漫视频增强工具,一次处理即可完成 AI 超分、RIFE 补帧和画质修复,支持命令行、独立程序和 After Effects 插件。
核心能力
- 单次内存流水线完成解码到编码,无中间文件
- 内置动漫专用超分模型如 ShuffleCUGAN、Adore、AniScale 2
- 用 --smooth_dedup 检测二帧三帧并跨帧插帧保持原时长
- 用 --scenechange 在硬切处保持帧避免镜头间变形
- 支持 CUDA、TensorRT、DirectML、OpenVINO、NCNN、MPS、ROCm 多后端
容易踩的坑
- 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. --resizeis 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_deduptakes 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.--jsontakes 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) fromnvidia-vfx0.2.0.0. Requires an RTX 40/50 (Ada/Blackwell) GPU; older GPUs now fail with that requirement named instead ofcode -1999. - Added
rife4.26-ultrainterpolation (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
birefnetandbirefnet-rocmsegmentation 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.pthweights with CUDA. Newlinux-rocmdependency profile.
Changed
- PyTorch 2.14.1 → 2.15.0, torchvision 0.29.2 and
nelux0.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-windowsto 3.9; MPS now needs macOS 15 or newer. - Every
--encode_methodnow encodes in-process through Nelux; the FFmpeg-subprocess writer is gone. The plain names (x264,nvenc_h264,prores, ...) now give what their*_neluxtwins 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
-tensorrtno 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. --aeno longer waits for the pa
- Stages repeat and take their settings as values, run in the order typed:
- 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.pthweights with CUDA. Newlinux-rocmdependency profile. - Added
video_limbo-tensorrtandvideo_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. Addedtools/export_limbo_streaming.pyfor raw safetensors. - Added CUDA streaming depth methods
video_limboandvideo_limbo_v2, using the existing Limbo checkpoints and fixed resolutions with overlapping windows controlled by--depth_window. - Added CUDA depth methods
video_small_v3andvideo_base_v3, reusing DA3 Small/Base weights with cross-frame attention and overlapping 4/8/16/32-frame windows controlled by--depth_window. - Added
cyte2x anime upscaling for CUDA, MPS, TensorRT, DirectML, and OpenVINO; corrected Limbo V2 downloads to use its published upstream files. --inpoint/--outpointaccept frame points with anfsuffix (e.g.--inpoint 100f --outpoint 500f), resolved exactly without fps rounding; plain numbers stay seconds.--depth_method limbo_v2(pluslimbo_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_methodcombined with--bit_depth 16bitnow 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 forav1_nelux, p010le fornvenc_h265/h265/av1_nelux), mirroring the twin's 16-bit output. Requires nelux >= 0.17.0; an older installed nelux still downgrades loudly, andnvenc_h264_neluxstays 8-bit like its twin since NVENC H.264 has no 10-bit path.
Fixed
slow_x265andslow_x265_neluxnow select the profile from the output pixel format, allowing 16-bit input to encode without an incompatiblemainprofile 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_dedupoutput names carry the CLI--dedup_sensvalue (e.g.-Dedup35) instead of the mapped detector threshold (-Dedup0.965), which varied by backend.- A fractional
--upscale_factorvia--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 cartoonis rejected at startup with aCliValidationErrornaming the supported methods instead of failing late withNotImplementedErrorafter metadata probing.small_v2-tensorrtandog_small_v2-tensorrtengine builds no longer fail withDynamic input tensor input is missing dimensions; a failed build now raises instead of crashing onnum_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
- Added
- v2.9.62026-08-25 · 2026-08-25 19:56 UTC
查看更新说明
[2.9.6] - 2026-08-25
Added
--depth_method limbo(pluslimbo-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, whichadoreat 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_methodchoices were removed for licensing reasons, leavingsmall_v2,og_small_v2,video_small_v2,og_video_small_v2and the v3 family (20 in total).
Full Changelog: https://github.com/NevermindNilas/TheAnimeScripter/compare/v2.9.5...v2.9.6
- v2.9.52026-08-16 · 2026-08-16 12:23 UTC
查看更新说明
[2.9.5] - 2026-08-16
Behaviour change: an
*_nelux--encode_methodcombined with--bit_depth 16bitor--depthnow 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_scaleno 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--previewserver's port.- For clips whose slowdown was already baked in before export (a precomp render full of duplicate runs),
--smooth_dedup --interpolate_factor 1regenerates 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,gifandlossless*encode method now has a*_neluxtwin (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 insrc/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 vsclassicand 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 jpegwrites a JPEG image sequence, mirroringpng's folder/pattern and audio handling, as full-range 4:4:4 mjpeg at best quality; 8-bit only, so--bit_depth 16bitwarns and encodes 8-bit. A single PNG input with processing keeps an explicitjpegchoice (writes.jpg) instead of being forced to png.tests/test_docsDrift.pyfails when a CLI flag or an--encode_methodchoice is missing fromPARAMETERS.MD, when the docs name a flag the parser does not accept, or when an example uses a value outside a flag'schoices.tests/test_depthWriters.pyfails if a depth backend encodes with OpenCV instead of the shared writer.tests/test_runOutcome.pyfails 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(whichPARAMETERS.MDalready advertised) plus.m2ts,.mts,.mpg,.mpeg,.m2v,.flv,.wmvand.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.mp4rather than an output the muxer rejects. --interpolate_factorbelow 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 0now disables the cap, interpolating every duplicate run however long; previously values below 1 were clamped to 1. Negatives normalize to 0.*_neluxencoders honor--output_scalenatively 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.*_neluxencoders 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
.webmoutput no longer swapsav1_nelux/
- v2.9.02026-08-03 · 2026-08-03 19:59 UTC
查看更新说明
[2.9.0] - 2026-08-03
Highlights
Animation on twos and threes.
--smooth_dedupnow 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_scalewas 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_v3depth 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_dedupnow disables--dedupand enables--interpolate. Presets with both give a full-length interpolation.Removed:
--offline, and six depth choices that were never implemented.
Added
--smooth_dedupis now real dedup-aware interpolation, with--smooth_dedup_method,--smooth_dedup_sensand--smooth_dedup_max_span. Held drawings get interpolated motion at unchanged duration, with audio.tystatic type checking in CI (pinned 0.0.63). It fails only on first-party names that do not exist.
Changed
- An invalid
--<x>_methodnow 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.106to11.2.1.2on 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.25takes 2.8s instead of 24.0s. --smooth_dedupnow disables--dedupand enables--interpolate, instead of meaning "dedup, but keep the audio".- Interpolation drivers refresh the RIFE encoder once per pair, so
--interpolate_factor 3and up no longer reuse the previous pair's features. --dynamic_scalekeeps CUDA graphs instead of disabling them: +10.5% at 1080prife4.25, identical output. Factor 2 only.PARAMETERS.MDmodel tables matchparser.pyagain - 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. --stabilizecaches ORB features instead of recomputing them: +33% end-to-end, bit-identical.--obj_detectdraws onto the RGB frame directly: +10% at 4K, bit-identical.- Startup reads metadata with
nelux.probe()instead offfprobe, saving 20-250 ms. Needsnelux>=0.15.1. --previewsamples the writer's own frames, so the encode command is identical with preview on or off, at no throughput cost.--previewworks with the*_neluxencoders.importRifeArchlived as six copies; it is defined once now, so adding an arch is one edit.README.mdandPARAMETERS.MDlisted 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
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
🎬 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.
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_dedupdetects frames held on twos and threes and interpolates across them while keeping the original length and audio.--scenechangeholds the frame at hard cuts so nothing morphs between shots.--maskkeeps 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
| Feature | Flag | Models | Backends |
|---|---|---|---|
| Upscale | --upscale | ShuffleCUGAN, Adore, Fallin Soft/Strong, Cyte, SPAN, Open-Proteus, AniScale 2, RTMoSR, Saryn, Gauss, SmoSR, FigSR, AnimeSR, ArtCNN, NVIDIA Maxine VSR, your own Spandrel/ONNX model | CUDA · TRT · DML · OpenVINO · NCNN · MPS · ROCm |
| Interpolate | --interpolate | RIFE 4.6 – 4.26 (lite / heavy), RIFE Elexor, DistilDRBA, NVIDIA Maxine Frame Generation | CUDA · TRT · DML · OpenVINO · NCNN · MPS · ROCm |
| Restore (chainable) | --restore | Anime1080Fixer, SCUNet, NAFNet, DPIR, DeJPEG, DeH264, GaterV3, HurrDeblur, DeHalo, deepDeband, FastLineDarken, LineThinner, AutoCAS, Maxine denoise/deblur | CUDA · TRT · DML · OpenVINO · MPS · ROCm |
| Dedup | --dedup / --smooth_dedup | SSIM, MSE, VMAF, FlowNetS | CPU · CUDA · ROCm |
| Depth maps | --depth | Depth Anything V2 & 3, Video Depth Anything, Limbo V1/V2/V3 (anime), DA3 streaming | CUDA · TRT · DML · OpenVINO · MPS · ROCm |
| Segmentation | --segment | Anime Segmentation, BiRefNet (anime) | CUDA · TRT · DML · ROCm |
| Object detection | --obj_detect | YOLOv9 (MIT) S / M / L | TRT · DML · OpenVINO |
| Scene detection | --autoclip / --scenechange | PySceneDetect, TransNetV2, MaxxViT, SSIM/MSE | CPU · CUDA · TRT · DML · ROCm |
| Stabilize | --stabilize | Classic (feature tracking), DUT (deep mesh warp) | CPU · CUDA · ROCm |
| Motion blur | --moblur | RIFE-driven shutter simulation | CUDA · 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
| Edition | Platform | What it is |
|---|---|---|
| TAS-Standalone | Windows | Desktop app with its own backend: no Python, no terminal. Toggle steps into a chain, watch the live preview and save presets. |
| TAS-AdobeEdition | Windows, macOS | After Effects 2022+ panel. Follow the installation guide or the video tutorial. |
| CLI | Windows, 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
| Hardware | Use |
|---|---|
| NVIDIA RTX 20 – 50 / GTX 16 | CUDA (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
| Profile | For |
|---|---|
extra-requirements-windows.txt / -linux.txt | NVIDIA: CUDA, TensorRT, Maxine, plus everything in lite |
extra-requirements-windows-lite.txt / -linux-lite.txt | No CUDA: DirectML/OpenVINO, NCNN, CPU |
extra-requirements-linux-rocm.txt / -windows-rocm.txt | AMD ROCm (experimental). On Windows install it with --download_requirements windows-rocm, which adds the kernels for your GPU |
extra-requirements-macos.txt | Apple 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.
| Contributor | Contribution |
|---|---|
| hzwer | RIFE interpolation |
| Elexor | Modified RIFE (RIFE Elexor) |
| routineLife1 | DistilDRBA |
| HolyWu | vs-animesr |
| TencentARC | AnimeSR |
| styler00dollar (SUDO) | ShuffleCUGAN & ONNX models (VSGAN-tensorrt-docker) |
| renarchi | Adore, Fallin Soft & Strong |
| Sirosky | Open-Proteus, AniScale 2 (Upscale-Hub) |
| umzi | RTMoSR, GaterV3 |
| Kim2091 | DIS architecture (Gauss) |
| Artoriuz | ArtCNN |
| Phhofm | DeJPEG & DeH264 restoration |
| Zarxrax | Anime1080Fixer, BiRefNet-Real_Anime |
| ZhengPeng7 | BiRefNet architecture |
| SkyTNT | Anime segmentation |
| Raymond Zhou et al. | deepDeband |
| DepthAnything / ByteDance | Depth Anything V2, Video Depth Anything, Depth Anything 3 |
| Annbless | DUT video stabilization |
| soCzech | TransNetV2 shot detection |
| MultimediaTechLab / ibaiGorordo | YOLOv9 (MIT), ONNX port |
| AMD GPUOpen | FidelityFX CAS (AutoCAS) |
| NVIDIA | Maxine Video Effects SDK (VSR, denoise/deblur, Frame Generation) via nvidia-vfx |
| Project | Used for |
|---|---|
| FFmpeg | Codecs 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-dlp | URL input |
| PySceneDetect | Scene 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.
Licensed under AGPL-3.0. Some model weights carry their own terms; see THIRD_PARTY_NOTICES.md.