mcpField
C
chanjing-customised-person

chanjing-customised-person

github.com/chanjing-aiクリエイティブ・メディア2261 回インストール1 週間前に更新
リポジトリ

chanjing-customised-person について

ローカル動画から蝉镜のカスタムデジタルヒューマンを作成する Python スキルです。動画のアップロードと作成に加え、一覧、詳細取得、進捗確認、削除に対応します。

主な機能

  1. 01動画のアップロードと人物作成
  2. 02作成状況の取得とポーリング
  3. 03人物一覧と詳細の確認
  4. 04人物の削除

活用シーン

  1. 01元動画からカスタム人物を作成
  2. 02作成の進捗を確認
  3. 03既存の人物を確認・削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/chanjing-ai/chan-skills --skill chanjing-customised-person

インストール後、Claude Code で/chanjing-customised-personを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples.md
manifest.yaml
reference.md
scripts/
_auth.py
create_person.py
delete_person.py
get_person.py
get_upload_url.py
list_persons.py
poll_person.py
upload_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.json
  • https://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 が指定するエンドポイントにアップロードします。無関係なシステムパスはスキャンしません。

標準ワークフロー

  1. ローカルの元動画をアップロードして file_id を取得します(upload_file.py の使用を推奨します。内部処理は GET …/create_upload_url → PUT sign_url(本文はファイル)→ 準備完了まで file_detail をポーリングです。手順を分ける場合は get_upload_url.py + 自分で PUT + ポーリングも使用できます)
  2. create_person.py を呼び出してカスタマイズデジタルヒューマンのタスクを作成し、person_id を取得します
  3. 成功するまで poll_person.py を呼び出してポーリングし、preview_url を取得します。または get_person --field audio_man_id を使用して音声 ID を取得します
  4. 履歴にある人物をまとめて確認する場合は、list_persons.py を使用します
  5. リソースを整理する場合は、delete_person.py を使用します

対応 API

この Skill が現在対応している API:

  • GET /open/v1/common/create_upload_url
  • GET /open/v1/common/file_detail
  • POST /open/v1/create_customised_person
  • POST /open/v1/list_customised_person
  • GET /open/v1/customised_person
  • POST /open/v1/delete_customised_person

スクリプト

スクリプトディレクトリ:

  • skills/chanjing-customised-person/scripts/
スクリプト説明
_auth.py認証情報を読み取り、access_token を取得または更新します
get_upload_url.pycreate_upload_url を呼び出し、sign_url、mime_type、file_id などを JSON で出力します(PUT は別途実行する必要があります)
upload_file.pycreate_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.md
  • skills/chanjing-customised-person/examples.md

コメント