Skip to main content
Speech, media understanding, generation, web search, and the low-level media utilities. Part of the Plugin runtime helpers reference.

FFmpeg command discovery

Official plugin sources use resolveFfmpegBin from the private openclaw/plugin-sdk/media-ffmpeg runtime. It resolves the same trusted system paths as the media runtime and throws an installation hint when FFmpeg is unavailable. This narrow entry point keeps media generation and agent runtimes out of source audio worker startup. It has a JavaScript-only host export; its declarations are excluded from the package. Third-party plugins retain the existing resolveFfmpegBin export from openclaw/plugin-sdk/media-runtime. The official plugin publication builder emits media-runtime for this private import, including worker entries, so published plugins keep working on supported hosts that predate media-ffmpeg. Both paths use the host’s FFmpeg resolver.

Realtime voice playback

Official audio workers use createRealtimeVoiceOutputActivityTracker and isRealtimeVoiceAudioAudible from the private openclaw/plugin-sdk/realtime-voice-playback runtime to avoid loading voice session and agent runtimes from source. The publication builder emits the existing openclaw/plugin-sdk/realtime-voice host import for these helpers, including worker entries, to preserve supported hosts. The source facade has a JavaScript-only host export; its declarations are excluded from the package.

Media and generation namespaces

Text-to-speech synthesis.
Uses core tts configuration and provider selection. Returns PCM audio buffer + sample rate. textToSpeechStream is also available for streaming synthesis.
Image, audio, and video analysis.
Returns { text: undefined } when no output is produced (e.g. skipped input).describeImageFileWithModel(...) describes an already-known image through a specific provider/model, bypassing the default active-model resolution that describeImageFile(...) uses.
Image generation.
Video generation, mirroring the image generation shape.
Music generation, mirroring the image generation shape.
Web search.
Search callers may supply a synchronous assertCurrent callback with signal to retain their authority through provider preparation. Guarded HTTP requests check it after transport preparation and before each request or redirect. A registered search provider using another transport must call the execution context’s assertCurrent before each external side effect, after awaited preparation. The callback belongs to the caller and expires when the search finishes; providers must not replace it or treat its absence as permission.
Low-level media utilities.
QR helpers are exported by openclaw/plugin-sdk/media-runtime: