jpskill.com
🛠️ 開発・MCP コミュニティ

libtv-skill

agent-im 会话技能 - 通过 liblib.tv 的 AI 能力生成和编辑图片/视频。覆盖场景包括:生成(文生图、文生视频、图生视频、做动画、画一个xxx、来段xxx)、编辑修改(把xxx换成yyy、去掉xxx、加上xxx、改成xxx、调整xxx、局部修改、改镜头)、风格转换(风格迁移、转绘、换风格)、视频续写延长、复刻视频/TVC/宣传片、短剧/短漫剧生成、音乐MV生成、产品广告/展示片制作、分镜/故事板设计、教育视频/短视频制作。当用户提到 liblib、libtv、上传参考图/视频、查看生成进度时也应触发。关键判断:只要用户的请求涉及 AI 图片或视频的创作、生成、编辑、修改,无论措辞如何(如"画只猫"、"做个海报"、"把纸船换成爱心"、"这个视频帮我改一下"、"帮我复刻这段视频"、"用这首歌做个MV"、"一句话生成短剧"),都必须触发此技能。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o libtv-skill.zip https://jpskill.com/download/19612.zip && unzip -o libtv-skill.zip && rm libtv-skill.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19612.zip -OutFile "$d\libtv-skill.zip"; Expand-Archive "$d\libtv-skill.zip" -DestinationPath $d -Force; ri "$d\libtv-skill.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して libtv-skill.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → libtv-skill フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
7

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] libtv-skill

agent-im 会話(画像生成 / 動画生成)

agent-im の OpenAPI を通じて、会話の作成、メッセージの送信(画像生成、動画生成、動画編集など)、画像/動画ファイルのアップロード、および会話メッセージの進捗状況の照会を行います。

LibTV は LiblibAI が提供する AI 動画制作プラットフォームで、人間のクリエイターと Agent の両方のために設計されています。Agent は Skill エントリを通じてタスクを理解し、モデルを呼び出し、ワークフローを自動的に編成します。

プラットフォームの主要機能:

  • 生成:テキストから画像、テキストから動画、画像から動画、動画の続きの生成
  • 編集:部分的な修正、要素の置換、ショットの調整、スタイル転送
  • 複雑な制作:一言で完全な短編ドラマを生成(脚本→絵コンテ→完成品)、既存の動画スタイルを再現して TVCM/プロモーションビデオを作成、音楽からMVを生成、製品紹介ビデオの制作
  • モデル:Seedance 2.0、Kling 3.0/O3、Wan 2.6、NanoBanana、Midjourney、Seedream 5.0 などのトップモデル

ユーザーのすべての制作および編集要求は、自然言語メッセージの送信によって完了し、Agent が自律的にワークフローを編成します。複雑なタスク(短編ドラマ、MV)は時間がかかるため、忍耐強くポーリングする必要があります。

機能

  1. 会話の作成 / メッセージの送信 - 新しい会話を作成するか、既存の会話にメッセージを送信します(例:「アニメ動画を生成して」「紙の船をハートに変えて」)
  2. 会話の進捗状況の照会 - sessionId に基づいてその会話のメッセージリストを取得し、画像生成/動画生成の結果をポーリングするために使用します
  3. プロジェクトの切り替え - 現在の accessKey にバインドされているプロジェクトを新しいプロジェクトに切り替えます。以降の create_session は新しい projectUuid を使用します
  4. ファイルのアップロード - 画像または動画ファイルを OSS にアップロードし、アクセス可能な OSS アドレスを返します(既存の動画/画像を編集する際に事前にアップロードする必要があります)
  5. 結果のダウンロード - 会話中に生成された画像/動画を一括でローカルにダウンロードし、URL を自動的に抽出し、名前を付けます

前提条件

export LIBTV_ACCESS_KEY="your-access-key"

オプション:OPENAPI_IM_BASE または IM_BASE_URL、デフォルトは https://im.liblib.tv です。

追加の依存関係は不要で、Python 標準ライブラリのみを使用します。

使用方法

1. 会話の作成 / メッセージの送信

