Vidau

Use Vidau Open API to generate short videos with Veo3, Sora2, and other models, or query account credits. Register at superaiglobal.com and configure API Key.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 44 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description request a Vidau API key and the scripts call only api.superaiglobal.com endpoints to create/query tasks, upload assets, and query credits. Required env var VIDAU_API_KEY is appropriate and proportional to the claimed functionality.
Instruction Scope
Runtime instructions are narrowly scoped to: check Python, run the bundled scripts, and parse their JSON output. Scripts only read local files when uploading an asset and use an API key from VIDAU_API_KEY. The SKILL.md suggests installing Python via platform package managers if missing (this is an operational suggestion, not an automatic install).
Install Mechanism
No install spec; skill is instruction + included Python scripts. No external downloads or package installs are performed by the skill itself, and all network calls go to the documented api.superaiglobal.com host.
Credentials
Only VIDAU_API_KEY is required (primary credential) which is appropriate. The code also honors optional environment variables VIDAU_API_LOG and VIDAU_ASSET_CACHE to override log/cache paths — these are reasonable for configuration but allow control of where files are written.
Persistence & Privilege
Skill does not request elevated privileges and 'always' is false. Scripts write a per-user asset cache (~/.vidau_asset_cache.json by default) and an API log file (default vidau_api.log in working dir). These files persist data (asset IDs, URLs, and logged request/response snippets) to disk; the paths can be overridden by env vars.
Assessment
This skill appears to do what it says: it needs your VIDAU_API_KEY to call Vidau's API and will upload files you ask it to upload. Before installing, consider: 1) API key scope and trust — the key grants access to your Vidau account (credits, tasks); only install if you trust Vidau/superaiglobal and the skill owner. 2) Local persistence — the scripts will create a small asset cache (default ~/.vidau_asset_cache.json) and an API log file (default vidau_api.log) that contain metadata and request/response snippets; if you have sensitive prompts or file metadata you may prefer to set VIDAU_ASSET_CACHE and VIDAU_API_LOG to a secure path or avoid caching. 3) Upload behavior — uploading a local file sends it to Vidau asset storage (so do not upload private secrets or restricted content unless you accept that). 4) The SKILL.md suggests installing Python via system package managers if missing — do not allow the agent to run system installs automatically; perform installs yourself or decline if you lack permission. If you want extra assurance, inspect and run the included scripts locally with your API key in a controlled environment before enabling autonomous use.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.2
Download zip
latestvk971y605tbv2xds1nhqvy2vfqn8310zr

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

EnvVIDAU_API_KEY
Primary envVIDAU_API_KEY

SKILL.md

Vidau Video Generator

Version: 1.0.2

When to use

  • User asks to "generate a video", "create a short video with Veo3/Sora", "generate video from this prompt/image", "make a clip from this script", etc.
  • User asks "how many credits do I have", "check my Vidau balance", "query Vidau credits", etc.
  • User asks to "check my video task status", "has my Vidau task finished", "query task by UUID", etc.

When NOT to use

  • User only wants to edit or process existing local video files (e.g. trim, merge, transcode) without calling any cloud API.
  • User asks for a different video API (e.g. Runway, Pika) by name; use that provider’s skill if available.
  • User has not mentioned Vidau/Veo/Sora/Seedance or "generate video" / "create video" and is only discussing concepts or other tools.

Reply language

When returning results (video link, credits, or error message) to the user, use the same language as the user’s question (e.g. Simplified Chinese if they asked in Chinese, English if they asked in English).

Prerequisites

Environment variable VIDAU_API_KEY must be set (injected by OpenClaw from skills.entries.vidau.apiKey or env). If the user has no API key, they must register at https://www.superaiglobal.com/ to get one. Do not trigger this skill if it is not configured.

Environment check

Before running any script, ensure Python 3 is available:

  1. Run python3 --version or python --version. If either succeeds, use that command when invoking the scripts below.
  2. If both fail, try to install Python for the current platform:
    • macOS: brew install python3 (requires Homebrew).
    • Linux (Debian/Ubuntu): sudo apt-get update && sudo apt-get install -y python3.
    • Windows: winget install Python.Python.3.12 if available; otherwise tell the user to download and run the installer from python.org.
  3. If install fails (e.g. no permission or unsupported OS), reply with a short message that Python 3 is required and link to python.org/downloads, then stop. Do not run the Vidau scripts until Python is available.

The scripts use only the standard library; no pip packages are required.

Available scripts

  • scripts/query_credit.py — Query current available credits; no args; outputs JSON with data.availableCredit, data.userId.
  • scripts/upload_asset.py — Upload a local file (image or video) to Vidau; outputs JSON with data.url and data.assetId. Use data.url as --image-url / --last-image-url / --ref-image-urls in create_task when the user only has a local file. Caches by file content hash (default ~/.vidau_asset_cache.json, override with env VIDAU_ASSET_CACHE) so the same file is not re-uploaded.
  • scripts/create_task.py — Create video task; required --prompt, optional --model, etc.; outputs JSON with data.taskUUID.
  • scripts/query_task.py — Query task status and result once; required --task-uuid; outputs JSON with taskStatus, and on success also prints [VIDAU_VIDEO_URL] / [/VIDAU_VIDEO_URL] and [VIDAU_THUMB_PATH] / [/VIDAU_THUMB_PATH] blocks containing the raw URLs. When presenting succeeded results to the user, copy the video and thumbnail URLs verbatim from these blocks (do not rewrite or shorten). When the task has reached succeeded or failed, the script prints [OPENCLAW] DELETE_SCHEDULED_TASK task_uuid=<uuid> to stderr so the platform can remove the corresponding scheduled poll task.
  • scripts/wait_task.py — Poll until task succeeds or fails (or timeout); required --task-uuid; optional --interval (default 10s), --timeout (default 600s = 10 min). On success outputs same JSON as query_task and the same [VIDAU_VIDEO_URL] / [VIDAU_THUMB_PATH] blocks. Exit code 0 = succeeded, 1 = failed, 2 = timeout.

