Skip to main content

Termux-Diffusion (Python)

PyPI Python License

Official Z-Image Turbo (6.0B DiT) & Pure Native On-Device Diffusion Acceleration for Android Termux & Samsung Galaxy.
Zero PRoot. Zero Virtualization. 100% Native ARM64 Bionic libc, Khronos Vulkan 1.1+ GPU Shaders & NEON SIMD Vector Engine.


What's New in v2.1.0 — Mobile Canva Studio & SurfaceFlinger Shield

  • Added Mobile Canva Studio Suite: Magic Eraser (magic_eraser), Magic Grab (magic_grab), Magic Expand (magic_expand), and Magic Layers (decompose_layers).
  • Implemented SurfaceFlinger Crash Shield with GPU duty-cycle throttling and safe-mode protection.
  • Added Safe Memory Purger with automatic OOM safety budget management.
  • Unified GPU acceleration dispatch through ameva-runtime HAL.

🚀 Major Breakthrough: 6.0B DiT (Z-Image Turbo) Sovereign Mobile Execution

termux-diffusion v1.8.0 introduces official production support for Z-Image Turbo, empowering mobile devices to execute modern 6.0 Billion Parameter Diffusion Transformers (DiT) natively on-device.

🌟 Tri-Engine Asymmetric Architecture

  • Text Encoder (CPU 4-Core): 4.0B LLM (Qwen3-4B-Instruct-2507-Q2_K.gguf) performs dense context embedding on CPU Big/Prime cores (clip_on_cpu=True).
  • DiT Denoising Backbone (Vulkan GPU): 6.0B Diffusion Transformer (z_image_turbo-Q2_K.gguf) accelerated via Khronos Vulkan compute shaders with Tiled Flash Attention (diffusion_fa=True).
  • Ultra-Fast VAE Decoder (CPU): 10MB Tiny AutoEncoder for FLUX.1 (taef1.safetensors) completes latent decoding rapidly without memory spikes (vae_on_cpu=True).
  • Layer Streaming (stream_layers=True): Breaks through mobile memory limits by streaming layers into Vulkan VRAM sequentially, maintaining a strict 1.0 GB VRAM footprint (max_vram="vulkan0=1") and completely eliminating Android Low Memory Killer (LMK) aborts.

📸 Sovereign Physical Verification: Galaxy S21 DiT 8-Step Output

  • Verification Image: Galaxy S21 Z-Image Turbo 8-Step PNG Artifact
  • Verification Prompt (Ground Truth):
    "A cinematic photo of a neon cybernetic tiger walking in Seoul street at night"
    
  • Verified Input Parameter Engineering:
    • steps=8 (Full numerical convergence ODE solver)
    • cfg_scale=1.0 (Optimal guidance for distilled DiT architecture)
    • sampler="euler" (1st-order Ordinary Differential Equation solver)
    • device="vulkan" (Physical GPU acceleration)
    • diffusion_fa=True (Tiled Flash Attention enabled)
    • stream_layers=True (Layer residency streaming over AXI bus)
    • max_vram="vulkan0=1" (Strict 1.0 GB VRAM ceiling, Zero-LMK protection)
    • clip_on_cpu=True (Offloads LLM prompt embedding to CPU Big/Prime cores)
    • vae_on_cpu=True (Prevents GPU VRAM allocation collisions during decoding)
    • taesd="auto" (Ultra-fast 10MB FLUX.1 latent decoder)
  • Optical Realism: Specular light scattering from neon signboards on wet Seoul asphalt road surfaces, razor-sharp cybernetic armor plates, and micro-texture whiskers cleanly isolated from background noise.
  • Runtime Stability: 100% completion achieved with zero Out-of-Memory (LMK) aborts and zero thermal throttling termination.

🔬 Academic Research & Lab Report Reference


💻 Python SDK Installation & Practical User Manual

1. Installation & Provisioning

pkg update && pkg install -y python clang termux-api
pip install termux-diffusion
termux-diffusion install

2. Python API Practical Code Example

import termux_diffusion as td

# 1. Official Z-Image Turbo 6.0B DiT Synthesis via Python API
image_path = td.generate(
    prompt="A cinematic photo of a neon cybernetic tiger walking in Seoul street at night",
    preset="z-image-turbo",
    steps=8,
    cfg_scale=1.0,
    sampler="euler",
    device="vulkan",
    diffusion_fa=True,
    stream_layers=True,
    max_vram="vulkan0=1",
    clip_on_cpu=True,
    vae_on_cpu=True,
    taesd="auto",
    output_path="/sdcard/Pictures/TermuxDiffusion/cyber_tiger_dit.png"
)
print(f"Generated via 6.0B DiT Tri-Engine: {image_path}")

# 2. Fast UNet Standard Inference (DreamShaper 8 LCM 6-Step)
lcm_path = td.generate(
    prompt="A cinematic photo of a neon cybernetic tiger walking in Seoul street at night",
    model="anime",
    steps=6,
    cfg_scale=1.5,
    sampler="lcm",
    device="vulkan",
    diffusion_fa=True,
    vae_on_cpu=True,
    output_path="/sdcard/Pictures/TermuxDiffusion/cyber_tiger_lcm.png"
)
print(f"Generated via DreamShaper 8 LCM: {lcm_path}")

🎛️ Python API Parameter Reference

Argument Type Default Engineering Purpose
prompt str Required Text conditioning prompt
width, height int 512 Image dimensions (multiples of 64)
steps int 8 (DiT) / 6 (LCM) Numerical solver sampling iterations
cfg_scale float 1.0 (DiT) / 1.5 (LCM) Classifier-Free Guidance scale weight
sampler str "euler" Denoising ODE solver algorithm
device str "vulkan" Accelerator device ("vulkan", "cpu")
preset str "z-image-turbo" Verified configuration bundle
stream_layers bool True (DiT) Enables dynamic layer streaming over AXI bus
max_vram str "vulkan0=1" GPU memory ceiling (1.0 GB) to avert OS LMK aborts
diffusion_fa bool True Flash Attention $O(N)$ memory reduction
clip_on_cpu bool True Keeps LLM text encoder on CPU cores
vae_on_cpu bool True Offloads VAE decode from GPU to host CPU
taesd str "auto" Tiny AutoEncoder for ultra-fast latent decoding
output_path str None Path to save output PNG artifact


📄 License

Licensed under the Apache-2.0 License. Copyright (c) 2026 Eunho Kim (@uno-km).

Metadata

Release files for amv-diffusion 2.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 amv-diffusion 2.1.0
File Size Uploaded Provenance
amv_diffusion-2.1.0.tar.gz 170.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for amv-diffusion 2.1.0
File Interpreter ABI Platform
amv_diffusion-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 323.4 kB

Release files / amv_diffusion-2.1.0.tar.gz

Download URL amv_diffusion-2.1.0.tar.gz
Size 170.5 kB
Tags Source
SHA-256 checksum
How to use checksums
028d9971c156fe3fd965d3bdace2893ae55c6c5e8cfbff540aeb29e566cb21c0
BLAKE2b-256 checksum
How to use checksums
bc738c4b6612a17d7060cd8a05f6a43c473944e5d42eed45af6d3c955dcf114f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / amv_diffusion-2.1.0-py3-none-any.whl

Download URL amv_diffusion-2.1.0-py3-none-any.whl
Size 152.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1966208adb0083307e8a77d08a643ef160bd522f10447b928402f0434d5e5aeb
BLAKE2b-256 checksum
How to use checksums
38093f907519275272d084314e602fa8deeaac405dd7eb3a7bcf9f35dc01289b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Security for amv-diffusion 2.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

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