Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
6bd282b
build(amd): pin ROCm 10.0 / torch 2.12.0 / torchvision 0.27.0 on both…
Sep 28, 2026
82ecbba
fix(licensing): ship release notices
Sep 28, 2026
39f260a
Merge branch 'fix/issue-408'
Sep 28, 2026
61c81d1
Merge branch 'build/issue-408-rocm10'
Sep 28, 2026
7860ae3
build: depend on PyPI PyAV 18.1.0 instead of the fork build
Sep 28, 2026
fb9153f
build(nvidia): pin torch 2.12.1 and torchvision 0.27.1
Sep 28, 2026
26183cc
build: mark shell scripts executable
Sep 28, 2026
dbfe9b9
feat(gui): show the official supporter pages and explain rejected keys
Sep 28, 2026
b376a50
feat(sd15): use the updated SD15 checkpoint file
Sep 28, 2026
9ac5c8a
chore: bump protection submodule
Sep 28, 2026
c11a37e
chore: bump protection submodule
Sep 28, 2026
4de27c1
chore: bump protection submodule
Sep 28, 2026
3e33c97
fix: preserve existing supporter access
Sep 28, 2026
4727bdc
fix: improve supporter activation messages
Sep 28, 2026
ebfd785
chore: update private component
Sep 28, 2026
83f37d1
feat(ltx): add LTX-2.5 diffusion video restoration (--restoration-mod…
Sep 28, 2026
4c91a79
fix(ltx): load the supporter model bundle
Sep 28, 2026
946898d
docs: remove redundant license update note
Sep 28, 2026
5405e2b
docs: drop unreleased LTX key note from README
Sep 28, 2026
e15d00f
docs: drop unreleased LTX key note from GUI docs
Sep 28, 2026
ebd3329
fix(ltx): finish LTX videos without a decode crash
Sep 29, 2026
6eb3578
feat(ltx): add fast mode and faster LTX inference
Sep 29, 2026
d55328c
feat(ltx): use 512 px windows below 10 GB free VRAM
Sep 29, 2026
0e4051a
feat(ltx): read the sampler from the model file
Sep 29, 2026
e403bf7
feat(ltx): make 768 px windows opt-in (--ltx-large-canvas)
Sep 29, 2026
311b229
fix(ltx): show denoise progress per step and silence the compile cach…
Sep 29, 2026
8c5a5c9
feat(gui): pick the LTX restoration model in settings
Sep 29, 2026
9b1058e
fix(gui): title start errors "Can't start" instead of a TVAI error
Sep 29, 2026
cee90b0
feat(segments): restore each segment with its own model and LTX seed
Sep 29, 2026
d8f1b3d
feat(gui): show LTX progress, stage and time left in the progress bar
Sep 29, 2026
c35c8ea
feat(gui): choose the model and LTX seed per range in the segment editor
Sep 29, 2026
02c8115
refactor(ltx): split segment renders into prepare, denoise and compose
Sep 29, 2026
95edce6
feat(gui): try LTX seeds for a range in the segment editor
Sep 29, 2026
d969d96
fix(ltx): make a seed give the same pixels on every run
Sep 29, 2026
f506391
fix(gui): keep the range list visible under the range inspector
Sep 29, 2026
d447400
test(gui): build SegmentEditorState with a default restoration in sca…
Sep 29, 2026
efed032
fix(gui): keep three range rows visible beside the range settings
Sep 29, 2026
06c2d8b
feat(progress): show one bar for jobs that mix LTX and standard ranges
Sep 29, 2026
86d6eb8
feat(gui): name the default restoration model BasicVSR++ instead of S…
Sep 29, 2026
1a287be
fix(ltx): restore overlapping mosaic regions in full
Sep 29, 2026
a0e4291
perf(masks): share one exact GPU ellipse dilation
Sep 29, 2026
4f4539b
feat(ltx): choose distilled or undistilled model and download missing…
Sep 29, 2026
145035c
fix(gui): use the default LTX model until the GUI can choose one
Sep 29, 2026
4c8c9d8
feat(ltx): pick the undistilled model as --restoration-model-name ltx…
Sep 29, 2026
b43b2cc
test(session): expect the LTX model name in the segment-model load
Sep 29, 2026
11e18f6
feat(gui): choose the LTX model and download missing LTX models
Sep 29, 2026
3798dc5
feat(ltx): add --ltx-trial, a speed test without model files or a lic…
Sep 29, 2026
f3615be
fix(ltx): print the trial notice in the CLI, where warnings are hidde…
Sep 29, 2026
81dc8b0
feat(gui): add an LTX trial run that needs no license or model files
Sep 29, 2026
17b69b0
fix(windows): support ROCm imports and vendor-aware system checks
codex Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 47 additions & 27 deletions LICENSING.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,65 @@
# Licensing and source availability

This document describes how Jasna's public source and optional supporter
components are distributed. It does not replace the license notices in
individual files or grant additional permissions.
This document describes how Jasna's source, release packages, models, and
optional supporter components are distributed. It does not replace the
license notices in individual files or grant additional permissions.

## Public source
## Public application source

Unless an individual file states otherwise, the source code in this repository
is licensed under the GNU Affero General Public License version 3.0
(`AGPL-3.0`). Files derived from other projects retain their copyright and
license notices.
Unless an individual file states otherwise, the source code in this
repository is licensed under the GNU Affero General Public License version
3.0 (`AGPL-3.0-only`). Files derived from other projects retain their
copyright and license notices.

Jasna includes code and model weights from
[Lada](https://codeberg.org/ladaapp/lada). Those components remain covered by
their applicable AGPL-3.0 notices. The vendored MMagic subset retains its
OpenMMLab copyright and license notices.
OpenMMLab copyright and Apache-2.0 notices. The LTX restoration code ported
from Lightricks LTX-2.5 (`jasna/ltx/transformer.py`, `jasna/models/ltx_vae/`)
and the LTX restoration model weights are covered by the LTX-2.x Community
License.

A clean checkout of this repository can be installed and used for Jasna's free
restoration workflows without the optional `jasna.protection` package.
The complete Jasna license is in [LICENSE](LICENSE). Copyright and attribution
notices are in [NOTICE](NOTICE),
[assets/THIRD_PARTY_LICENSES.md](assets/THIRD_PARTY_LICENSES.md), and
[assets/THIRD_PARTY_MODELS.md](assets/THIRD_PARTY_MODELS.md).

## Official release packages

Official packages include the files above, the full license texts in
`licenses/`, and the release-specific source correspondence in
[RELEASE_SOURCES.md](RELEASE_SOURCES.md). The release page also provides a
SHA-256 file for every split archive.

The source tag and release package must have the same version. The tag is the
preferred form for modifying Jasna's public application code. Exact custom
dependency revisions, FFmpeg builds, patches, model hashes, and source links
are recorded in `RELEASE_SOURCES.md` and the two third-party notice files.

## Optional supporter components

Official release packages may additionally include a separately developed,
Official release packages may include a separately maintained,
source-unavailable protection component. It performs local supporter-key
validation and in-memory decryption for the supporter-only `unet-4x` and
SD 1.5 restoration models. When that component is unavailable, supporter-only
models are unavailable, while the free restoration workflows remain usable.
validation and in-memory decryption for supporter-only models. It contains no
telemetry, persistence, or network communication.

The protection component is maintained as a separate project, can be reused by
other applications, and is distributed under separate proprietary terms. It
is not included in the public Jasna source repository.
The protection component is compiled into the official executable. There is
no supported way to remove it from a prebuilt package. In the free CLI path,
when no license arguments or supporter models are selected, Jasna does not
import or call it. A public-source installation can run the free restoration
workflows without the component.

The protection component contains debugger and core-dump resistance intended
to make extraction of model-decryption material more difficult. It does not
implement telemetry, persistence, or network communication.
The protection implementation is proprietary and its source is not included
in the public repository. Consequently, the public source does not reproduce
the official supporter-enabled executable bit for bit. The public repository
must not be represented as complete corresponding source for that private
component.

## Release reproducibility
## Models

The public repository contains the application source and development setup
for the free restoration workflows. It does not contain the proprietary
protection component or the maintainer's standalone release tooling.
Consequently, a public checkout does not reproduce a supporter-enabled
official release package bit for bit.
Every bundled or downloadable model has separate artifact-specific terms and
a SHA-256 entry in `assets/THIRD_PARTY_MODELS.md`. Jasna-trained RF-DETR
detectors are licensed under Apache-2.0. Lada models retain AGPL-3.0. Encrypted
supporter models are proprietary and may be used only under their stated
supporter-model terms.

19 changes: 19 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Jasna
Copyright 2026 Kruk2 and contributors

Except where an individual file or bundled component states otherwise, Jasna
is licensed under the GNU Affero General Public License version 3.0. The full
license is in LICENSE.

Jasna incorporates or distributes work from Lada, OpenMMLab MMagic,
Lightricks LTX-2.5, Roboflow RF-DETR, PyAV, VALI, FFmpeg, VideoLAN, Python, and other projects.
Their copyright, attribution, source, and license information is retained in:

- LICENSING.md
- RELEASE_SOURCES.md
- assets/THIRD_PARTY_LICENSES.md
- assets/THIRD_PARTY_MODELS.md
- assets/licenses/

Official binary packages also contain license files collected from the exact
installed Python distributions under licenses/python-packages/.
15 changes: 14 additions & 1 deletion README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Jasna は無料です。支援者には、このプロジェクト用に訓練
- [初回実行](#初回実行)
- [さらに詳しく](#さらに詳しく)
- [ベンチマーク](#ベンチマーク)
- [ライセンス](#ライセンス)
- [プロジェクトを支援する](#プロジェクトを支援する)
- [謝辞](#謝辞)
- [TODO](#todo)
Expand All @@ -45,7 +46,7 @@ Jasna は無料です。支援者には、このプロジェクト用に訓練

- NVIDIA の **GTX 16 シリーズ / RTX 20 シリーズ以降**の GPU。GTX 10 シリーズ以前のカード(GTX 1050/1060/1070/1080)では動作しません。自分の GPU が対応か分からない場合は、NVIDIA の [GPU 一覧](https://developer.nvidia.com/cuda/gpus)で確認してください — コンピュート能力 7.5 以上が必要です。
- Nvidia ドライバーは Windows で **610 以上**、Linux で **580 以上**。
- AMD 対応は実験的で、ROCm 対応 GPU が必要です。
- AMD 対応は実験的で、ROCm 対応 GPU(Radeon RX 7000/9000、Radeon 780M/760M/740M、Ryzen AI の内蔵 GPU)が必要です。Windows では AMD Adrenalin ドライバーを 26.8.1 以降に更新してください。
- Jasna は、パスに英語の文字と数字のみを含むフォルダにインストールしてください。

Jasna は VRAM を自動管理します。VRAM が不足すると、待機中のフレームを一時的にシステム RAM へ移します。設定は不要です。
Expand Down Expand Up @@ -143,6 +144,13 @@ RAM の中央値/ピーク、計測方法、生データ、パフォーマンス
長時間動画の以前の結果は
[従来のベンチマークレポート](benchmarks/2026-07-26_legacy_videos.md)(英語)にあります。

## ライセンス

Jasna の公開アプリケーションソースは AGPL-3.0 です。モデルと同梱依存関係には、
それぞれのライセンスが適用されます。[ライセンスとソース公開範囲](LICENSING.md)、
[モデルの通知](assets/THIRD_PARTY_MODELS.md)、
[リリースソース対応表](RELEASE_SOURCES.md)をご覧ください。

## プロジェクトを支援する

支援は追加モデルの訓練に使われます。主に、GPU のレンタル代と、より大きなデータセットで訓練するための計算時間です。支援者には以下を解除するキーが提供されます:
Expand All @@ -162,6 +170,11 @@ RAM の中央値/ピーク、計測方法、生データ、パフォーマンス
- **[Unifans](https://app.unifans.io/c/kruk2)**: プラットフォームメッセージで送信されます。少し遅れる場合があります。
- **[Buy Me a Coffee](https://buymeacoffee.com/kruk2)**、**暗号通貨**を含む: 支援時に使ったメールアドレスまたはハンドルへ送信されます。キーはそのメールアドレスまたはハンドルに紐付きます。

キーは上記の2つのページで**のみ**販売しています。それ以外で Jasna、キー、改変ファイルを販売している人は詐欺です。そのキーは公式版では使えず、そのファイルはPC上で隠れたコードを実行する可能性があります。Jasna は GitHub からのみダウンロードしてください。

有効化できない場合は、購入時のメールアドレスまたはユーザー名を確認し、キー全体をコピーし直してください。
キーが無効というだけでは不正の証拠にはなりません。確認済みの非公式販売者のキーは別のメッセージで通知します。

## 謝辞

- **[Lada](https://codeberg.org/ladaapp/lada)(Codeberg)** — Jasna は Lada に
Expand Down
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Jasna is free. Supporters get a key that unlocks the extra models trained for th
- [First Run](#first-run)
- [Learn More](#learn-more)
- [Benchmarks](#benchmarks)
- [Licensing](#licensing)
- [Supporting the Project](#supporting-the-project)
- [Acknowledgments](#acknowledgments)
- [TODO](#todo)
Expand All @@ -47,7 +48,7 @@ Join the [SLS Discord](https://discord.gg/uNwQ4mHqgv) for examples, support, and

- An NVIDIA **GTX 16-series / RTX 20-series or newer** GPU. GTX 10-series and older cards (GTX 1050/1060/1070/1080) won't work. Not sure about yours? Check NVIDIA's [GPU table](https://developer.nvidia.com/cuda/gpus) — compute capability 7.5+ is required.
- Nvidia driver **610 or newer** on Windows, **580 or newer** on Linux.
- AMD support is experimental and needs a ROCm-supported GPU.
- AMD support is experimental and needs a ROCm-supported GPU (Radeon RX 7000/9000, Radeon 780M/760M/740M, Ryzen AI iGPUs). On Windows, update the AMD Adrenalin driver to 26.8.1 or newer.
- Install Jasna into a folder whose path contains only English letters and numbers.

Jasna manages VRAM automatically: when it runs low, waiting frames are temporarily moved to system RAM. No configuration needed.
Expand Down Expand Up @@ -146,6 +147,13 @@ the [full benchmark report](benchmarks/2026-07-26_release_matrix.md).
Older full-length video results are in the
[legacy benchmark report](benchmarks/2026-07-26_legacy_videos.md).

## Licensing

Jasna's public application source is AGPL-3.0. Models and bundled dependencies
retain their own terms. See [licensing and source availability](LICENSING.md),
[model notices](assets/THIRD_PARTY_MODELS.md), and the
[release source correspondence](RELEASE_SOURCES.md).

## Supporting the Project

Support pays for training extra models, mainly GPU rental and compute time for larger datasets. Supporters get a key that unlocks:
Expand All @@ -165,6 +173,11 @@ How to get a key:
- **[Unifans](https://app.unifans.io/c/kruk2)**: sent by platform message. There might be a slight delay.
- **[Buy Me a Coffee](https://buymeacoffee.com/kruk2)**, including **crypto**: sent to the email or handle used for the contribution. The key is tied to that email or handle.

Keys are sold **only** on these two pages. Anyone else selling Jasna, keys or modified files is a scam: their keys do not work with the official app, and their files can run hidden code on your PC. Download Jasna only from GitHub.

If activation fails, check the exact purchase email or handle and copy the full key again.
An invalid key alone does not prove fraud; Jasna identifies keys from known unofficial sellers separately.

## Acknowledgments

- **[Lada](https://codeberg.org/ladaapp/lada) (Codeberg)** — Jasna is inspired
Expand Down
15 changes: 14 additions & 1 deletion README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Jasna 是免费的。支持者会获得一个密钥,用于解锁为本项目
- [首次运行](#首次运行)
- [了解更多](#了解更多)
- [基准测试](#基准测试)
- [许可证](#许可证)
- [支持本项目](#支持本项目)
- [致谢](#致谢)
- [TODO](#todo)
Expand All @@ -45,7 +46,7 @@ Jasna 是免费的。支持者会获得一个密钥,用于解锁为本项目

- NVIDIA **GTX 16 系列 / RTX 20 系列或更新**的 GPU。GTX 10 系列及更旧的显卡(GTX 1050/1060/1070/1080)无法使用。不确定自己的显卡?请查看 NVIDIA 的 [GPU 表格](https://developer.nvidia.com/cuda/gpus) — 需要计算能力 7.5 或更高。
- Nvidia 驱动: Windows 需 **610 或更新**,Linux 需 **580 或更新**。
- AMD 支持是实验性的,需要 ROCm 支持的 GPU。
- AMD 支持是实验性的,需要 ROCm 支持的 GPU(Radeon RX 7000/9000、Radeon 780M/760M/740M、Ryzen AI 核显)。Windows 上请把 AMD Adrenalin 驱动更新到 26.8.1 或更高版本。
- 请把 Jasna 安装到路径只包含英文字母和数字的文件夹中。

Jasna 会自动管理 VRAM: 显存不足时,等待中的帧会临时移动到系统内存。无需任何配置。
Expand Down Expand Up @@ -137,6 +138,13 @@ RAM 的中位数/峰值、测试方法、原始数据及性能提交对比,请
较早的完整长视频结果见
[旧版基准测试报告](benchmarks/2026-07-26_legacy_videos.md)(英文)。

## 许可证

Jasna 的公开应用程序源代码采用 AGPL-3.0。模型和捆绑依赖项保留各自的许可条款。
请参阅[许可与源代码范围](LICENSING.md)、
[模型声明](assets/THIRD_PARTY_MODELS.md)和
[发行版源代码对应表](RELEASE_SOURCES.md)。

## 支持本项目

支持用于训练额外模型,主要是租用 GPU,以及在更大数据集上训练所需的计算时间。支持者会获得一个密钥,用于解锁:
Expand All @@ -156,6 +164,11 @@ RAM 的中位数/峰值、测试方法、原始数据及性能提交对比,请
- **[Unifans](https://app.unifans.io/c/kruk2)**: 通过平台消息发送,可能会有轻微延迟。
- **[Buy Me a Coffee](https://buymeacoffee.com/kruk2)**,包括**加密货币**: 发送到贡献时使用的邮箱或账号。密钥与该邮箱或账号绑定。

密钥**仅**在以上两个页面出售。其他任何出售 Jasna、密钥或修改版文件的人都是骗子:他们的密钥无法用于官方版本,他们的文件可能会在你的电脑上运行隐藏代码。请只从 GitHub 下载 Jasna。

若激活失败,请核对购买时使用的邮箱或账号,并重新复制完整密钥。
密钥无效本身并不能证明欺诈;Jasna 会单独提示来自已知非官方卖家的密钥。

## 致谢

- **[Lada](https://codeberg.org/ladaapp/lada)(Codeberg)** — Jasna 受 Lada 启发,
Expand Down
79 changes: 79 additions & 0 deletions RELEASE_SOURCES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# v0.11.0 release source correspondence

This file records the custom and patched inputs used by official v0.11.0
packages. The release tag is the source revision for Jasna itself. Release
packages also include `LICENSE`, `LICENSING.md`, `NOTICE`, the third-party
notices, and full license texts.

## Source revisions

| Component | Revision or source |
| --- | --- |
| Jasna | Git tag `v0.11.0`; the tag and package version must match |
| Protection component | The private gitlink revision recorded by the `v0.11.0` tag; source is not published |
| PyAV | Unmodified PyPI `av` 18.1.0, tag [`v18.1.0`](https://github.com/PyAV-Org/PyAV/commit/7e3d950a8b72062502c1a60d672f8ca565313af5) |
| VALI | [`0e5c01ee57222a8ef4f9c7591284c4324bb3fba5`](https://codeberg.org/Kruk2/vali/commit/0e5c01ee57222a8ef4f9c7591284c4324bb3fba5) in the public Kruk2 fork |
| RF-DETR | [`1.8.3` / `3bd6bffbcb13cac3a5b1c37da5a0fd5453b50c86`](https://github.com/roboflow/rf-detr/commit/3bd6bffbcb13cac3a5b1c37da5a0fd5453b50c86) |
| MMagic compatibility patch | [`patches/fix_loading_mmengine_weights_on_torch26_and_higher.diff`](patches/fix_loading_mmengine_weights_on_torch26_and_higher.diff) |

The VALI fork contains the complete modified source, including Jasna's decode
status, corrupt-packet handling, timestamp, and decoder-construction changes.
It is licensed under Apache-2.0.

## FFmpeg in the PyAV and VALI wheels

The PyAV wheels and the Linux VALI wheel link against the
[`pyav-ffmpeg` 8.1.2-1](https://github.com/PyAV-Org/pyav-ffmpeg/releases/tag/8.1.2-1)
build of FFmpeg 8.1.2. The source is FFmpeg tag `n8.1.2`, commit
[`38b88335f99e76ed89ff3c93f877fdefce736c13`](https://github.com/FFmpeg/FFmpeg/commit/38b88335f99e76ed89ff3c93f877fdefce736c13).
The exact build scripts are in the pyav-ffmpeg tag. They request x264/x265 and
`--enable-version3`; because the wheel vendors and links the GPL-licensed x264
library, Jasna distributes the combined wheel payload under GPLv3. FFmpeg's
own runtime metadata identifies its libraries as LGPLv3-or-later.

Linux x86-64 vendor archive:

```text
https://github.com/PyAV-Org/pyav-ffmpeg/releases/download/8.1.2-1/ffmpeg-manylinux-x86_64.tar.gz
SHA-256 665b4903251dc753725e9cf64615c1af7708b932fb26bf16356acc77d76e95f8
```

## Bundled FFmpeg command-line tools

Linux releases use the BtbN `linux64-gpl-8.1` build
`ffmpeg-n8.1.2-34-g9b6c8969e0`. Its FFmpeg source is commit
[`9b6c8969e05b4f0b29f0f85cd501be6b3e582e6b`](https://github.com/FFmpeg/FFmpeg/commit/9b6c8969e05b4f0b29f0f85cd501be6b3e582e6b).
The BtbN GPL variant uses `--enable-gpl --enable-version3 --disable-debug`;
the complete build scripts are in
[BtbN/FFmpeg-Builds](https://github.com/BtbN/FFmpeg-Builds).

```text
https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-07-31-14-10/ffmpeg-n8.1.2-34-g9b6c8969e0-linux64-gpl-8.1.tar.xz
SHA-256 09fc77be269c7053e438b7e96548e4af97604faf96a42c4a3c56a1ad74c22c0a
```

Windows packages use the GPLv3 FFmpeg 8 installation selected by the release
builder. Before publishing, its `ffmpeg -version` output, source revision,
configure line, and archive hash must be added to the release notes if they
differ from the Linux build above.

## Python and build environment

Linux releases build CPython 3.13.14 from the official source archive:

```text
https://www.python.org/ftp/python/3.13.14/Python-3.13.14.tar.xz
SHA-256 639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690
```

The application dependencies and exact direct version constraints are in
`pyproject.toml`. Binary packages copy the license files from every installed
Python distribution into `licenses/python-packages/`.

## Reproducibility limit

The public tag contains Jasna's public application source, public patches, and
the source correspondence above. The final whole-application build driver and
the protection implementation remain in the private protection project.
Therefore a public checkout can reproduce the free workflows but cannot
reproduce the supporter-enabled official executable bit for bit.
Loading