docling-gigaam
docling-gigaam adds Russian speech recognition through GigaAM v3 to Docling
2.121 without forking Docling. It provides standalone transcription plus custom
audio and video pipelines. Video conversion keeps Docling's inherited frame
sampling, scene detection, diarization, sentence merge, and timestamp merge.
Install
Python 3.11 or newer and the system ffmpeg executable are required.
pip install docling-gigaam
On first transcription, the official GigaAM model host downloads approximately
450 MB of model weights plus the tokenizer into docling-gigaam/ under the
selected cache root. HF_HUB_CACHE and HF_HOME are honored by default. Set
cache_dir to use another root, or local_files_only=True after prefetching.
Standalone Usage
from docling_gigaam import GigaAmTranscriber
segments = GigaAmTranscriber().transcribe("recording.mp3")
for segment in segments:
print(segment.start_time, segment.end_time, segment.text)
Audio at or below 25 seconds uses the short path. Longer audio is decoded to mono 16 kHz, segmented with Silero VAD, merged into model-sized chunks, and processed in batches. Returned segment timestamps are absolute offsets from the start of the source. Word timestamps are not provided in version 0.1.
Audio With Docling
from docling.datamodel.base_models import InputFormat
from docling.document_converter import DocumentConverter
from docling_gigaam import audio_format_option
converter = DocumentConverter(
allowed_formats=[InputFormat.AUDIO],
format_options={InputFormat.AUDIO: audio_format_option()},
)
result = converter.convert("recording.mp3")
print(result.document.export_to_markdown())
Each transcript segment is a Docling text item with a public TrackSource
containing its absolute start and end time.
Video With Docling
from docling.datamodel.base_models import InputFormat
from docling.document_converter import DocumentConverter
from docling_gigaam import GigaAmVideoPipelineOptions, video_format_option
options = GigaAmVideoPipelineOptions(
generate_frame_images=True,
frame_interval_seconds=10.0,
)
converter = DocumentConverter(
allowed_formats=[InputFormat.VIDEO],
format_options={InputFormat.VIDEO: video_format_option(options)},
)
result = converter.convert("meeting.mp4")
print(result.document.export_to_markdown())
Model And Security
The package vendors the official MIT-licensed GigaAM inference runtime from
commit 7447938d791c4f3e643386ee22c33777004293a5. It does not execute Hugging Face
remote code and does not depend on the stale gigaam==0.1.0 PyPI release.
Model weights are not included in the wheel. The official v3_e2e_rnnt
checkpoint and tokenizer are downloaded lazily from the GigaAM project host.
The upstream MD5 checksum is verified before the checkpoint is loaded, so a
silently replaced model is rejected.
GigaAM v3 is intended for Russian speech. Accuracy for other languages is not a supported scope of this package.
Devices
device="auto" selects CUDA, then Apple MPS, then CPU. MPS is not tested by
GigaAM upstream and emits a warning. If MPS encounters unsupported operations,
set PYTORCH_ENABLE_MPS_FALLBACK=1 or select CPU explicitly.
Attribution
The pure Silero interval-merging logic in docling_gigaam.vad is adapted from
the MIT-licensed
SmetDenis/gigaam-openai-api-server,
which in turn follows GigaAM's long-form VAD merge design. This package adapts
only the focused chunking approach and does not copy the unrelated API server.
The GigaAM inference runtime and its license are recorded in
THIRD_PARTY_NOTICES.md.
Development
uv sync --extra dev
uv run pytest -m "not integration"
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv build
The integration scaffold is opt-in because it downloads the model:
DOCLING_GIGAAM_RUN_INTEGRATION=1 \
DOCLING_GIGAAM_SAMPLE=/path/to/russian.wav \
uv run pytest -m integration
Metadata
Release files for docling-gigaam 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| docling_gigaam-0.1.1.tar.gz | 267.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| docling_gigaam-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 307.3 kB
Release files / docling_gigaam-0.1.1.tar.gz
| Download URL | docling_gigaam-0.1.1.tar.gz |
|---|---|
| Size | 267.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d91587d45a7cd6af5b33e90e2ef200b76777e79ebcc5c926e40d64a0856712d6
|
|
BLAKE2b-256 checksum How to use checksums |
61b58155bb60d390f3519993708782cdd70cee25a923cbbf4e57575dd7a7a2fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 24, 2026.
Transparency logRelease files / docling_gigaam-0.1.1-py3-none-any.whl
| Download URL | docling_gigaam-0.1.1-py3-none-any.whl |
|---|---|
| Size | 39.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f70d1cdcace7fcd6927a2c7e72d545eb64de77be159e3cda2431096fc0de6b9
|
|
BLAKE2b-256 checksum How to use checksums |
6856a92f9df1f708e158b41c4d5727c5f8bfede2c43316cc1a5eeb5715a26f2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 24, 2026.
Transparency log