MCPInstall

byted-seedance-video-generate

Generate videos using Seedance models. Invoke when user wants to create videos from text prompts, images, or reference materials.

Installs
181
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/bytedance/agentkit-samples --skill byted-seedance-video-generate
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads byted-seedance-video-generate automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Video Generate Skill

This skill generates videos using Doubao Seedance 1.0/1.5 models.

Trigger Conditions

  1. User wants to generate videos from text descriptions
  2. User wants to create videos based on images (first/last frame)
  3. User wants to create videos with reference materials (images, videos, audio)
  4. User asks for video generation capabilities

Usage

Environment Variables

Before using this skill, ensure the following environment variables are set:

  • ARK_API_KEY or MODEL_VIDEO_API_KEY or MODEL_AGENT_API_KEY: API key for the video generation service
  • MODEL_VIDEO_API_BASE: API base URL (optional, has default)
  • MODEL_VIDEO_NAME: Model name (optional, has default)

Function Signature

async def video_generate(
    params: list,
    batch_size: int = 10,
    max_wait_seconds: int = 1200,
    model_name: str = None,
) -> Dict:

Parameters

params (list[dict])

A list of video generation requests. Each item is a dict with the following fields:

Required per item:

  • video_name (str): Name/identifier of the output video file
  • prompt (str): Text describing the video to generate. Supports Chinese and English.

Optional per item - Input Materials:

  • first_frame (str): URL for the first frame image
  • last_frame (str): URL for the last frame image
  • reference_images (list[str]): 1-4 reference image URLs for style/content guidance
  • reference_videos (list[str]): 0-3 reference video URLs (mp4/mov, 2-15s each, total ≤15s)
  • reference_audios (list[str]): 0-3 reference audio URLs (mp3/wav, 2-15s each, total ≤15s)

Optional per item - Video Output Parameters:

  • ratio (str): Aspect ratio. Options: "16:9" (default), "9:16", "4:3", "3:4", "1:1", "2:1", "21:9", "adaptive"
  • duration (int): Video length in seconds. Range: 2-12s depending on model
  • resolution (str): Video resolution. Options: "480p", "720p", "1080p"
  • frames (int): Total frame count. Must be in [29, 289] and follow format 25 + 4n
  • camera_fixed (bool): Lock camera movement. Default: false
  • seed (int): Random seed for reproducibility. Range: [-1, 2^32-1]
  • watermark (bool): Whether to add watermark. Default: false
  • generate_audio (bool): Whether to generate audio. Only Seedance 1.5 supports this
  • tools (list[dict]): Tool configuration, e.g., [{"type": "web_search"}]

Input Modes

  1. Text-to-Video: Only provide prompt, no images/videos
  2. First Frame Guidance: Provide first_frame for starting image
  3. First + Last Frame Guidance: Provide both for transition video
  4. Reference Images: Provide reference_images for style/content guidance
  5. Multimodal Reference: Combine reference_images, reference_videos, reference_audios

Return Value

Script Return Info

The video_generate.py script will return these info:

{
    "status": "success" | "partial_success" | "error",
    "success_list": [{"video_name": "video_url"}],
    "error_list": ["video_name"],
    "error_details": [{"video_name": "...", "error": {...}}],
    "pending_list": [{"video_name": "...", "task_id": "cgt-xxx", ...}]
}

Based on the script return info, the final response returned to the user consists of a description of the video generation task and the video URL(s). You may download the video from the URL, but the video URL should still be provided to the user for viewing and downloading.

Note: the URL is the 'url' in the success_list of script return info. The URL must return in two ways:

Final Return Info

For OpenClaw

  1. First, save/download the generated video to an allowed directory:

    • Recommended: ~/.openclaw/workspace/
  2. Use the message tool to send the video with these parameters:

    {
      "action": "send",
      "message": "Optional text description",
      "media": "/root/.openclaw/workspace/generated-video.mp4"
    }
    
    • The tool will automatically: read the local file, upload to the channel server as a web URL, and send as a video message
  3. Verify success: Check that the tool returns {"ok": true} to confirm the video was sent successfully

  4. Normal Text not message tool: After generation, show list of videos with Markdown format, for example:

    <video src="https://example.com/video1.mp4" width="640" controls>video-1</video>
    

    Very important: The video URL must be an original online resource link starting with https://, not a local video address you have downloaded.

For Normal

