LattifAI SDK

LattifAI Client

The main Python SDK client class

LattifAI Client

The LattifAI class is the main entry point for the Python SDK.

Basic Usage

from lattifai import LattifAI

# Initialize with environment variable
client = LattifAI()

# Align audio with subtitle
caption = client.alignment(
    input_media="audio.wav",
    input_caption="subtitle.srt",
    output_caption_path="aligned.srt",
)

Constructor

LattifAI(
    client_config: ClientConfig = None,
    alignment_config: AlignmentConfig = None,
    caption_config: CaptionConfig = None,
    transcription_config: TranscriptionConfig = None,
    diarization_config: DiarizationConfig = None,
)

Parameters

ParameterTypeDescription
client_configClientConfigAPI settings (key, timeout, retries)
alignment_configAlignmentConfigModel and device settings
caption_configCaptionConfigSubtitle formatting options
transcription_configTranscriptionConfigASR model settings
diarization_configDiarizationConfigSpeaker detection settings

Methods

alignment()

Align audio/video with an existing caption file.

caption = client.alignment(
    input_media: str,           # Path to audio/video file
    input_caption: str,         # Path to caption file
    output_caption_path: str,   # Output path
    split_sentence: bool = False,
    channel_selector: str = "average",
    streaming_chunk_secs: float = None,
)

youtube()

Download and align a YouTube video.

caption = client.youtube(
    url: str,                   # YouTube URL
    output_dir: str = ".",      # Download directory
    output_caption_path: str = None,
    split_sentence: bool = False,
)

transcribe()

Transcribe audio/video to text.

caption = client.transcribe(
    input_media: str,           # Path to audio/video
    output_caption_path: str,   # Output path
    model_name: str = "gemini-2.5-pro",
)

Complete Example

from lattifai import (
    LattifAI,
    ClientConfig,
    AlignmentConfig,
    CaptionConfig,
)

client = LattifAI(
    client_config=ClientConfig(
        api_key="lf_your_api_key",
        timeout=60.0,
    ),
    alignment_config=AlignmentConfig(
        model_name="Lattifai/Lattice-1",
        device="cuda",
    ),
    caption_config=CaptionConfig(
        split_sentence=True,
        word_level=True,
    ),
)

caption = client.alignment(
    input_media="audio.wav",
    input_caption="subtitle.srt",
    output_caption_path="output.json",
)

# Access results
for segment in caption.supervisions:
    print(f"{segment.start:.2f}s - {segment.end:.2f}s: {segment.text}")

Available Exports

from lattifai import (
    # Client
    LattifAI,

    # Config classes
    ClientConfig,
    AlignmentConfig,
    CaptionConfig,
    TranscriptionConfig,
    DiarizationConfig,
    MediaConfig,

    # I/O classes
    Caption,
)

Error Handling

from lattifai import LattifAI
from lattifai.errors import (
    AlignmentError,
    CaptionProcessingError,
)

client = LattifAI()

try:
    caption = client.alignment(
        input_media="audio.wav",
        input_caption="subtitle.srt",
        output_caption_path="output.srt",
    )
except AlignmentError as e:
    print(f"Alignment failed: {e}")
except CaptionProcessingError as e:
    print(f"Caption processing error: {e}")
except Exception as e:
    print(f"Error: {e}")

On this page