Vydra Plugin: Image, Video, and Speech in OpenClaw
This page covers the bundled Vydra plugin for OpenClaw, which provides image generation, video generation, and speech synthesis. It is intended for users who want to integrate Vydra's AI capabilities into their OpenClaw workflows.
Read this when
- You want Vydra media generation in OpenClaw
- You need Vydra API key setup guidance
The bundled Vydra plugin adds:
- Image generation via
vydra/grok-imagine - Video generation via
vydra/veo3(text-to-video) andvydra/kling(image-to-video) - Speech synthesis via Vydra's ElevenLabs-backed TTS route
OpenClaw uses the same VYDRA_API_KEY for all three capabilities.
| Property | Value |
|---|---|
| Provider id | vydra |
| Plugin | bundled, enabledByDefault: true |
| Auth env var | VYDRA_API_KEY |
| Onboarding flag | --auth-choice vydra-api-key |
| Direct CLI flag | --vydra-api-key <key> |
| Contracts | imageGenerationProviders, videoGenerationProviders, speechProviders |
| Base URL | https://www.vydra.ai/api/v1 (use the www host) |
Warning
Use
https://www.vydra.ai/api/v1as the base URL. Vydra's apex host (https://vydra.ai/api/v1) currently redirects towww. Some HTTP clients dropAuthorizationon that cross-host redirect, which turns a valid API key into a misleading auth failure. The bundled plugin normalizes any configuredvydra.aibase URL towww.vydra.aito avoid that.
Setup
Run interactive onboarding
openclaw onboard --auth-choice vydra-api-key
Or set the env var directly:
export VYDRA_API_KEY="vydra_live_..."
Choose a default capability
Pick one or more of the capabilities below (image, video, or speech) and apply the matching configuration.
Capabilities
Image generation
Default and only bundled image model:
vydra/grok-imagine
Set it as the default image provider:
{
agents: {
defaults: {
imageGenerationModel: {
primary: "vydra/grok-imagine",
},
},
},
}
Bundled support is text-to-image only, at most one image per request. Vydra's hosted edit routes expect remote image URLs, and the bundled plugin does not add a Vydra-specific upload bridge.
Note
See Image Generation for shared tool parameters, provider selection, and failover behavior.
Video generation
Registered video models:
vydra/veo3for text-to-video (rejects image reference inputs)vydra/klingfor image-to-video (requires exactly one remote image URL)
Set Vydra as the default video provider:
{
agents: {
defaults: {
videoGenerationModel: {
primary: "vydra/veo3",
},
},
},
}
Notes:
vydra/klingrejects local file uploads up front; only a remote image URL reference works.- Vydra's
klingHTTP route has been inconsistent about whether it requiresimage_urlorvideo_url; the bundled provider sends the same remote image URL in both fields. - The bundled plugin stays conservative and does not forward undocumented style knobs such as aspect ratio, resolution, watermark, or generated audio.
Note
See Video Generation for shared tool parameters, provider selection, and failover behavior.
Video live tests
Provider-specific live coverage:
OPENCLAW_LIVE_TEST=1 \
OPENCLAW_LIVE_VYDRA_VIDEO=1 \
pnpm test:live -- extensions/vydra/vydra.live.test.ts
The bundled Vydra live file covers:
vydra/veo3text-to-videovydra/klingimage-to-video using a remote image URL
Override the remote image fixture when needed:
export OPENCLAW_LIVE_VYDRA_KLING_IMAGE_URL="https://example.com/reference.png"
Speech synthesis
Set Vydra as the speech provider:
{
tts: {
provider: "vydra",
providers: {
vydra: {
apiKey: "${VYDRA_API_KEY}",
voiceId: "21m00Tcm4TlvDq8ikWAM",
},
},
},
}
Defaults:
- Model:
elevenlabs/tts - Voice id:
21m00Tcm4TlvDq8ikWAM("Rachel")
The bundled plugin exposes this one known-good default voice and returns MP3 audio files.
Related
-
Provider directory, Browse all available providers.
-
Image generation, Shared image tool parameters and provider selection.
-
Video generation, Shared video tool parameters and provider selection.
-
Configuration reference, Agent defaults and model configuration.