Skip to main content
Call Model (call_model) nodes that select an edge or hybrid speech-to-text catalog model run inference on-device via cw.models.load(...).predict(...). Cloud-only STT uses client.mlmodels.run(...) and does not require edge STT packages.
Prompting for STT models is optional biasing — see Prompting Call Model.

Catalog models and dependencies

Each STT seed sets one SDK extra in metadata.edge_package. Edge-sync surfaces it in model_requirements. Do not point catalog metadata at ml-all. Pick the extra for the runtime you use.

Weight paths (edge_model_path)

Generated workers emit:

Compile server

When a workflow has run_on_edge: true and a Call Model node references an on-device STT model, compile verifies imports: Failure example:
This workflow uses Call Model with faster-whisper but faster-whisper is not installed on the compile server. Install faster-whisper (or cyberwave[ml-stt-faster]) on Django before compiling for edge.
Rebuild Django after updating requirements/base.txt — see Edge workflow dependencies.

Edge worker

  1. Install the catalog model’s extra (ml-stt or ml-stt-faster).
  2. Sync workflow — edge-sync lists model_requirements with edge_model_path.
  3. First inference downloads weights (or uses pre-staged files under ~/.cyberwave/models/).
Audio input: int16 PCM @ 16 kHz mono (or WAV bytes). The worker passes sample_rate_hz, channels, and optional language / task / vad_filter (Faster Whisper built-in VAD when enabled).

Choosing whisper.cpp vs Faster Whisper


Typical wiring

Wire Call Model audio input from upstream audio key. Wire result (text) into Fuzzy Matcher’s Uncertain String (query).

Edge dependencies

Full matrix (all nodes + compile server)

Audio in Workflows

PCM format and pipelines

Fuzzy Matcher

Map STT text to commands