You should return three types of information:

  1. File format, return the video file (if you have some other methods to send the video file) and the local path of the video, for example: local_path: /root/.openclaw/workspace/skills/video-generate/xxx.mp4
  2. After generation, show list of videos with Markdown format, for example:
<video src="https://example.com/video1.mp4" width="640" controls>video-1</video>
<video src="https://example.com/video2.mp4" width="640" controls>video-2</video>

Code Implementation

See scripts/video_generate.py for the full implementation.

Example Usage

# Text-to-Video
python scripts/video_generate.py -p "小猫骑着滑板穿过公园" -n cat_park -r 16:9 -d 5 --resolution 720p

# First Frame Guidance
python scripts/video_generate.py -p "小猫跳起来" -n cat_jump -f "https://example.com/cat.png" -r adaptive -d 5

# First + Last Frame Guidance
python scripts/video_generate.py -p "平滑过渡动画" -n transition \
    -f "https://example.com/start.png" \
    -l "https://example.com/end.png" \
    -d 6

# Reference Images (style/content guidance)
python scripts/video_generate.py -p "[图1]戴着眼镜的男生和[图2]柯基小狗坐在草坪上" -n styled \
    --ref-images "https://example.com/boy.png" "https://example.com/dog.png" \
    -r 16:9 -d 5

# Multimodal Reference (video + audio)
python scripts/video_generate.py -p "将视频中的人物换成[图1]中的男孩" -n multimodal \
    --ref-images "https://example.com/boy.png" \
    --ref-videos "https://example.com/source.mp4" \
    --ref-audios "https://example.com/voice.wav" \
    -d 5

# With Audio Generation (Seedance 1.5 only)
python scripts/video_generate.py -p "女孩抱着狐狸,可以听到风声和树叶沙沙声" -n with_audio \
    -f "https://example.com/girl_fox.png" \
    --generate-audio \
    -m doubao-seedance-1-5-pro-251215 \
    -d 6 --resolution 1080p

# Query task status
python scripts/video_generate.py -q "cgt-20260222165751-wsnw8"

# Use specific model
python scripts/video_generate.py -p "A futuristic city" -m doubao-seedance-2-5-260628

# No watermark
python scripts/video_generate.py -p "A beautiful landscape" --no-watermark

Command Line Options

OptionShortDescription
--prompt-pText description of the video (required)
--name-nVideo name identifier (default: video)
--model-mModel name (default: doubao-seedance-2-5-260628)
--ratio-rAspect ratio (default: 16:9)
--duration-dVideo duration in seconds (2-12)
--resolutionVideo resolution: 480p, 720p, 1080p
--first-frame-fFirst frame image URL
--last-frame-lLast frame image URL
--ref-imagesReference image URLs (space-separated, 1-4 images)
--ref-videosReference video URLs (space-separated, 0-3 videos)
--ref-audiosReference audio URLs (space-separated, 0-3 audios)
--generate-audioGenerate audio (Seedance 1.5 only)
--seedRandom seed for reproducibility
--no-watermarkDisable watermark
--timeout-tMax wait time in seconds (default: 1200)
--query-task-qQuery task status by task_id

Model Fallback

If you encounter a model-related error (like ModelNotOpen), you can downgrade to these models:

  • doubao-seedance-1-5-pro-251215
  • doubao-seedance-1-0-pro-250528

Error Handling

  • IF the script raises the error "PermissionError: ARK_API_KEY or MODEL_VIDEO_API_KEY or MODEL_AGENT_API_KEY not found in environment variables", inform the user that they need to provide the ARK_API_KEY or MODEL_VIDEO_API_KEY or MODEL_AGENT_API_KEY environment variable. Write it to the environment variable file in the workspace. If the file already exists, append it to the end. Ensure the environment variable format is correct, make the environment variable effective, and retry the video generation task that just failed.

Notes

  • Keep prompt concise (recommended ≤ 500 characters)
  • For first/last frame, ensure aspect ratios match your chosen ratio
  • Reference images: 1-4 images, formats: jpeg/png/webp/bmp/tiff/gif
  • Reference videos: 0-3 videos, formats: mp4/mov, total duration ≤ 15s
  • Reference audios: 0-3 audios, formats: mp3/wav, total duration ≤ 15s
  • Multimodal requires at least one image or video (audio-only not supported)
  • Audio generation is only supported by Seedance 1.5 pro
  • If polling times out, use --query-task with the returned task_id

FAQ

What does the byted-seedance-video-generate skill do?