Workflow (generate video)

  1. Optional: Call scripts/query_credit.py to check availableCredit before creating a task to avoid failures due to insufficient credits.
  2. If the user only has a local image/video (no URL yet): Call scripts/upload_asset.py <path> to upload the file; read data.url from stdout and use it as --image-url, --last-image-url, or in --ref-image-urls when calling create_task.
  3. Call scripts/create_task.py with --prompt (required), --resolution (required), --model (default veo@3:normal), and optional args (see parameter table below).
  4. Read data.taskUUID from the script’s stdout JSON.
  5. Option A (recommended): Call scripts/wait_task.py --task-uuid <taskUUID> to poll until done (default: 10s interval, 10 min timeout). Option B: Manually poll scripts/query_task.py --task-uuid <taskUUID> every 5–10s until data.taskStatus is succeeded or failed; cap total wait at 3–5 minutes.
  6. Success: Return the video and thumbnail links to the user. Copy verbatim from the script output blocks: the video and thumbnail URLs shown to the user must be copied exactly from the content between [VIDAU_VIDEO_URL] and [/VIDAU_VIDEO_URL], and between [VIDAU_THUMB_PATH] and [/VIDAU_THUMB_PATH] in the script stdout—do not rewrite, truncate, or replace; present links in a code block so the user can copy. Failure: Explain using the API message or error code (e.g. insufficient credits, policy violation).
  7. When task reaches a final state (succeeded or failed): If a scheduled task was created to poll this taskUUID, cancel/delete that scheduled task so the platform stops re-running the query. query_task.py prints [OPENCLAW] DELETE_SCHEDULED_TASK task_uuid=<uuid> to stderr on final state for platform integration.

Workflow (query credits)

When the user asks for balance, call scripts/query_credit.py (no args), read data.availableCredit from stdout JSON and reply; optionally include data.userId.

Parameters (create_task.py)

ParameterRequiredDescription
--promptYesText description, up to 2000 characters
--modelNoDefault veo@3:normal; see model list below
--negative-promptNoNegative prompt, up to 2000 characters
--image-urlNoFirst-frame image URL
--last-image-urlNoLast-frame image URL
--durationNoVideo duration in seconds
--generate-audioNoWhether to generate audio; true/false
--seedNoRandom seed
--resolutionYesResolution, e.g. 720p, 1080p
--ratioNoAspect ratio, e.g. 16:9, 9:16

Valid values: resolution commonly 720p or 1080p; ratio e.g. 16:9, 9:16. See references/parameters.md for more detail. Run python scripts/create_task.py --help for full parameters.

Model list

Common model IDs (aligned with API):

  • Veo 3: veo@3:normal
  • Veo 3.1: veo@3.1:normal, veo@3.1:fast
  • Sora 2: sora@2:normal, sora@2:pro
  • Seedance: seedance@1:pro, seedance@1:pro_fast
  • Wan 2.5: wan@2.5:preview
  • Vidu Q2: vidu@q2:turbo, vidu@q2:pro

See references/models.md for more models and use cases.

Error handling

  • If VIDAU_API_KEY is not set, scripts exit with an error; tell the user to register at https://www.superaiglobal.com/ to get an API key, then configure it in OpenClaw.
  • Common API 400 errors: CreditInsufficient, TaskPromptPolicyViolation, ImageDownloadFailure. Relay the API message to the user in the user’s language. See references/errors.md for error codes and suggested user-facing messages.

Example usage

  • Generate video: User says e.g. "Generate an 8s video with Veo3 from this script" or "Generate a 10s sunset beach clip with Sora2". Agent: (optional) query_credit.pycreate_task.py --prompt "..." --resolution 720p --duration 8 --model veo@3:normal → read taskUUIDwait_task.py --task-uuid <uuid> → return video URL from output blocks or explain failure.
  • Local image as first frame: User has only a local image file. Agent: upload_asset.py /path/to/image.png → read data.url from stdout → create_task.py --prompt "..." --resolution 720p --image-url "<data.url>" → then wait_task as above.
  • Query credits: User says e.g. "How many Vidau credits do I have?" or "Check my Vidau balance". Agent: query_credit.py → reply with data.availableCredit (and optionally data.userId).
  • Check task: User says e.g. "Is my video task done? UUID is xxx". Agent: wait_task.py --task-uuid xxx or query_task.py --task-uuid xxx → return status or video link. When the result is succeeded or failed, cancel any scheduled task that was polling this taskUUID.

Files

10 total
Select a file
Select a file to preview.

Comments

Loading comments…