# 新しい会話を作成し、「アニメ動画を生成して」を送信
python3 {baseDir}/scripts/create_session.py "アニメ動画を生成して"

# 既存の会話にメッセージを送信
python3 {baseDir}/scripts/create_session.py "もう一枚風景画を生成して" --session-id SESSION_ID

# 会話の作成/バインドのみで、メッセージは送信しない
python3 {baseDir}/scripts/create_session.py

2. 会話の進捗状況の照会

# 会話メッセージリストの照会
python3 {baseDir}/scripts/query_session.py SESSION_ID

# 増分取得(seq が N より大きいメッセージのみを返す)
python3 {baseDir}/scripts/query_session.py SESSION_ID --after-seq 5

# プロジェクトアドレスを付帯(create_session が返す projectUuid を渡すと、結果に projectUrl が含まれる)
python3 {baseDir}/scripts/query_session.py SESSION_ID --project-id PROJECT_UUID

3. プロジェクトの切り替え

# 現在の accessKey にバインドされているプロジェクトを切り替える(以降の会話作成は新しいプロジェクトを使用する)
python3 {baseDir}/scripts/change_project.py

4. ファイルのアップロード

ユーザーが参照ファイルアドレスを提供した場合、アップロードを実行します。画像、動画のみをサポートし、ファイルサイズは 200MB 未満である必要があります。

# 画像のアップロード
python3 {baseDir}/scripts/upload_file.py /path/to/image.png

# 動画のアップロード
python3 {baseDir}/scripts/upload_file.py /path/to/video.mp4

5. 結果のダウンロード

生成が完了した後、会話内のすべての画像/動画を一括でローカルにダウンロードできます。

# 会話からすべての結果を自動的に抽出しダウンロード
python3 {baseDir}/scripts/download_results.py SESSION_ID

# 出力ディレクトリを指定
python3 {baseDir}/scripts/download_results.py SESSION_ID --output-dir ~/Desktop/my_project

# ファイル名のプレフィックスを指定(例:storyboard_01.png, storyboard_02.png ...)
python3 {baseDir}/scripts/download_results.py SESSION_ID --prefix "storyboard"

# 指定した URL リストを直接ダウンロード(session_id は不要)
python3 {baseDir}/scripts/download_results.py --urls URL1 URL2 URL3 --output-dir ./output

典型的なワークフロー

これらのワークフローを理解することで、上記のスクリプトを正しく組み合わせてユーザーの要求を完了できます。

シナリオ 1:ユーザーが画像/動画の生成を要求(最も一般的)

1. create_session.py "ユーザーの記述"  →  sessionId + projectUuid を取得
2. 8秒ごとに query_session.py SESSION_ID --after-seq 0 を呼び出してポーリング
3. messages を確認:assistant ロールのメッセージが出現し、画像/動画 URL が含まれている場合 → タスク完了
4. 自動ダウンロード:download_results.py SESSION_ID --output-dir ~/Downloads/プロジェクト名 --prefix 意味のあるプレフィックス
5. ユーザーに表示:ローカルファイルリスト + projectUrl(キャンバスリンク)

生成完了後、自動的にダウンロードを実行し、ユーザーからの追加要求は不要です。ダウンロードディレクトリとプレフィックスは、タスクの意味に基づいて自動的に命名されます(例:絵コンテは storyboard、キャラクター設定は character など)。

シナリオ 2:ユーザーが画像/動画を提供し、編集/修正を要求(例:「紙の船をハートに変えて」)

1. upload_file.py /path/to/video.mp4  →  OSS URL を取得
2. create_session.py "周りの紙の船をすべて白い紙のハートに変えて 参考動画:{oss_url}"
3. 以降はシナリオ 1 のステップ 2-5 と同じ

ユーザーがファイルパス + 編集指示を与えた場合 = まずファイルをアップロードし、次に編集指示と OSS URL を一緒に送信します。

シナリオ 3:ユーザーが参照画像/動画を提供し、新しいコンテンツの生成を要求

1. upload_file.py /path/to/ref.png  →  OSS URL を取得
2. create_session.py "参照画像に基づいてxxxを生成して、参照画像:{oss_url}"
3. 以降はシナリオ 1 のステップ 2-5 と同じ