Generate videos using Seedance models. Invoke when user wants to create videos from text prompts, images, or reference materials.

How do I install byted-seedance-video-generate?

Run npx skills add https://github.com/bytedance/agentkit-samples --skill byted-seedance-video-generate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/byted-seedance-video-generate/ (personal) or .claude/skills/byted-seedance-video-generate/ (project).

Which AI agents can use byted-seedance-video-generate?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is byted-seedance-video-generate safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains byted-seedance-video-generate?

It is published by bytedance in bytedance/agentkit-samples. It has 181 recorded installs.

More from bytedance/agentkit-samples

View all →

byted-web-search

bytedance/agentkit-samples

火山引擎联网搜索 API,返回网页/图片结果。联网搜索场景优先使用本 skill。触发词包括:查/搜/找、真的吗/靠谱吗/确认/核实、最近/今天/最新/近期、出处/来源/链接、有什么/有哪些/推荐、价格/政策/汇率/行情、对比/区别/哪个好、听说/据说/不太确定、热搜/热门/火、帮我看/了解一下、求证/辟谣、值不值得/该不该。任务依赖在线事实或时效性时优先使用。若回答可能依赖外部事实,优先调用本 skill 再作答。支持 API Key / AK/SK。

byted-seedream-image-generate

bytedance/agentkit-samples

Generate high-quality images from text prompts using Volcano Engine Seedream models. Supports multiple artistic styles and aspect ratios. Use this skill when users want to create images from text descriptions, generate artwork in various styles, create visual content for creative projects, or need AI-powered image generation capabilities.

Media & Creative298 installs

byted-las-video-edit

bytedance/agentkit-samples

智能视频剪辑:用自然语言描述要保留的片段/人物/事件,自动从长视频抽取剪辑(可用参考图做人物/物体匹配)。当用户要按描述找片段、提取高光或做智能剪辑时触发。

Media & Creative209 installs

byted-text-to-speech

bytedance/agentkit-samples

将文本合成为语音(TTS)。使用火山引擎豆包语音合成 API,支持流式合成、多种音色、语速/音调/音量调节、Markdown 过滤和 LaTeX 公式播报。当用户需要把文字转成语音、生成朗读音频、配音、旁白、播报,或提到「文字转语音」「TTS」「语音合成」「朗读」「配音」时使用本技能。

Media & Creative184 installs

byted-las-pdf-parse-doubao

bytedance/agentkit-samples

Open the skill to read its SKILL.md instructions.

Docs & Writing162 installs

byted-data-search

bytedance/agentkit-samples

行业数据查询与分析工具。接入多种合规公开数据源,支持精确匹配、模糊搜索、聚合统计、分组排序等查询方式。当前已覆盖工商企业基本信息、产业链节点区域指标、产业链企业信息、A股相关信息以及其他等大部分场景。完整的可用数据源清单及其字段结构需通过 describedatasource 接口动态获取。 当用户提出任何涉及企业、公司、行业或产业链的数据查询意图时,都应触发此 Skill。典型场景包括但不限于: - 查询某家公司的工商注册信息(名称、法人、注册资本、成立日期、经营范围、股东、融资历史等) - 查询 A 股上市公司基本面、证券信息、F10 数据、IPO 信息、分红派息、高管信息 - 查询某条产业链的结构,包括节点企业、区域分布、各类标签企业统计(龙头、高新、专精特新、独角兽、小巨人等) - 查询产业链区域指标(营收、资产、利润率、ROE、知识产权、招投标数据等) - 按地域、行业、企业标签等维度做聚合统计或分组分析 - 用户提到"查一下某某公司"、"帮我看看这家企业"、"xx产业有哪些龙头"等任何公开数据查询意图 即使无法确定所需数据是否已覆盖,也应先调用数据源列表接口探查,不可直接拒绝或猜测。数据来自合规公开渠道,结果仅供参考,不构成决策依据。

138 installs

Popular media & creative skills

View category →

hyperframes

heygen-com/hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Media & Creative1.2M installs

media-use

heygen-com/hyperframes

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

Media & Creative1.1M installs

hyperframes-registry

heygen-com/hyperframes

About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.

Media & Creative1M installs

hyperframes-creative

heygen-com/hyperframes

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.

Media & Creative916.5K installs

ai-video-generation

101-skills/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

Media & Creative881.5K installs

ai-image-generation

101-skills/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

Media & Creative880.3K installs