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
| Parameter | Type | Description |
|---|---|---|
client_config | ClientConfig | API settings (key, timeout, retries) |
alignment_config | AlignmentConfig | Model and device settings |
caption_config | CaptionConfig | Subtitle formatting options |
transcription_config | TranscriptionConfig | ASR model settings |
diarization_config | DiarizationConfig | Speaker 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}")