シナリオ 4:既存の会話に新しい要求を追加

1. create_session.py "新しい記述" --session-id SESSION_ID
2. 以降はシナリオ 1 のステップ 2-5 と同じ

ポーリング戦略

  • 間隔:8秒ごとに1回照会
  • 増分取得:初回は --after-seq 0 を使用し、以降は前回取得した最大 seq 値を使用
  • 完了判断messages に assistant メッセージが出現し、content に結果の URL(画像/動画アドレス)が含まれている場合
  • タイムアウト:3分間連続してポーリングしても結果がない場合、ユーザーに「生成に時間がかかっています。後でプロジェクトキャンバスリンクから確認できます」と伝え、ポーリングを続行しない
  • エラーリトライ:単一の照会が失敗した場合、1回リトライ可能。3回連続で失敗した場合は停止し、ユーザーに通知

出力形式

create_session の戻り値:

{
  "projectUuid": "aa3ba04c5044477cb7a00a9e5bf3b4d0",
  "sessionId": "90f05e0c-...",
  "projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0"
}

query_session の戻り値:

{
  "messages": [
    {"id": "msg-xxx", "role": "user", "content": "アニメ動画を生成して"},
    {"id": "msg-yyy", "role": "assistant", "content": "..."}
  ],
  "projectUrl": "https://www.liblib.tv/canvas?projectId=..."
}

projectUrl--project-id を渡した場合にのみ存在します)

change_project の戻り値:

{
  "projectUuid": "新プロジェクトUUID",
  "projectUrl": "https://www.liblib.tv/canvas?projectId=新プロジェクトUUID"
}

upload_file の戻り値:

{
  "url": "https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}.png"
}

download_results の戻り値:

{
  "output_dir": "/Users/xxx/Downloads/libtv_results",
  "downloaded": ["/Users/xxx/Downloads/libtv_results/01.png", "..."],
  "total": 9
}

最終的にユーザーに表示する際(OpenClaw)

  • 動画アドレスquery_session が返す messages 内の assistant メッセージの content または結果内の動画/画像 URL、つまり「返された結果」から取得します。
  • プロジェクトアドレスcreate_session が返す projectUrl を使用するか、https://www.liblib.tv/canvas?projectId= + projectUuid を自分で連結します。進捗状況を照会する際に --project-id PROJECT_UUID を渡すと、query_session が直接 projectUrl を返すため、一緒に表示するのに便利です。

タスク完了時には、動画/画像の結果リンク + プロジェクトキャンバスリンク(projectUrl) を同時に提供します。 プロセス中は、プロジェクトキャンバスリンク(projectUrl) を提供しないでください。

核心原則:ユーザー側は創作せず、伝達のみを行う

あなた(ユーザー側 Agent)の役割は運び屋であり、創作者ではありません。バックエンドには、要求の理解、絵コンテの分解、ワークフローの編成、モデルの選択、プロンプトの作成を担当する専門の Agent がいます。あなたがすべきことは3つだけです。

  1. アップロード:ユーザーがローカルファイルを提供 → upload_file.py で OSS URL を取得
  2. 伝達:ユーザーの元の記述 + OSS URL をそのまま create_session.py に送信
  3. 受け取り:結果をポーリング → ローカルにダウンロード → ユーザーに表示

絶対にやってはいけないこと:

  • ユーザーのプロンプトを拡張、洗練、翻訳しない(ユーザーが「絵コンテの推敲を手伝って」と言ったら、そのまま「絵コンテの推敲を手伝って」と伝え、自分で絵コンテ表を書いてから個別に送信しない)
  • タスクのステップを自分で分解しない(例:「9枚の絵コンテ画像を生成して」を9回の独立したリクエストに分解しない)
  • ショットの記述、ストーリーの推敲、スタイルの分析を自分で編成しない
  • メッセージに自分で作成したプロンプトを追加しない(例:「超リアルなスタイル、映画のようなライティング、8K解像度」のような記述詞)

