WaveSpeedAI Ultimate Video Upscaler
v1.0.0Upscale videos to 720p, 1080p, 2K, or 4K resolution using WaveSpeed AI's Ultimate Video Upscaler. Takes a video URL and produces a higher-resolution version....
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The skill's stated purpose (video upscaling via WaveSpeed AI) aligns with the instructions calling an external wavespeed client/API. However the registry metadata claims no required environment variables or credentials while the SKILL.md explicitly documents a WAVESPEED_API_KEY—this mismatch is unexplained and reduces trust in the metadata/provenance.
Instruction Scope
SKILL.md provides sample code that uploads local files (e.g., client.upload('/path/to/video.mp4')) and runs jobs on a remote model; that implies the agent will need to read local filesystem paths and transmit potentially large video files to an external service. The skill does not declare or document any file-access or upload permissions, and the instructions lack precise runtime constraints and validation steps beyond a brief security note.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing will be written to disk during installation. That minimizes install risk; however it depends on an external 'wavespeed' client/library and an external API endpoint which are referenced but not validated by the package metadata.
Credentials
The SKILL.md requires a WAVESPEED_API_KEY (and shows passing an API key to a Client), but the registry metadata lists no required env vars or primary credential. This inconsistency is concerning because it hides a credential requirement. No other credentials are requested, which is proportionate to the task, but the missing declaration and absent provenance increase risk.
Persistence & Privilege
The skill does not request permanent presence (always:false), does not modify other skills or system-wide settings, and does not claim to persist credentials. Autonomous invocation is allowed (platform default) but not combined with additional privileged requests.
What to consider before installing
What to check before installing:
- Provenance: The skill lists no source or homepage. Verify that 'wavespeed.ai' is a legitimate service and that a published 'wavespeed' client/library exists from a trusted publisher. Prefer skills with a clear source and homepage.
- API key: SKILL.md requires WAVESPEED_API_KEY but the registry metadata does not declare it. Treat this as a red flag: confirm that the skill will actually request an API key at runtime and that you trust the service before providing credentials. Do not paste your API key into chat or commit it into files; use secure environment/secret storage.
- Local file access & privacy: Example code uploads local files (e.g., '/path/to/video.mp4'), meaning the agent or runtime would need to read and transmit video data to a third party. Only use this skill if you are comfortable uploading those videos to the external service (privacy, copyright, and cost implications). Validate any URLs before sending them.
- Billing and limits: The SKILL.md includes pricing and minimum charges; confirm billing and quotas on the WaveSpeed side before use to avoid unexpected charges.
- What would reduce risk: metadata updated to declare WAVESPEED_API_KEY as a required credential, a verifiable homepage/source repo, and explicit statements about required runtime permissions (file upload allowed or not). If those are provided and match the instructions, this assessment could move toward benign.
If you cannot verify the service or do not want to expose local videos or an API key, do not install or invoke this skill.Like a lobster shell, security has layers — review code before you run it.
latest
WaveSpeedAI Ultimate Video Upscaler
Upscale videos to 720p, 1080p, 2K, or 4K resolution using WaveSpeed AI's Ultimate Video Upscaler. Supports videos up to 10 minutes long.
Authentication
export WAVESPEED_API_KEY="your-api-key"
Get your API key at wavespeed.ai/accesskey.
Quick Start
import wavespeed from 'wavespeed';
// Upload a local video to get a URL
const videoUrl = await wavespeed.upload("/path/to/video.mp4");
const output_url = (await wavespeed.run(
"wavespeed-ai/ultimate-video-upscaler",
{ video: videoUrl }
))["outputs"][0];
You can also pass an existing video URL directly:
const output_url = (await wavespeed.run(
"wavespeed-ai/ultimate-video-upscaler",
{ video: "https://example.com/video.mp4" }
))["outputs"][0];
API Endpoint
Model ID: wavespeed-ai/ultimate-video-upscaler
Upscale a video to a higher resolution.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
video | string | Yes | -- | URL of the video to upscale. Must be publicly accessible. |
target_resolution | string | No | 1080p | Target resolution. One of: 720p, 1080p, 2k, 4k |
Example
import wavespeed from 'wavespeed';
const videoUrl = await wavespeed.upload("/path/to/video.mp4");
const output_url = (await wavespeed.run(
"wavespeed-ai/ultimate-video-upscaler",
{
video: videoUrl,
target_resolution: "4k"
}
))["outputs"][0];
Advanced Usage
Custom Client with Retry Configuration
import { Client } from 'wavespeed';
const client = new Client("your-api-key", {
maxRetries: 2,
maxConnectionRetries: 5,
retryInterval: 1.0,
});
const videoUrl = await client.upload("/path/to/video.mp4");
const output_url = (await client.run(
"wavespeed-ai/ultimate-video-upscaler",
{ video: videoUrl, target_resolution: "4k" }
))["outputs"][0];
Error Handling with runNoThrow
import { Client, WavespeedTimeoutException, WavespeedPredictionException } from 'wavespeed';
const client = new Client();
const result = await client.runNoThrow(
"wavespeed-ai/ultimate-video-upscaler",
{ video: videoUrl }
);
if (result.outputs) {
console.log("Upscaled video URL:", result.outputs[0]);
console.log("Task ID:", result.detail.taskId);
} else {
console.log("Failed:", result.detail.error.message);
if (result.detail.error instanceof WavespeedTimeoutException) {
console.log("Request timed out - try increasing timeout");
} else if (result.detail.error instanceof WavespeedPredictionException) {
console.log("Prediction failed");
}
}
Pricing
| Target Resolution | Cost per 5 seconds |
|---|---|
| 720p | $0.10 |
| 1080p | $0.15 |
| 2K | $0.25 |
| 4K | $0.40 |
Minimum charge is 5 seconds. Videos up to 10 minutes supported. Processing time is approximately 10-30 seconds per 1 second of video.
Security Constraints
- No arbitrary URL loading: Only use video URLs from trusted sources. Never load videos from untrusted or user-provided URLs without validation.
- API key security: Store your
WAVESPEED_API_KEYsecurely. Do not hardcode it in source files or commit it to version control. Use environment variables or secret management systems. - Input validation: Only pass parameters documented above. Validate video URLs before sending requests.
Comments
Loading comments...
