Vydra Provider: Image, Video, and Speech in OpenClaw
Learn how to use Vydra's image, video, and speech generation in OpenClaw with a single API key. Covers setup, routes, and configuration for developers.
Read this when
- You want Vydra media generation in OpenClaw
- You need Vydra API key setup guidance
The official Vydra plugin provides:
- Image creation through
vydra/grok-imagine - Video creation through
vydra/veo3(text-to-video) andvydra/kling(image-to-video) - Speech generation via Vydra's TTS route, which is backed by ElevenLabs
All three capabilities share the same VYDRA_API_KEY within OpenClaw.
| Property | Value |
|---|---|
| Provider id | vydra |
| Plugin | @openclaw/vydra-provider |
| 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
The base URL must be set to
https://www.vydra.ai/api/v1. Vydra's apex host (https://vydra.ai/api/v1) currently redirects towww. On that cross-host redirect, some HTTP clients discardAuthorization, which changes a valid API key into a confusing auth error. To prevent this, the bundled plugin normalizes any configuredvydra.aibase URL towww.vydra.ai.
Setup
Install the plugin
openclaw plugins install @openclaw/vydra-provider
openclaw gateway restart
Run interactive onboarding
openclaw onboard --auth-choice vydra-api-key
Alternatively, set the env var directly:
export VYDRA_API_KEY="vydra_live_..."
Choose a default capability
Choose one or more of the capabilities below (image, video, or speech) and apply the corresponding configuration.
Capabilities
Image generation
Default and only Vydra image model:
vydra/grok-imagine
Make it the default image provider:
{
agents: {
defaults: {
mediaModels: {
image: {
primary: "vydra/grok-imagine",
},
},
},
},
}
Vydra only supports text-to-image, with a maximum of one image per request. Vydra's hosted edit routes expect remote image URLs, and the plugin does not include a Vydra-specific upload bridge.
Note
Refer to 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)
Make Vydra the default video provider:
{
agents: {
defaults: {
mediaModels: {
video: {
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 plugin sends the same remote image URL in both fields. - The plugin stays conservative and does not forward undocumented style knobs such as aspect ratio, resolution, watermark, or generated audio.
Note
Refer to 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 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
Make Vydra the speech provider:
{
tts: {
provider: "vydra",
providers: {
vydra: {
apiKey: "${VYDRA_API_KEY}",
voiceId: "21m00Tcm4TlvDq8ikWAM",
},
},
},
}
Defaults:
- Model:
elevenlabs/tts - Voice id:
21m00Tcm4TlvDq8ikWAM("Rachel")
The 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.