mcpField
S
storyclaw-x2c-publish

storyclaw-x2c-publish

github.com/storyclaw-officialクリエイティブ・メディア052 回インストール今日更新
リポジトリ

storyclaw-x2c-publish について

storyclaw-x2c-publishは、X2C Open APIを通じてX2Cプラットフォームへの動画公開とデジタル資産管理を行うスキルです。順序に沿った公開手順に加え、プロジェクトやウォレットの操作を扱います。

主な機能

  1. 01カテゴリとS3アップロードURLの取得
  2. 02プロジェクト公開と審査状況の確認
  3. 03エピソード追加とプロジェクト一覧
  4. 04残高確認、X2Cの請求と交換
  5. 05USDCの出金と取引履歴の確認

活用シーン

  1. 01ローカル動画をアップロードしてX2Cで公開
  2. 02外部動画URLを使ったコンテンツ公開
  3. 03審査状況の確認やエピソード追加
  4. 04X2C残高とUSDC出金の管理

インストール

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

$npx skills add https://github.com/storyclaw-official/talenthub --skill storyclaw-x2c-publish

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

同梱ファイル.gitignorecredentials/example.json

詳細

X2C Publish - 配信&ウォレット API

動画コンテンツを X2C プラットフォームに公開し、デジタル資産を管理します。

重要なルール

  • すべてのワークフロー手順を順番どおりに完了してください。手順を省略しないでください。
  • curl コマンドには必ずタイムアウトを追加してください:-m 60
  • 失敗したリクエストは絶対に再試行しないでください。エラーを報告し、ユーザーに確認してください。
  • 重複を避けるため、公開前にプロジェクトのステータスを確認してください。
  • カバー画像には画像(jpg/png/webp)を指定してください。動画の URL は使用しないでください。

マルチユーザー対応

API キーを credentials/{USER_ID}.json に保存します。

{
  "x2cApiKey": "x2c_sk_xxx"
}

呼び出し時に USER_ID 環境変数を設定してください。OpenClaw はチャットのコンテキストから自動的に渡します。

または、X2C_API_KEY 環境変数を設定するか、~/.openclaw/openclaw.json の skills."x2c-publish".env.X2C_API_KEY で設定してください。

配信ワークフロー

1. distribution/categories → Get categories
2. distribution/upload-url → Get S3 presigned upload URLs
3. Upload files to S3 via HTTP PUT
4. distribution/publish → Submit with public_url from Step 3
5. distribution/query → Check review status
6. distribution/add-episodes → Add more episodes
7. distribution/list → List all projects

動画を指定する方法は 2 つあります。

  1. S3 アップロード — ローカルファイルには upload-url ワークフローを使用します。
  2. 外部 URL — 公開時に既存の動画 URL を直接使用します。
API エンドポイント

すべてのリクエストは X2C Open API に送信します。ベース URL は X2C_API_BASE_URL 環境変数で設定するか、デフォルトの本番エンドポイントを使用します。

ヘッダー:

  • Content-Type: application/json
  • X-API-Key: <your_x2c_api_key>
カテゴリを取得する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "distribution/categories", "lang": "zh-CN"}'
アップロード URL を取得する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{
    "action": "distribution/upload-url",
    "files": [
      {"file_type": "cover", "file_name": "cover.jpg", "content_type": "image/jpeg"},
      {"file_type": "video", "file_name": "ep1.mp4", "content_type": "video/mp4"}
    ]
  }'

レスポンスには upload_url、upload_headers、public_url が含まれます。

S3 にアップロードする

前のレスポンスに含まれる upload_url と upload_headers を使用します。

curl -X PUT "<upload_url>" \
  -H "Content-Type: image/jpeg" \
  <additional headers from upload_headers> \
  --data-binary @cover.jpg
プロジェクトを公開する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{
    "action": "distribution/publish",
    "title": "My Drama",
    "description": "A story about...",
    "category_id": "uuid",
    "cover_url": "https://...",
    "video_urls": ["https://..."],
    "enable_prediction": false
  }'
パラメーター必須説明
titleはいプロジェクト名(最大 100 文字)
descriptionはいあらすじ(最大 2000 文字)
category_idはいカテゴリ UUID
cover_urlはいカバー画像の URL
video_urlsはい動画 URL の配列(1~10 件)
enable_predictionいいえ予測市場を有効にする
ステータスを照会する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "distribution/query", "project_id": "uuid"}'

ステータスの値:draft、pending_review、approved、rejected

エピソードを追加する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{
    "action": "distribution/add-episodes",
    "project_id": "uuid",
    "video_urls": ["https://..."]
  }'
プロジェクトを一覧表示する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "distribution/list", "page": 1, "page_size": 20, "status": "approved"}'

ウォレット API(資産管理)

残高を取得する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "wallet/balance"}'

返される値:credits、x2c_wallet_balance、x2c_pending_claim、x2c_pending_release、usdc_balance、wallet_address。

X2C を請求する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "wallet/claim-x2c", "amount": 50.0}'
X2C を USDC に交換する
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "wallet/swap-x2c", "amount": 100.0}'
USDC を引き出す
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "wallet/withdraw-usdc", "amount": 10.0, "to_address": "SolanaAddress..."}'
取引履歴
curl -m 60 -X POST "$X2C_API_BASE_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $X2C_API_KEY" \
  -d '{"action": "wallet/transactions", "page": 1, "page_size": 20, "type": "all"}'

種類:earnings(マイニング、配信、紹介など)、purchases(消費、交換、引き出しなど)、または all。

コメント