Skip to main content

index-tts-inference

CI PyPI

Minimal pip package for IndexTTS2 inference. Wraps the official IndexTTS2 repo, stripped down to only what's needed for inference.

Install

pip install indextts2-inference

Optional extras

SageAttention (alternative attention backend):

pip install indextts2-inference[sage-attn]

Flash Attention v2 (acceleration engine with KV cache and CUDA graphs):

pip install indextts2-inference[flash-attn]

DeepSpeed:

pip install indextts2-inference[deepspeed]

Usage

from indextts import IndexTTS2

# Auto-downloads model from HuggingFace
tts = IndexTTS2()

# Or use local/finetuned checkpoints
tts = IndexTTS2(model_dir="/path/to/checkpoints")

# Basic inference
tts.infer(spk_audio_prompt="voice.wav", text="Hello world", output_path="out.wav")

Attention backends

# Default PyTorch SDPA — auto-selects best kernel, no extra deps needed
tts = IndexTTS2()

# SageAttention — may help on Ampere/Hopper GPUs, requires sageattention package
tts = IndexTTS2(attn_backend="sage", use_fp16=True)

# Flash Attention v2 — acceleration engine with paged KV cache and CUDA graphs
tts = IndexTTS2(attn_backend="flash")

Language selection

By default the language is auto-detected between Chinese and English. You can set it explicitly:

tts = IndexTTS2(language="es")
tts.infer(spk_audio_prompt="voice.wav", text="Hola, esto es una prueba.", output_path="out.wav")

Emotion control

There are three ways to control the emotion of the generated speech:

# 1. From a reference audio
tts.infer(
    spk_audio_prompt="speaker.wav",
    text="Some text",
    output_path="out.wav",
    emo_audio_prompt="happy_reference.wav",
    emo_alpha=0.7,
)

# 2. With an explicit emotion vector
#    [happy, angry, sad, afraid, disgusted, melancholic, surprised, calm]
tts.infer(
    spk_audio_prompt="speaker.wav",
    text="I am very happy!",
    output_path="out.wav",
    emo_vector=[0.8, 0, 0, 0, 0, 0, 0, 0],
)

# 3. Auto-detect emotion from the text itself
tts.infer(
    spk_audio_prompt="speaker.wav",
    text="I am very happy!",
    output_path="out.wav",
    use_emo_text=True,
)

Streaming

for chunk in tts.infer(
    spk_audio_prompt="voice.wav",
    text="Long text to synthesize...",
    output_path="out.wav",
    stream_return=True,
):
    if chunk is not None and hasattr(chunk, "shape"):
        audio_np = chunk.squeeze().cpu().numpy()

Generation parameters

You can tune sampling parameters via kwargs:

tts.infer(
    spk_audio_prompt="voice.wav",
    text="Hello",
    output_path="out.wav",
    temperature=0.6,
    top_k=20,
    top_p=0.8,
    max_mel_tokens=2000,
)

Logging

By default, index-tts-inference only shows warnings. To see detailed logs:

export INDEXTTS_LOG_LEVEL=DEBUG  # DEBUG, INFO, WARNING (default)

PyTorch with CUDA

This package lists torch and torchaudio as dependencies without pinning a specific CUDA version. Install the CUDA variant you need before installing this package:

# Example: PyTorch with CUDA 12.8
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu128

# Then install the package
pip install indextts2-inference

Or with uv:

# pyproject.toml of your project
[tool.uv.sources]
torch = [{ index = "pytorch-cuda", marker = "sys_platform == 'linux'" }]
torchaudio = [{ index = "pytorch-cuda", marker = "sys_platform == 'linux'" }]

[[tool.uv.index]]
name = "pytorch-cuda"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

License

See LICENSE and DISCLAIMER.

Metadata

Release files for indextts2-inference 2.1.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 indextts2-inference 2.1.1
File Size Uploaded
indextts2_inference-2.1.1.tar.gz 344.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for indextts2-inference 2.1.1
File Interpreter ABI Platform
indextts2_inference-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 511.9 kB

Release files / indextts2_inference-2.1.1.tar.gz

Download URL indextts2_inference-2.1.1.tar.gz
Size 344.0 kB
Tags Source
SHA-256 checksum
How to use checksums
04344efdc3c926f951a9e5d40f8774a872f6859e3f14751526e8bb3ea65d0492
BLAKE2b-256 checksum
How to use checksums
dceb8c2ab4a3261a998da59f876485004b0dcec9b4fbd5ce615cb02787ecf254
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log

Release files / indextts2_inference-2.1.1-py3-none-any.whl

Download URL indextts2_inference-2.1.1-py3-none-any.whl
Size 167.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c032da50330964933034a438d87bd1afe23db9387bea2895cca916e60838d36e
BLAKE2b-256 checksum
How to use checksums
a1c093a5aa49d56aadd409fbc5ccd3ca400b79f38d15cf266ce6652eb048699a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

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