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.


🚀 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 termux-diffusion 1.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for termux-diffusion 1.8.1
File Size Uploaded
termux_diffusion-1.8.1.tar.gz 87.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for termux-diffusion 1.8.1
File Interpreter ABI Platform
termux_diffusion-1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 164.4 kB

Release files / termux_diffusion-1.8.1.tar.gz

Download URL termux_diffusion-1.8.1.tar.gz
Size 87.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8486b4f525d72ff6a2d7af387b24446eb37dc2730823eb0618fbd9e351357a40
BLAKE2b-256 checksum
How to use checksums
f6acaa9ba77a71593fc190aeddff1e7154758e4db895e4493efa3d0ac9967a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Release files / termux_diffusion-1.8.1-py3-none-any.whl

Download URL termux_diffusion-1.8.1-py3-none-any.whl
Size 77.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
219e78af3c0a9bc3327edc9ae126c2d30d5ac7ec51cc7206e605cb2b44de26af
BLAKE2b-256 checksum
How to use checksums
84b736047845bb52f6a72114faeb581ba70e8af4c23a5284eb07379db118a71f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Release history Release notifications | RSS feed

2.0.1

2 release files

2.0.0

2 release files

1.9.0

2 release files

This release

1.8.1 This release

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.5

2 release files

1.4.3

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

1 release file

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

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