chanjing-customised-person について
ローカル動画から蝉镜のカスタムデジタルヒューマンを作成する Python スキルです。動画のアップロードと作成に加え、一覧、詳細取得、進捗確認、削除に対応します。
主な機能
- 01動画のアップロードと人物作成
- 02作成状況の取得とポーリング
- 03人物一覧と詳細の確認
- 04人物の削除
活用シーン
- 01元動画からカスタム人物を作成
- 02作成の進捗を確認
- 03既存の人物を確認・削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ chanjing-ai/ chan-skills --skill chanjing-customised-personインストール後、Claude Code で/chanjing-customised-personを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples.mdmanifest.yamlreference.mdscripts/_auth.pycreate_person.pydelete_person.pyget_person.pyget_upload_url.pylist_persons.pypoll_person.pyupload_file.py詳細
Chanjing カスタマイズ人物
機能の説明
ローカルのアップロード元動画から蝉鏡のカスタマイズデジタルヒューマンを作成し、一覧表示、照会、ポーリング、削除にも対応します。フローは Open API と同じです:アップロード URL を取得(create_upload_url)→ 返された sign_url に PUT で本文をアップロード → 作成/一覧表示/取得/ポーリング/削除。蝉鏡 Open API と、インターフェースから返されるアップロードエンドポイントのみを使用し、他のクラウドベンダーの認証情報は使用しません。スクリプトはffmpeg/ffprobe に依存しません。環境変数はすべて任意です(デフォルトは ~/.chanjing と公式 API ベース URL)。認証情報、トークンの永続化、ネットワーク境界については manifest.yaml を参照してください。
実行時の依存関係
- python3 および同じリポジトリ内の
scripts/*.py。ローカル動画ファイルのパスを読み取り、アップロードできます
環境変数と機械可読な宣言
- 環境変数のキー名と説明:
manifest.yaml(environmentセクション)および本文 - 変数のキー名、認証情報モデル、コンプライアンスに関する
permissions、clientPermissions、agentPolicy:manifest.yaml
使用コマンド
- ClawHub(slug はレジストリに準拠):
clawhub run chanjing-customised-person - 本リポジトリ:
python skills/chanjing-customised-person/scripts/create_person.py …(標準ワークフローを参照)
登録とレビュー(単一の信頼できる情報源)
英語の登録情報、主認証情報、primaryEnv の省略、任意の env、機密フィールド、送信先の境界については、同じディレクトリにある manifest.yaml を正とします(credential_hint および description frontmatter と一致)。本ドキュメントでは 使用する場面 以降、機能とフローを説明します。manifest.yaml と重複する長文の対応表を管理しないでください。
この Skill を使用する場面
次の操作をユーザーが求めている場合に、この Skill を使用します:
- 実在の人物の元動画をアップロードし、蝉鏡のカスタマイズデジタルヒューマンを作成する
- カスタマイズデジタルヒューマンの一覧または個別の人物の詳細を照会する
- カスタマイズデジタルヒューマンの作成進行状況をポーリングする
- 不要になったカスタマイズデジタルヒューマンを削除する
「既存のデジタルヒューマンを使ってトーキングヘッド動画を合成する」という要件の場合は、chanjing-video-compose を優先して使用してください。
「実在の人物の動画をアップロードしてリップシンク用に使う」という要件の場合は、chanjing-avatar を優先して使用してください。
前提条件
この Skill を実行する前に、chanjing-credentials-guard を通じて AK/SK と Token の検証を完了する必要があります。
この Skill は guard と以下を共有します:
~/.chanjing/credentials.jsonhttps://open-api.chanjing.cc
認証情報がない場合、スクリプトは蝉鏡のログインページを自動的に開き、設定コマンドを提示します。
レビューとセキュリティ(認証情報と境界)
Purpose / Credentials / Persistence / Network に関する個別の説明は manifest.yaml を参照してください(permissions.network_mode: open と signUrlPutNote を含みます)。以下は SKILL 本文による補足のみです:
credentials.json:スクリプトはローカルの認証情報を読み取ります。更新されたaccess_token/expire_inを同じファイルに書き戻すことは想定された動作です。ディレクトリ/ファイルの権限を制限してください(例:ディレクトリは0700、ファイルは0600)。また、決してバージョン管理にコミットされないようにしてください(manifest のdoNotCommitToVcsを参照)。sign_urlと PUT のホスト:upload_file.py/get_upload_url.pyは、まずopen-api.chanjing.ccのcreate_upload_urlをリクエストし、その後、レスポンス内のsign_urlに HTTPS PUT を実行します。この URL のホストは蝉鏡側のオブジェクトストレージまたは CDN であることが多く、固定ホストの許可リストに含まれない可能性があります。そのため、これを正確に宣言するため、マニフェストではnetwork_mode: openに変更されています。create_person.py --callback:URL を渡すと、リモートサービスがそのエンドポイントにタスク結果を POST する場合があります。ペイロードにはステータスやリソース参照などの機密情報が含まれる可能性があります。そのエンドポイントを自身で信頼し、送信とデータ漏えいのリスクを引き受ける必要があります。- ローカル動画:ユーザーが指定したパスから動画のバイトデータのみを読み取り、API が指定するエンドポイントにアップロードします。無関係なシステムパスはスキャンしません。
標準ワークフロー
- ローカルの元動画をアップロードして
file_idを取得します(upload_file.pyの使用を推奨します。内部処理はGET …/create_upload_url→PUT sign_url(本文はファイル)→ 準備完了までfile_detailをポーリングです。手順を分ける場合はget_upload_url.py+ 自分で PUT + ポーリングも使用できます) create_person.pyを呼び出してカスタマイズデジタルヒューマンのタスクを作成し、person_idを取得します- 成功するまで
poll_person.pyを呼び出してポーリングし、preview_urlを取得します。またはget_person --field audio_man_idを使用して音声 ID を取得します - 履歴にある人物をまとめて確認する場合は、
list_persons.pyを使用します - リソースを整理する場合は、
delete_person.pyを使用します
対応 API
この Skill が現在対応している API:
GET /open/v1/common/create_upload_urlGET /open/v1/common/file_detailPOST /open/v1/create_customised_personPOST /open/v1/list_customised_personGET /open/v1/customised_personPOST /open/v1/delete_customised_person
スクリプト
スクリプトディレクトリ:
skills/chanjing-customised-person/scripts/
| スクリプト | 説明 |
|---|---|
_auth.py | 認証情報を読み取り、access_token を取得または更新します |
get_upload_url.py | create_upload_url を呼び出し、sign_url、mime_type、file_id などを JSON で出力します(PUT は別途実行する必要があります) |
upload_file.py | create_upload_url + HTTPS PUT sign_url + file_detail のポーリングを行い、file_id を出力します |
create_person.py | カスタマイズデジタルヒューマンのタスクを作成し、person_id を出力します。任意の --callback(サービスが機密性の高いタスクペイロードをその URL に POST する可能性があります) |
list_persons.py | カスタマイズデジタルヒューマンの人物を一覧表示します |
get_person.py | 個別のデジタルヒューマンの詳細を取得します。デフォルトでは JSON を出力します |
poll_person.py | 完了するまで人物の詳細をポーリングします。デフォルトでは preview_url を出力します |
delete_person.py | カスタマイズデジタルヒューマンを削除し、削除した person_id を出力します |
使用例
例 1:ローカル動画からカスタマイズデジタルヒューマンを作成
FILE_ID=$(python3 skills/chanjing-customised-person/scripts/upload_file.py \
--file ./source.mp4)
PERSON_ID=$(python3 skills/chanjing-customised-person/scripts/create_person.py \
--name "演示数字人" \
--file-id "$FILE_ID" \
--train-type figure)
python3 skills/chanjing-customised-person/scripts/poll_person.py --id "$PERSON_ID"
例 2:詳細全体を確認
python3 skills/chanjing-customised-person/scripts/get_person.py \
--id "C-ef91f3a6db3144ffb5d6c581ff13c7ec"
例 3:一覧表示と削除
python3 skills/chanjing-customised-person/scripts/list_persons.py
python3 skills/chanjing-customised-person/scripts/delete_person.py \
--id "C-ef91f3a6db3144ffb5d6c581ff13c7ec"
出力に関する規約
デフォルトでは、プレビュー動画やカバー画像を自動でダウンロードしません:
create_person.pyはperson_idを出力しますpoll_person.pyはpreview_urlを出力します。続けてプレビューしたり保存したりできます- 返されたリソース URL をローカルに保存するのは、ユーザーが明示的に求めた場合に限ります
後からプレビューリソースをディスクに保存する場合は、次のディレクトリを推奨します:
outputs/customised-person/
追加リソース
API の詳細および呼び出し例については、以下を参照してください:
skills/chanjing-customised-person/reference.mdskills/chanjing-customised-person/examples.md