openclaw/openclaw · error · Error
DeepInfra video generation does not support video reference
Error message
DeepInfra video generation does not support video reference inputs.
What it means
Thrown at the top of generateVideo (extensions/deepinfra/video-generation-provider.ts:212) when req.inputVideos contains one or more entries. The DeepInfra video provider declares videoToVideo.enabled = false. The guard fires synchronously before any network call.
Source
Thrown at extensions/deepinfra/video-generation-provider.ts:212
seed: "number",
negative_prompt: "string",
negativePrompt: "string",
style: "string",
},
},
imageToVideo: {
enabled: false,
},
videoToVideo: {
enabled: false,
},
},
async generateVideo(req) {
if ((req.inputImages?.length ?? 0) > 0) {
throw new Error("DeepInfra video generation currently supports text-to-video only.");
}
if ((req.inputVideos?.length ?? 0) > 0) {
throw new Error("DeepInfra video generation does not support video reference inputs.");
}
const auth = await resolveApiKeyForProvider({
provider: "deepinfra",
cfg: req.cfg,
agentDir: req.agentDir,
store: req.authStore,
});
if (!auth.apiKey) {
throw new Error("DeepInfra API key missing");
}
const model = normalizeDeepInfraModelRef(req.model, defaultModel);
const deadline = createProviderOperationDeadline({
timeoutMs: req.timeoutMs,
label: "DeepInfra video generation",
});
const { baseUrl, allowPrivateNetwork, headers, dispatcherPolicy } =
resolveProviderHttpRequestConfig({View on GitHub (pinned to 01804a7531)
Solutions
- Check provider.capabilities.videoToVideo.enabled before attaching input videos.
- For text-to-video with DeepInfra, omit inputVideos (or pass an empty array).
- Route video-to-video requests to a provider that declares videoToVideo.enabled = true.
Example fix
// before
await provider.generateVideo({ prompt, inputVideos: [{ buffer, mimeType: "video/mp4" }] });
// after
await provider.generateVideo({ prompt }); Defensive patterns
Strategy: validation
Validate before calling
if (provider.capabilities?.videoToVideo?.enabled === false && (req.inputVideos?.length ?? 0) > 0) {
throw new Error(`${provider.id} does not support video-to-video`);
} Type guard
function supportsVideoToVideo(provider: { capabilities?: { videoToVideo?: { enabled?: boolean } } }): boolean {
return provider.capabilities?.videoToVideo?.enabled === true;
} Prevention
- Always consult provider.capabilities before sending reference videos.
- Filter providers by videoToVideo capability in your dispatch layer.
- DeepInfra video is text-to-video only as of the current surface.
When it happens
Trigger: A VideoGenerationRequest with inputVideos.length > 0 is sent to the DeepInfra video provider's generateVideo method.
Common situations: Caller assumes video-to-video is supported; a dispatcher forwards video references to all providers; UI exposes a video-reference upload that routes to an unsupported provider.
Related errors
- DeepInfra video generation currently supports text-to-video
- Comfy video generation currently supports at most one refere
- Comfy video generation does not support input videos
- DeepInfra video response returned malformed data URL base64
- DeepInfra video response missing video URL
AI-assisted analysis of openclaw/openclaw@01804a7531 (2026-08-12).
Data as JSON: /api/errors/e1dab3aa1cc056a2.
Report an issue: GitHub.