バックエンドの Agent は、モデルの能力、パラメータ設定、プロンプトエンジニアリングにおいて、ユーザー側よりもはるかに専門的です。ユーザー側が越権行為をすると、生成品質が低下するだけでなく、弱いモデルに切り替えることはさらに悲惨です。

正しい例:

ユーザーが言いました:「今後のストーリーを推敲して、絵コンテを爆発的に出して、16:9の9コマの画像を生成して。新しいタスクを作成して。」
ユーザーが参照画像を提供しました:/path/to/ref.png

→ upload_file.py /path/to/ref.png  →  oss_url を取得
→ create_session.py "今後のストーリーを推敲して、絵コンテを爆発的に出して、16:9の9コマの画像を生成して。参照画像:{oss_url}"
→ ポーリング → ダウンロード → 表示

誤った例:

❌ ユーザー側が自分で9コマの絵コンテ表(対峙、交戦、危機...)を先に作成
❌ そして自分で作成した記述をバックエンドに送信
❌ または9回の create_session に分解して個別に送信

注意事項

  • 認証方法はリクエストヘッダー Authorization: Bearer <LIBTV_ACCESS_KEY> です
  • 会話作成時に message を渡さない場合、会話の作成/バインドのみを行い、SendMessage は呼び出されません
  • 会話照会時に --after-seq を使用して増分取得を行うと、新しいメッセージ(assistant の返信や画像/動画生成結果を含む)のポーリングに便利です
  • プロジェクトキャンバスアドレスは https://www.liblib.tv/canvas?projectId= + projectUuid で固定です
  • プロジェクト切り替え後、Redis キャッシュが更新され、次回の create_session は新しい projectUuid を使用します
  • ファイルのアップロードは画像(image/*)と動画(video/*)タイプのみをサポートし、その他のタイプは拒否されます。ファイルサイズは 200MB 未満である必要があります
  • アップロードが返す OSS アドレスの形式は `
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

agent-im 会话(生图 / 生视频)

通过 agent-im 的 OpenAPI 创建会话、发送消息(生图、生视频、编辑视频等)、上传图片/视频文件,并查询会话消息进展。

LibTV 是 LiblibAI 推出的 AI 视频创作平台,同时为人类创作者和 Agent 设计。Agent 通过 Skill 入口理解任务、调用模型并自动编排工作流。

平台核心能力:

  • 生成:文生图、文生视频、图生视频、视频续写
  • 编辑:局部修改、元素替换、镜头调整、风格迁移
  • 复杂创作:一句话生成完整短剧(剧本→分镜→成片)、复刻已有视频风格做 TVC/宣传片、用音乐生成 MV、产品展示片制作
  • 模型:Seedance 2.0、Kling 3.0/O3、Wan 2.6、NanoBanana、Midjourney、Seedream 5.0 等顶级模型

用户的所有创作和编辑需求都通过发送自然语言消息来完成,Agent 会自主编排工作流。复杂任务(短剧、MV)耗时较长,需耐心轮询。

功能

  1. 创建会话 / 发消息 - 创建新会话或向已有会话发送一条消息(如「生一个动漫视频」「把纸船换成爱心」)
  2. 查询会话进展 - 根据 sessionId 拉取该会话的消息列表,用于轮询生图/生视频结果
  3. 切换项目 - 将当前 accessKey 绑定的项目切换到新项目,后续 create_session 将使用新 projectUuid
  4. 上传文件 - 上传图片或视频文件到 OSS,返回可访问的 OSS 地址(编辑已有视频/图片时需要先上传)
  5. 下载结果 - 将会话中生成的图片/视频批量下载到本地,自动提取 URL 并命名

前置要求

export LIBTV_ACCESS_KEY="your-access-key"

可选:OPENAPI_IM_BASEIM_BASE_URL,默认 https://im.liblib.tv

无需安装额外依赖,仅使用 Python 标准库。

使用方法

1. 创建会话 / 发送消息

# 创建新会话并发送「生一个动漫视频」
python3 {baseDir}/scripts/create_session.py "生一个动漫视频"

# 向已有会话发送消息
python3 {baseDir}/scripts/create_session.py "再生成一张风景图" --session-id SESSION_ID

# 只创建/绑定会话,不发消息
python3 {baseDir}/scripts/create_session.py

2. 查询会话进展

# 查询会话消息列表
python3 {baseDir}/scripts/query_session.py SESSION_ID

# 增量拉取(只返回 seq 大于 N 的消息)
python3 {baseDir}/scripts/query_session.py SESSION_ID --after-seq 5

# 附带项目地址(传入 create_session 返回的 projectUuid,结果中带 projectUrl)
python3 {baseDir}/scripts/query_session.py SESSION_ID --project-id PROJECT_UUID

3. 切换项目

# 切换当前 accessKey 绑定的项目(后续创建会话将使用新项目)
python3 {baseDir}/scripts/change_project.py

4. 上传文件

当用户提供了参考的文件地址时,进行上传,仅支持图片、视频,文件大小必须在200M以下。

# 上传图片
python3 {baseDir}/scripts/upload_file.py /path/to/image.png

# 上传视频
python3 {baseDir}/scripts/upload_file.py /path/to/video.mp4

5. 下载结果

生成完成后,可以将会话中的所有图片/视频批量下载到本地。

# 从会话自动提取并下载所有结果
python3 {baseDir}/scripts/download_results.py SESSION_ID

# 指定输出目录
python3 {baseDir}/scripts/download_results.py SESSION_ID --output-dir ~/Desktop/my_project

# 指定文件名前缀(如 storyboard_01.png, storyboard_02.png ...)
python3 {baseDir}/scripts/download_results.py SESSION_ID --prefix "storyboard"

# 直接下载指定 URL 列表(不需要 session_id)
python3 {baseDir}/scripts/download_results.py --urls URL1 URL2 URL3 --output-dir ./output

典型工作流

理解这些工作流,才能正确组合上面的脚本完成用户需求。

场景 1:用户要求生成图片/视频(最常见)

1. create_session.py "用户的描述"  →  拿到 sessionId + projectUuid
2. 每隔 8 秒调用 query_session.py SESSION_ID --after-seq 0 轮询
3. 检查 messages:当出现 assistant 角色的消息且包含图片/视频 URL → 任务完成
4. 自动下载:download_results.py SESSION_ID --output-dir ~/Downloads/项目名 --prefix 有意义的前缀
5. 向用户展示:本地文件列表 + projectUrl(画布链接)

生成完成后自动执行下载,不需要用户额外请求。下载目录和前缀根据任务语义自动命名(如分镜用 storyboard,角色设定用 character 等)。

场景 2:用户提供图片/视频要求编辑修改(如"把纸船换成爱心")

1. upload_file.py /path/to/video.mp4  →  拿到 OSS URL
2. create_session.py "把四周的纸船都换成白色的纸爱心 参考视频:{oss_url}"
3. 后续同场景 1 的步骤 2-5

用户给了文件路径 + 编辑指令 = 先上传文件,再把编辑指令和 OSS URL 一起发送。

场景 3:用户提供参考图/视频要求生成新内容

1. upload_file.py /path/to/ref.png  →  拿到 OSS URL
2. create_session.py "根据参考图生成xxx,参考图:{oss_url}"
3. 后续同场景 1 的步骤 2-5

场景 4:在已有会话中追加新需求

1. create_session.py "新的描述" --session-id SESSION_ID
2. 后续同场景 1 的步骤 2-5

轮询策略

  • 间隔:每 8 秒查询一次
  • 增量拉取:首次用 --after-seq 0,后续用上次拿到的最大 seq 值
  • 完成判断:messages 中出现 assistant 消息且 content 包含结果 URL(图片/视频地址)
  • 超时:连续轮询 3 分钟仍无结果,告知用户"生成时间较长,可稍后通过项目画布链接查看",不再继续轮询
  • 错误重试:单次查询失败可重试 1 次,连续 3 次失败则停止并告知用户

输出格式

create_session 返回:

{
  "projectUuid": "aa3ba04c5044477cb7a00a9e5bf3b4d0",
  "sessionId": "90f05e0c-...",
  "projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0"
}

query_session 返回:

{
  "messages": [
    {"id": "msg-xxx", "role": "user", "content": "生一个动漫视频"},
    {"id": "msg-yyy", "role": "assistant", "content": "..."}
  ],
  "projectUrl": "https://www.liblib.tv/canvas?projectId=..."
}

projectUrl 仅在传入 --project-id 时存在)

change_project 返回:

{
  "projectUuid": "新项目UUID",
  "projectUrl": "https://www.liblib.tv/canvas?projectId=新项目UUID"
}

upload_file 返回:

{
  "url": "https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}.png"
}

download_results 返回:

{
  "output_dir": "/Users/xxx/Downloads/libtv_results",
  "downloaded": ["/Users/xxx/Downloads/libtv_results/01.png", "..."],
  "total": 9
}

最终向用户展示时(OpenClaw)

  • 视频地址:来自 query_session 返回的 messages 中 assistant 消息的 content 或结果里的视频/图片 URL,即「返回的结果」。
  • 项目地址:使用 create_session 返回的 projectUrl,或自行拼接 https://www.liblib.tv/canvas?projectId= + projectUuid。查询进展时若传入 --project-id PROJECT_UUIDquery_session 会直接返回 projectUrl,便于一并展示。

在任务完成时,同时给出:视频/图片结果链接 + 项目画布链接(projectUrl)。 过程中,不要给出 项目画布链接(projectUrl)

核心原则:用户侧不做创作,只做传话

你(用户侧 Agent)的职责是搬运工,不是创作者。后端有专门的 Agent 负责理解需求、拆解分镜、编排工作流、选模型、写 prompt。你要做的只有三件事:

  1. 上传:用户给了本地文件 → upload_file.py 拿到 OSS URL
  2. 传话:把用户的原始描述 + OSS URL 原封不动发给 create_session.py
  3. 取件:轮询结果 → 下载到本地 → 展示给用户

绝对不要做的事:

  • 不要替用户扩写、润色、翻译 prompt(用户说"帮我推演分镜",就直接传"帮我推演分镜",不要自己先写个分镜表再逐条发)
  • 不要自行拆解任务步骤(如把"生成9张分镜图"拆成9次独立请求)
  • 不要自行编排镜头描述、剧情推演、风格分析
  • 不要在消息中添加自己编的 prompt(如"超写实风格,电影级光影,8K分辨率"之类的描述词)

后端 Agent 对模型能力、参数配置、prompt 工程远比用户侧更专业。用户侧越俎代庖只会降低生成质量,换个弱模型更是灾难。

正确示例:

用户说:「帮我推演后续的故事,来个分镜大爆炸,帮我出一个16:9的九宫格的图。新建一个任务。」
用户给了参考图:/path/to/ref.png

→ upload_file.py /path/to/ref.png  →  拿到 oss_url
→ create_session.py "帮我推演后续的故事,来个分镜大爆炸,帮我出一个16:9的九宫格的图。参考图:{oss_url}"
→ 轮询 → 下载 → 展示

错误示例:

❌ 用户侧自己先写了个九宫格分镜表(对峙、交锋、危机...)
❌ 然后把自己编的描述发给后端
❌ 或者拆成9次 create_session 分别发送

注意事项

  • 鉴权方式为请求头 Authorization: Bearer <LIBTV_ACCESS_KEY>
  • 创建会话时若不传 message,仅创建/绑定会话,不会调用 SendMessage
  • 查询会话时可用 --after-seq 做增量拉取,便于轮询新消息(含 assistant 回复与生图/生视频结果)
  • 项目画布地址固定为:https://www.liblib.tv/canvas?projectId= + projectUuid
  • 切换项目后,Redis 缓存会更新,下次 create_session 将使用新的 projectUuid
  • 上传文件仅支持图片(image/)和视频(video/)类型,其他类型会被拒绝,文件大小须在 200MB 以下
  • 上传返回的 OSS 地址格式为 https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}{ext}
  • 生成过程中只告知用户"正在生成中",不要提前给出 projectUrl;任务完成后再同时给出:结果链接(图片/视频 URL) + 项目画布链接(projectUrl)

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。