Overview
SmolVlmService runs HuggingFace SmolVLM
vision-language models locally to describe images flowing through a Pipecat
pipeline. The compact, instruction-tuned models run entirely on your own
hardware — no external API calls, no per-image billing, and no data leaving your
infrastructure. It accepts UserImageRawFrame input and emits a
VisionTextFrame containing the generated description.
Source Repository
Source code, examples, and issues for the SmolVLM integration
PyPI Package
The
pipecat-smolvlm package on PyPISmolVLM Models
Browse the SmolVLM checkpoints on HuggingFace
Installation
This is a community-maintained package distributed separately frompipecat-ai:
~/.cache/huggingface/.
Prerequisites
No accounts or API keys are required — inference runs locally. The service automatically selects the best available device (Intel XPU, CUDA, Apple MPS, then CPU). Passuse_cpu=True to force CPU execution.
Configuration
(Deprecated) HuggingFace model identifier. Prefer
settings=SmolVlmService.Settings(model=...).Force CPU execution even when a GPU is available. Useful for reproducibility
or constrained environments.
Runtime-configurable generation settings. See Settings below.
Settings
Runtime-configurable settings passed via thesettings constructor argument
using SmolVlmService.Settings(...).
| Parameter | Type | Default | Description |
|---|---|---|---|
model | str | "HuggingFaceTB/SmolVLM-256M-Instruct" | HuggingFace model ID or local path. |
max_new_tokens | int | 500 | Maximum tokens to generate per image. |
default_prompt | str | "Describe the given image." | Fallback prompt when the frame carries no text. |
temperature | float | None | None | Sampling temperature. None uses greedy decoding. |
do_sample | bool | False | Enable sampling without a fixed temperature. |
Available parameters and defaults are defined by the integration. See the
source repository for
the authoritative, up-to-date list.
Usage
SmolVlmService into a Pipeline wherever a vision service is expected:
text field on the incoming
UserImageRawFrame; the service falls back to settings.default_prompt when it
is empty.
Compatibility
The package targetspipecat-ai>=0.0.100. Check the source
repository for the latest
tested version and changelog.