360 Secure SkillHub
360 安全技能中心

Shortvideo

通过 python3 脚本调用 ShortVideo 后端服务,支持三种视频任务:由单张产品图生成产品视频、由 1-7 张图片生成广告视频、用新图片复刻已有视频风格;另含轮询脚本查询生成状态。需配置 API 凭据环境变量,图片与视频会上传至外部服务。

thecur
thecur
热度 86.26
最近更新 2026-05-11 17:31:25
分类:创作依赖:代码执行 / 第三方 API / 读写文件应用场景:视频编辑 / 社交媒体

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add shortvideo-skills
Metadata
name
shortvideo
description
Create videos using ShortVideo API. Supports product-to-video, image-to-ad-video, and replicate-video. Use this skill when users want to: generate product videos, create ad videos from images, or replicate existing videos. Also trigger on: 生成视频, 产品视频, 视频生成, 制作视频, video generation, create video, product video, ad video.
allowed-tools
Bash(python3 *)
metadata
{"openclaw":{"emoji":"🎬"}}

ShortVideo Creator

Create videos using ShortVideo backend API with multiple task types.

Authentication Setup (Required for First Use)

ShortVideo requires API credentials. Configure via environment variables:

Method 1: Claude Code Config

Add to ~/.claude/settings.json:

{
  "env": {
    "SHORTVIDEO_BASE_URL": "https://api.shortvideo.ai",
    "SHORTVIDEO_API_KEY": "your-api-key-here"
  }
}

Method 2: OpenClaw Config

Add to ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "shortvideo": {
        "env": {
          "SHORTVIDEO_BASE_URL": "https://api.shortvideo.ai",
          "SHORTVIDEO_API_KEY": "your-api-key-here"
        }
      }
    }
  }
}

Method 3: Shell Environment Variable

Add to ~/.zshrc (or ~/.bashrc):

export SHORTVIDEO_BASE_URL="https://api.shortvideo.ai"
export SHORTVIDEO_API_KEY="your-api-key-here"

Then reload: source ~/.zshrc

Note: When executing scripts, if environment variables are not found, try running with source ~/.zshrc && python3 scripts/...


Subcommands

product-to-video - Generate product video from image

Generate a marketing video from a single product image using Sora2 AI.

Trigger: product-to-video, 产品视频, product video

source ~/.zshrc && python3 scripts/product-to-video.py \
  --product-name "<product_name>" \
  --image <image_path> \
  --aspect-ratio <16:9|9:16> \
  --duration 12 \
  [--product-info "<description>"] \
  [--no-poll]

Parameters:

Parameter Required Valid Values Description
--product-name Yes - Product name
--image Yes local/OSS/URL Product image path
--aspect-ratio Yes 16:9, 9:16 Video ratio
--duration Yes 12 Duration (only 12s supported)
--product-info No - Product description
--no-poll No - Disable auto polling

Credit Cost: 100 (fixed)

Example:

source ~/.zshrc && python3 scripts/product-to-video.py \
  --product-name "Premium Headphones" \
  --image https://example.com/product.jpg \
  --aspect-ratio 16:9 \
  --duration 12

image-to-ad-video - Create ad video from images

Create advertisement videos from 1-7 product images.

Trigger: image-to-ad-video, 广告视频, ad video, image to video

source ~/.zshrc && python3 scripts/image-to-ad-video.py \
  --images <image1> <image2> ... \
  --duration <8|15|30|60> \
  --aspect-ratio <16:9|9:16|1:1> \
  [--prompt "<text>"] \
  [--no-poll]

Parameters:

Parameter Required Valid Values Description
--images Yes 1-7 paths Image paths (local/OSS/URL)
--duration Yes 8, 15, 30, 60 Duration in seconds
--aspect-ratio Yes 16:9, 9:16, 1:1 Video ratio
--prompt No max 2000 chars Style prompt
--no-poll No - Disable auto polling

Credit Cost: 30 per second

Example:

source ~/.zshrc && python3 scripts/image-to-ad-video.py \
  --images d2mm4m9addr0008000a0.png \
  --duration 15 \
  --aspect-ratio 16:9

replicate-video - Replicate video with new images

Replicate an existing video style with new product/model images.

Trigger: replicate-video, 视频复刻, video replication

source ~/.zshrc && python3 scripts/replicate-video.py \
  --video <video_path> \
  --aspect-ratio <16:9|9:16> \
  --resolution <540p|720p|1080p> \
  [--product-images <img1> <img2> ...] \
  [--model-images <img1> <img2> ...] \
  [--prompt "<text>"] \
  [--remove-audio] \
  [--no-poll]

Parameters:

Parameter Required Valid Values Description
--video Yes local/OSS/URL Source video (5-300s)
--aspect-ratio Yes 16:9, 9:16 Video ratio
--resolution Yes 540p, 720p, 1080p Output resolution
--product-images No* 1-7 paths Product images
--model-images No* 1-7 paths Model images
--prompt No max 2000 chars Style prompt
--remove-audio No - Remove audio
--no-poll No - Disable auto polling

*At least one image (product or model) is required.

Credit Cost: 9-15 per second (by resolution)

Example:

source ~/.zshrc && python3 scripts/replicate-video.py \
  --video template.mp4 \
  --aspect-ratio 16:9 \
  --resolution 1080p \
  --product-images product.jpg

poll-videos - Poll for video results

Poll for video generation results status.

Trigger: poll-videos, 查询视频, check video status

source ~/.zshrc && python3 scripts/poll-videos.py --video-ids <id1> <id2> [options]

Parameters:

Parameter Required Description
--video-ids Yes Video IDs to check
--once No Single check without polling
--max-attempts No Max polling attempts (default: 60)
--interval No Polling interval in seconds (default: 10)

Video Status Codes:

Status Description
0 Pending
1 Processing
2 Completed
3 Failed

Example:

# Continuous polling
source ~/.zshrc && python3 scripts/poll-videos.py --video-ids video_abc123

# Single check
source ~/.zshrc && python3 scripts/poll-videos.py --video-ids video_abc123 --once

File Path Types

All file parameters support:

Type Example Behavior
Local file /Users/xxx/file.jpg Upload to OSS
OSS path d2mm4m9addr0008000a0.png Use directly
URL https://example.com/file.jpg Download → Upload

Supported File Types

Type Extensions Max Size
Images .jpg, .jpeg, .png, .gif, .webp, .bmp 100MB
Videos .mp4, .mov, .avi, .mkv, .webm 100MB

API Response Format

// Success
{"code": 0, "data": {...}}

// Failure
{"code": 1, "info": "error message"}

Reference Documentation