AI Image & Video Generation

v1.0.3

Generate images and videos using the VibeVideo API. Use when the user asks to create AI images or videos, check generation status, list available models, or...

0· 25·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the runtime instructions: all actions are calls to the VibeVideo API. Required binary (curl) and required env var (VIBEVIDEO_API_KEY) are appropriate for the declared purpose.
Instruction Scope
SKILL.md only instructs making HTTPS requests to https://vibevideo.app, polling task status, parsing taskUrls, checking costs, and cancelling tasks. It does not tell the agent to read unrelated files, other env vars, or send data to unknown endpoints.
Install Mechanism
No install spec and no code files — this is instruction-only and will not write new code to disk. Lower risk because nothing is downloaded or installed by the skill itself.
Credentials
Only one required environment variable (VIBEVIDEO_API_KEY) is declared and used; that is the expected minimal credential for calling the provider's API.
Persistence & Privilege
always:false and no requests to modify other skills or system settings. The skill can be invoked autonomously by the agent (platform default) but it does not request elevated or persistent privileges.
Assessment
This skill appears coherent and limited to calling the VibeVideo API. Before installing: (1) Confirm you trust vibevideo.app and the source of this skill; the skill will be able to use whatever VIBEVIDEO_API_KEY you provide. (2) Keep your API key secret and give the minimal key/permissions if the provider supports scoping; revoke the key if you stop using the skill. (3) Be aware generation may consume paid credits — watch for cost-related error codes and billing. (4) If you are uncomfortable with autonomous agent invocation, disable autonomous use for this skill in your agent settings.

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

aivk9702aawgpfhzn75937b10j7018432q9gpt-image-1-5vk9702aawgpfhzn75937b10j7018432q9image-generationvk9702aawgpfhzn75937b10j7018432q9latestvk9788ene5p52wgwctq82ww6x4s843qymnano-banana-2vk9702aawgpfhzn75937b10j7018432q9seedance-2-0vk9702aawgpfhzn75937b10j7018432q9sora-2vk9702aawgpfhzn75937b10j7018432q9veo-3-1vk9702aawgpfhzn75937b10j7018432q9video-generationvk9702aawgpfhzn75937b10j7018432q9

License

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

Runtime requirements

Binscurl
EnvVIBEVIDEO_API_KEY
Primary envVIBEVIDEO_API_KEY
Environment variables
VIBEVIDEO_API_KEYrequiredAPI key for the VibeVideo API.

SKILL.md

VibeVideo Generation Skill

Prerequisites

  • Environment variable VIBEVIDEO_API_KEY must be set with a valid API key
  • Get your API key from: Dashboard → Settings → API Keys

API Endpoint

This skill always uses the official VibeVideo API endpoint: https://vibevideo.app

Generate Image

Create an image generation task:

curl -s -X POST https://vibevideo.app/api/ai/generate \
  -H "Authorization: Bearer $VIBEVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mediaType": "image",
    "scene": "text-to-image",
    "model": "nano-banana-2",
    "prompt": "A cat sitting on a rainbow",
    "options": {
      "aspect_ratio": "1:1",
      "quality": "2K"
    }
  }'

For image-to-image, set "scene": "image-to-image" and add "image_url": "..." in options.

Response:

{ "code": 0, "data": { "id": "task_id", "status": "pending", "taskId": "...", "costCredits": 5 } }

Generate Video

Create a video generation task:

curl -s -X POST https://vibevideo.app/api/ai/generate \
  -H "Authorization: Bearer $VIBEVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mediaType": "video",
    "scene": "text-to-video",
    "model": "seedance-2-0",
    "prompt": "A dog playing in a park",
    "options": {
      "resolution": "720p",
      "duration": "5s",
      "aspect_ratio": "16:9"
    }
  }'

For image-to-video, set "scene": "image-to-video" and add "image_url": "..." in options. For frames-to-video, add "start_image_url": "..." and "end_image_url": "..." in options.

Query Task Status

Tasks are asynchronous. Poll until status is success, failed, or canceled:

