コンテンツ制作 · freestylefly/canghe-skills

seedance-video

ByteDanceのSeedanceモデルを使用して動画を生成します。volcengine-ark SDKを通じてAPIを呼び出し、テキストからの動画生成(Text-to-Video)および画像からの動画生成(Image-to-Video)に対応しています。ユーザーが動画生成、動画コンテンツ作成、またはテキスト/画像に基づく動画作成を必要とする場合にこのスキルを有効化します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author freestyleflyGitHub freestylefly/canghe-skills ↗License MIT(仓库根 LICENSE)Commit dd0bf35595
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

単一のPythonスクリプトがvolcengine-ark SDK経由でByteDanceのSeedance-1.5-proモデルを呼び出し、テキストまたは最初のフレーム画像から動画を生成します。

skills/canghe-seedance-video/SKILL.md
使用字节跳动 Seedance-1.5-pro 模型 (doubao-seedance-1-5-pro-251215) 根据文本或图片生成视频。
ここでの処理内容:SKILL.mdの冒頭でモデルと機能を定義し、スクリプト側ではArkクライアントを用いてcreate/getをラップしています。

実行前にSDKのインストールが必要です:pip install 'volcengine-python-sdk[ark]'。

skills/canghe-seedance-video/SKILL.md
pip install 'volcengine-python-sdk[ark]'
ここでの処理内容:前提条件セクションに唯一のインストールコマンドを記載しており、スクリプトもImportError発生時に同じコマンドを提示します。

認証情報は環境変数からARK_API_KEYまたはSEEDANCE_API_KEYを強制的に読み取ります(デフォルト値なし、未設定時は即座に終了)。

skills/canghe-seedance-video/scripts/generate_video.py
API_KEY = require_env_key("ARK_API_KEY", ["SEEDANCE_API_KEY"])
ここでの処理内容:モジュールレベルでrequire_env_keyを呼び出し、キーが存在しない場合はsys.exitで直接終了させてAPIキーのハードコーディングを防ぎます。

サービスエンドポイントはVolcano Engine Arkに固定されており、デフォルトモデルはdoubao-seedance-1-5-pro-251215です。

skills/canghe-seedance-video/scripts/generate_video.py
BASE_URL = "https://ark.cn-beijing.volces.com/api/v3"
ここでの処理内容:公式エンドポイント定数を固定値として定義し、main()がそれを使用してArkクライアントを初期化します。

非同期タスクモデル:createでタスク作成 → getでステータス(queued/running/succeeded/failed)をポーリング → 成功後にダウンロード。

skills/canghe-seedance-video/scripts/generate_video.py
result = client.content_generation.tasks.get(task_id=task_id)
ここでの処理内容:get_task_statusでstatus/video_url/last_frame_urlを抽出し、wait_for_videoが5秒間隔で最大600秒間待機します。

画像からの動画生成は、contentリストにimage_url項目(最初のフレーム画像)を追加することで実現します。

skills/canghe-seedance-video/scripts/generate_video.py
"type": "image_url", "image_url": {"url": image_url}
ここでの処理内容:create_video_task内で--image-urlが渡されたかどうかに応じて画像を添付するか判定し、バックエンドがURLから画像を取得します。

生成完了後、requestsを使用して動画をローカルファイルにストリーミングダウンロードします。

skills/canghe-seedance-video/scripts/generate_video.py
response = requests.get(url, stream=True, timeout=120)
ここでの処理内容:download_fileがchunk_size=8192、タイムアウト120秒でディスクに書き込みます。

APIキーおよび設定はリポジトリの共有モジュールenv_utils経由で読み込まれ、システム環境変数と.envの3段階の優先度をサポートします。

skills/canghe-seedance-video/scripts/generate_video.py
from env_utils import load_env, require_env_key
ここでの処理内容:スクリプトがsys.pathに../commonを追加した後に共有envツールをインポートします。.envの優先順位はシステム環境変数 → プロジェクトの.canghe-skills/.env → ~/.canghe-skills/.envとなります。

2コア機能

01テキストからの動画生成(テキストプロンプトに基づく動画生成)
02画像からの動画生成(最初のフレーム画像に基づく動画生成)
03生成パラメータのカスタマイズ(時間、アスペクト比、透かし、最終フレームの返却)
04タスクの作成とステータス確認(--status)
05成功/失敗/タイムアウトまでの自動ポーリング待機(--wait)
06生成された動画のローカルへの自動ダウンロード
073段階の設定読み込み(システム環境変数 / プロジェクトの.env / ユーザーの.env)
08Python APIの再利用性(create_video_task / wait_for_videoを直接インポート可能)

