Install
openclaw skills install tupian-shipin-shengcheng可调用 banana、sora、veo 等模型生成图片视频,适合图片、视频与短剧素材生产。
openclaw skills install tupian-shipin-shengchengUse this skill when OpenClaw should call this platform relay API for:
Read these references before using the scripts:
Preferred:
EASYCLAW_PLATFORM_API_TOKENCompatible fallback:
CHANJING_PLATFORM_API_TOKENEASYCLAW_PLATFORM_API_KEYEASYCLAW_PLATFORM_API_SECRETCHANJING_PLATFORM_API_KEYCHANJING_PLATFORM_API_SECRETOptional base URL override:
EASYCLAW_PLATFORM_BASE_URLCHANJING_PLATFORM_BASE_URLImportant guidance:
http://easyclaw.bar/shuziren/user/http://easyclaw.bar/shuzirenapiopenclaw.json to make this skill workscripts//api/me, auth routes, or non-skill routesscripts/generate_video.pyscripts/fetch_video.pyscripts/generate_video.py must submit exactly one task for one user intent--no-watchscripts/generate_video.py with --notify-session-key--notify-session-key may be either the real OpenClaw session key or the current delivery target such as easyclaw:bot:11session_status; do not guess another session when the current one can be resolvedjob_id is returnedFor VEO, Banana, and Sora generation:
scripts/generate_video.py--notify-session-key so the watcher can write the final result back to the originating sessionscripts/cron_watch_task.py every 30 secondsNO_REPLYNO_REPLY, and removes the cron jobDo not replace this with model-side polling or ad hoc direct requests.
scripts/generate_video.pyscripts/fetch_video.pyscripts/generate_video.py supports:
Guided builder mode
--prompt, --reference-file, --image-url, --style, --size, --aspect-ratio--list-models or --describe-model <model> when guidance is neededJSON request mode
--payload-json or --payload-fileMultipart form-data mode
--field name=value--file-field name=pathinput_referenceDo not mix JSON payload args with multipart field args in one command.
Typical models:
veo_3_1-fastveo_3_1-fast-flveo_3_fastveo_3Rules:
veo_3_1-fast supports text-to-video and reference-image video with up to 3 imagesveo_3_1-fast-fl requires 1 or 2 imagesveo_3_1-fast-fl and does not provide the required images, stop and tell them exactly what is missinginput_reference; use local files or Base64 JSON in raw modeStandard Banana:
nano_banana_2nano_banana_pronano_banana_pro-1Knano_banana_pro-2Knano_banana_pro-4KGemini Banana:
nano_banana_2-landscapenano_banana_2-portraitnano_banana_pro-1K-landscapenano_banana_pro-1K-portraitnano_banana_pro-2K-landscapenano_banana_pro-2K-portraitnano_banana_pro-4K-landscapenano_banana_pro-4K-portraitRules:
prompt plus optional metadatacontents plus generationConfigTypical models:
sora-2-landscape-10ssora-2-portrait-10ssora-2-landscape-15ssora-2-portrait-15ssora-2-pro-landscape-25ssora-2-pro-portrait-25ssora-2-pro-landscape-hd-15ssora-2-pro-portrait-hd-15sRules:
image_url and local input_reference are mutually exclusivePrint the built-in model guide:
python "{baseDir}/scripts/generate_video.py" --list-models
Describe one model:
python "{baseDir}/scripts/generate_video.py" --describe-model "veo_3_1-fast-fl"
Submit VEO with JSON:
python "{baseDir}/scripts/generate_video.py" --model "veo_3_1-fast" --payload-json "{\"model\":\"veo_3_1-fast\",\"prompt\":\"a cat running in snow\",\"size\":\"1920x1080\"}"
Submit VEO with local reference files:
python "{baseDir}/scripts/generate_video.py" --model "veo_3_1-fast" --prompt "animate this portrait" --reference-file "C:\path\reference1.jpg" --reference-file "C:\path\reference2.jpg"
Submit VEO start/end frame mode:
python "{baseDir}/scripts/generate_video.py" --model "veo_3_1-fast-fl" --prompt "animate between these two frames" --start-frame-file "C:\path\start.jpg" --end-frame-file "C:\path\end.jpg"
Submit Banana standard:
python "{baseDir}/scripts/generate_video.py" --model "nano_banana_pro" --prompt "a coffee cup on a wooden desk" --aspect-ratio "1:1" --reference-url "https://example.com/ref.png"
Submit Gemini Banana:
python "{baseDir}/scripts/generate_video.py" --model "nano_banana_2-landscape" --prompt "a futuristic city skyline"
Submit Sora with image URL:
python "{baseDir}/scripts/generate_video.py" --model "sora-2-landscape-10s" --payload-json "{\"model\":\"sora-2-landscape-10s\",\"prompt\":\"turn this into a cinematic teaser\",\"image_url\":\"https://example.com/source.png\",\"style\":\"cinematic\"}"
Submit only without watcher:
python "{baseDir}/scripts/generate_video.py" --model "veo_3_1-fast" --payload-file "C:\path\payload.json" --no-watch
Query an existing task:
python "{baseDir}/scripts/fetch_video.py" --task-id "task_123"