chanjing-text-to-digital-person について
テキストからデジタル人物の画像を生成し、その画像を話す動画にする Chanjing のスキルです。任意の LoRA 学習にも対応し、タスクを追跡して、依頼があった場合のみ生成物をダウンロードします。
主な機能
- 01プロンプトからデジタル人物画像を生成
- 02画像から話す動画を作成
- 03任意の LoRA 学習
- 04画像・動画・LoRAタスクを追跡
- 05明示的な依頼時のみ結果をダウンロード
活用シーン
- 01説明文からデジタル人物画像を作成
- 02生成画像を話す動画に変換
- 03LoRA学習を実行して進捗を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ chanjing-ai/ chan-skills --skill chanjing-text-to-digital-personインストール後、Claude Code で/chanjing-text-to-digital-personを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples.mdmanifest.yamlreference.mdscripts/_auth.py_task_api.pycreate_lora_task.pycreate_motion_task.pycreate_photo_task.pydownload_result.pyget_lora_task.pyget_motion_task.pyget_photo_task.pylist_tasks.pypoll_lora_task.pypoll_motion_task.pypoll_photo_task.pytests/test_list_tasks.py詳細
Chanjing Text To Digital Person
機能の説明
テキストから画像を生成し、画像から話す動画を作成できます。オプションで LoRA の学習とポーリングにも対応し、ユーザーが明確に要求した場合は生成物をダウンロードします。認証情報と権限については manifest.yaml を参照してください。スクリプトは ffmpeg/ffprobe に依存しません。
実行時の依存関係
- python3 と同じリポジトリ内の
scripts/*.py(_auth.py、_task_api.pyを含む) - ffmpeg/ffprobe によるゲートはありません
環境変数と機械可読な宣言
- 環境変数のキー名と説明:
manifest.yamlのenvironmentセクションおよび本文 - 変数、認証情報モデル、コンプライアンス用
permissions、clientPermissions、agentPolicy:manifest.yaml
使用コマンド
- ClawHub(slug はレジストリを参照):
clawhub run chanjing-text-to-digital-person - このリポジトリ:
python skills/chanjing-text-to-digital-person/scripts/create_photo_task.py …(Standard Workflow を参照)
登録とレビュー(単一の信頼できる情報源)
パス、primaryEnv の省略、persistAccessTokenOnDisk、機密フィールド、agentPolicy、オプションの env などについては、manifest.yaml を正とします。実装は _auth.py、_task_api.py および各 CLI スクリプトが担います。本ドキュメントでは When to Use から手順を説明します。
このスキルを使用する場面
ユーザーが次のことを行いたい場合に、このスキルを使用します。
- 人物のプロンプトからデジタルヒューマンの画像を生成する
- 生成した人物画像を、話す短い動画に変換する
- テキストから画像/画像から動画/LoRA タスクの状態を確認する
- ユーザーが明確に要求した場合に、生成画像や動画をローカルにダウンロードする
「実在する人物の素材をアップロードしてカスタムデジタルヒューマンを学習させる」場合は、chanjing-customised-person を優先して使用してください。
「既存のデジタルヒューマンを使って口播動画を合成する」場合は、chanjing-video-compose を優先して使用してください。
前提条件
このスキルを実行する前に、chanjing-credentials-guard で AK/SK と Token の検証を完了する必要があります。
このスキルは guard と以下を共有します。
~/.chanjing/credentials.jsonhttps://open-api.chanjing.cc
認証情報がない場合、スクリプトは蝉鏡のログインページを自動的に開き(同じリポジトリ内に存在する場合は chanjing-credentials-guard/scripts/open_login_page.py を実行し、存在しない場合は webbrowser.open を使用します)、chanjing_config.py をローカルで実行するよう促します。
レビューとセキュリティ(認証情報)
Purpose / Credentials / Persistence に関連する各項目の説明については manifest.yaml を参照してください(認証情報がない場合にサブプロセスが guard の open_login_page.py などを呼び出す動作については clientPermissions を参照してください)。
標準ワークフロー
通常、メインの処理は2段階に分かれ、いずれも非同期タスクです。
create_photo_task.pyを呼び出してテキストから画像を生成するタスクを作成し、photo_unique_idを取得しますpoll_photo_task.pyを呼び出して成功するまでポーリングし、photo_pathを1つ選びますcreate_motion_task.pyを呼び出して画像から動画を作成するタスクを作成し、motion_unique_idを取得しますpoll_motion_task.pyを呼び出して成功するまでポーリングし、最終的なvideo_urlを取得します- ユーザーがローカルへの保存を明確に要求した場合に限り、
download_result.pyを呼び出します
オプションの拡張機能:
- ユーザーが LoRA の学習を希望する場合は、
create_lora_task.pyとpoll_lora_task.pyを呼び出します poll_lora_task.pyが成功するとphoto_task_idが1つ返されます。その後、poll_photo_task.pyを使って画像を取得できます
対応 API
このスキルでは現在、以下に対応しています。
POST /open/v1/aigc/photoGET /open/v1/aigc/photo/taskGET /open/v1/aigc/photo/task/pagePOST /open/v1/aigc/motionGET /open/v1/aigc/motion/taskGET /open/v1/aigc/motion/task/pagePOST /open/v1/aigc/lora/task/createGET /open/v1/aigc/lora/taskGET /open/v1/aigc/lora/task/page
スクリプト
スクリプトのディレクトリ:
skills/chanjing-text-to-digital-person/scripts/
このリポジトリに含まれるファイル(_auth.py のみを含む簡易パッケージと混同しないでください)
完全版パッケージには _auth.py、タスクスクリプトで再利用する _task_api.py と、以下の .py CLI が含まれます。呼び出す際は python3 <パス>/<スクリプト名>.py を使用してください(リポジトリ内の他の蝉鏡スキルと同じ規約です)。
| ファイル名(リポジトリ内) | 説明 |
|---|---|
_auth.py | credentials.json を読み込み、access_token / expire_in を更新して書き戻します。AK/SK がない場合は open_login_page.py の実行を試みます |
_task_api.py | タスク API の共通ロジック(各 CLI から import されます) |
create_photo_task.py | テキストから画像を生成するタスクを作成 → photo_unique_id |
get_photo_task.py | 個別のテキストから画像を生成するタスクの詳細 |
list_tasks.py | `--kind=photo |
list_tasks.py | タスク一覧(type=1 は photo、type=2 は motion) |
poll_photo_task.py | テキストから画像を生成するタスクを完了までポーリング → デフォルトで1枚目の画像 URL |
create_motion_task.py | 画像から動画を作成 → motion_unique_id |
get_motion_task.py | 個別の画像から動画を作成するタスクの詳細 |
poll_motion_task.py | 画像から動画を作成するタスクを完了までポーリング → デフォルトで動画 URL |
create_lora_task.py | LoRA の学習を作成 → lora_id |
get_lora_task.py | LoRA タスクの詳細 |
poll_lora_task.py | LoRA タスクを完了までポーリング → デフォルトで1つ目の photo_task_id |
download_result.py | ローカルに保存する必要がある場合のみ、outputs/text-to-digital-person/(または --output)にダウンロードします |
上記のいずれかのエントリーポイント、または _task_api.py が環境にない場合は、配布/パッケージが不完全です。
使用例
例1:テキストから画像を生成した後、そのまま画像から動画を作成
PHOTO_TASK_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_photo_task.py \
--age "Young adult" \
--gender Female \
--number-of-images 1 \
--industry "教育培训" \
--background "现代直播间背景" \
--detail "短发,亲和力强,职业装" \
--talking-pose "上半身特写,站立讲解")
PHOTO_URL=$(python3 skills/chanjing-text-to-digital-person/scripts/poll_photo_task.py \
--unique-id "$PHOTO_TASK_ID")
MOTION_TASK_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_motion_task.py \
--photo-unique-id "$PHOTO_TASK_ID" \
--photo-path "$PHOTO_URL" \
--emotion "自然播报,语气清晰自信" \
--gesture)
python3 skills/chanjing-text-to-digital-person/scripts/poll_motion_task.py \
--unique-id "$MOTION_TASK_ID"
例2:LoRA の学習
LORA_ID=$(python3 skills/chanjing-text-to-digital-person/scripts/create_lora_task.py \
--name "演示LoRA" \
--photo-url https://example.com/1.jpg \
--photo-url https://example.com/2.jpg \
--photo-url https://example.com/3.jpg \
--photo-url https://example.com/4.jpg \
--photo-url https://example.com/5.jpg)
python3 skills/chanjing-text-to-digital-person/scripts/poll_lora_task.py \
--lora-id "$LORA_ID"
ダウンロード規則
ダウンロードは明示的な操作であり、デフォルトでは実行されません。
poll_photo_task.pyとpoll_motion_task.pyが成功した後は、まずリモート URL を返してください- 結果ファイルを自動的にダウンロードしないでください
- ユーザーが「ローカルにダウンロード」「outputs に保存」「ローカルに保存して」などと明確に指示した場合に限り、
download_result.pyを実行してください
出力規則
デフォルトのローカル出力ディレクトリ:
outputs/text-to-digital-person/
追加リソース
API の詳細については、以下を参照してください。
skills/chanjing-text-to-digital-person/reference.mdskills/chanjing-text-to-digital-person/examples.md