3外部依存関係

KindDependency / Endpoint
api火山方舟 Ark API(视频生成后端)
packagevolcengine-python-sdk[ark](Ark SDK)
packagerequests(下载生成结果)
network生成视频/尾帧下载(服务端返回的 URL)
referenceSeedance-1.5-pro 提示词指南

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: python3 scripts/generate_video.py "<prompt>" --wait -o out.mp4(SKILに基づくエージェントの動作
  • 网络端点: 外部ネットワークアクセスの宣言: Volcano Engine Ark API https://ark.cn-beijing.volces.com/api/v3(動画生成タスクの作成/確認)
  • 本地工作目录: ファイルの読み書きと成果物の出力: -o で指定されたパスへの生成動画ダウンロード(デフォルトは output.mp4)
監査ノート: 。2つの根拠:① 自身の宣言された用途のために認証情報を読み取る——スクリプトはrequire_env_key("ARK_API_KEY", ["SEEDANCE_API_KEY"])によりAPIキーを強制的に読み取ります(envまたは.env)。② ユーザー素材を外部の生成/サービスバックエンドに送信する——プロンプトと最初のフレーム画像URLがVolcano Engine Arkに送信されて動画が生成され、アカウントのクォータを消費します。リバースエンジニアリング、なりすまし、保護の回避、セキュリティのダウングレード(AutomationControlledなし、TLS無効化なし、サンドボックスのダウングレードなし)は行われていないため、赤(Red)には引き上げられません。エンドポイントは公式エコシステムのものですが、認証情報および素材が外部送信されるためオレンジ(Orange)に分類されます(先行事例:image-to-video、ai-image-generation)。

5二重目の独立検証

  • [ok] SDK 调用与模型 — SKILL.md description 与 generate_video.py 的 Ark 客户端、默认模型 ID 一致。
  • [ok] 凭证强制读取 — generate_video.py 模块级 require_env_key 调用与 SKILL.md 的 ARK_API_KEY/SEEDANCE_API_KEY 说明互证。
  • [ok] 固定端点 — BASE_URL 与风险扫描 generate_video.py:40 命中同值,且 SKILL.md Python 示例 base_url 一致。
  • [ok] 异步任务与轮询 — create_video_task/get_task_status/wait_for_video 三个函数正文完整展开,状态分支 queued/running/succeeded/failed 与 SKILL.md 一致。
  • [ok] 下载行为 — download_file 用 requests 流式写盘;风险扫描仅两点写盘命中(open/write),无其它隐藏落盘。
  • [ok] 跨 skill 共享模块 — 脚本 import env_utils 并把 ../common 加入 sys.path,属仓库共享模块,非本 skill 独有依赖。
  • [ok] 是否有绕过/降级 — 风险扫描「危险旗标/沙箱」均无命中;全文无 AutomationControlled、无 TLS 关闭,判橙非红据成立。
  • [ok] 是否存在本地命令执行面 — 「执行外部程序」无命中;脚本不 spawn 子进程,无可控命令拼接。

6結論

  • 極めてシンプルな構造で迅速な導入:1つのスクリプト + 1つのSKILL.mdで構成され、pipインストールコマンド1つですぐに使用可能。
  • 非同期ライフサイクルの完全なカプセル化:作成、ポーリング、待機、ダウンロード、ステータス確認(--statusによるタスクID保持を含む)を完備。
  • 標準化されたシークレット管理:デフォルト値なし、未設定時は即時終了、環境変数と.envの3段階読み込みに対応し、ハードコーディングを排除。
  • 最適な用途: ByteDanceのSeedanceモデルを使用してテキスト/画像からの動画生成を行いたいクリエイターや開発者で、すでにVolcano EngineのAPIキーを所持しており、素材の外部送信およびクォータ消費を許容できる場合。
    不向きな用途: APIキーを提供できない/外部送信を許可しない環境、素材をローカル環境内で完結させ外部の生成バックエンドを使用しないシナリオ。
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload seedance-video.tar.gz
    sha256: f9f1f149e8b1bcd1…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit dd0bf35595.