curl -s -X POST https://vibevideo.app/api/ai/query \
  -H "Authorization: Bearer $VIBEVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskId": "YOUR_TASK_ID" }'

Response includes status, taskInfo, taskResult, and taskUrls (JSON string of media URLs).

Calculate Cost

Check credit cost before generating:

curl -s -X POST https://vibevideo.app/api/ai/cost \
  -H "Authorization: Bearer $VIBEVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "mediaType": "video",
    "scene": "text-to-video",
    "options": { "resolution": "720p", "duration": "5s" }
  }'

Cancel Task

curl -s -X DELETE https://vibevideo.app/api/ai/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $VIBEVIDEO_API_KEY"

Workflow

  1. If the user doesn't specify a model, pick the default for the scene (see tables below)
  2. Call the generate endpoint
  3. Poll the query endpoint every 5 seconds until status is terminal (success/failed/canceled)
  4. Parse taskUrls from the response and report the media URL(s) to the user
  5. If code is not 0, handle the error (see Error Handling below)

Image Models

IDLabelVendorScenesQualities
nano-banana-2Nano Banana 2Googletext-to-image, image-to-image1K, 2K, 4K
gpt-image-1-5GPT Image 1.5OpenAItext-to-image, image-to-imageMedium, High
grok-imagineGrok ImagineGroktext-to-image, image-to-image
seedream-5-0Seedream 5.0ByteDancetext-to-image, image-to-imageBasic, High
qwen-imageQwen ImageQwentext-to-image, image-to-image
wan-2-7-imageWan 2.7 ImageQwen/Alibabatext-to-image, image-to-image1K, 2K
wan-2-7-image-proWan 2.7 Image ProQwen/Alibabatext-to-image, image-to-image1K, 2K, 4K

Default for text-to-image: nano-banana-2

Video Models

IDLabelVendorScenesResolutionsDurations
seedance-2-0Seedance 2.0ByteDancetext-to-video, image-to-video, frames-to-video, reference-to-video720p, 1080p5s, 10s, 15s
seedance-2-0-fastSeedance 2.0 FastByteDancetext-to-video, image-to-video, frames-to-video, reference-to-video720p, 1080p5s, 10s, 15s
seedance-1-5-proSeedance 1.5 ProByteDancetext-to-video, image-to-video480p, 720p, 1080p4s, 8s, 12s
grok-imagineGrok ImagineGroktext-to-video, image-to-video480p, 720p6s, 10s, 15s
kling-2-6Kling 2.6Klingtext-to-video, image-to-video5s, 10s
runwayRunwayRunwaytext-to-video, image-to-video720p, 1080p5s, 10s
veo-3-1Veo 3.1Googletext-to-video, image-to-video, frames-to-video, reference-to-video720p, 1080p, 4k
veo-3-1-fastVeo 3.1 FastGoogletext-to-video, image-to-video, frames-to-video, reference-to-video720p, 1080p, 4k
seedence-1-0-proSeedence 1.0 ProByteDancetext-to-video, image-to-video480p, 720p, 1080p5s, 10s
seedence-1-0-pro-fastSeedence 1.0 Pro FastByteDanceimage-to-video720p, 1080p5s, 10s
seedence-1-0-liteSeedence 1.0 LiteByteDancetext-to-video, image-to-video480p, 720p, 1080p5s, 10s

Default for text-to-video: seedance-2-0

Error Handling

  • code: -1 with "no auth": User's API key is missing or invalid. Remind them to set VIBEVIDEO_API_KEY.
  • code: -1002 with "insufficient credits": User needs to purchase credits at VibeVideo dashboard.
  • code: -1 with "invalid": Wrong model ID, scene, or mediaType. Check against the model tables above.
  • Task stuck in "processing": Polling timeout. The task may still complete — suggest the user wait and query again later.

API Response Envelope

All endpoints return:

{ "code": 0, "message": "ok", "data": { ... } }

code: 0 means success. Non-zero code means error (check message).

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…