mcpField
S
storyclaw-x2c-publish

storyclaw-x2c-publish

github.com/storyclaw-official创意与媒体052 次安装今天更新
代码仓库

关于 storyclaw-x2c-publish

storyclaw-x2c-publish 是面向 X2C 平台的视频发布与数字资产管理技能,供发布者通过 X2C Open API 操作内容和钱包。它提供按步骤执行的发布流程,并支持查询项目与钱包交易。

主要功能

  1. 01获取分类及 S3 上传地址
  2. 02发布视频项目并查询审核状态
  3. 03为项目添加剧集和列出项目
  4. 04查询余额、申领及兑换 X2C
  5. 05提取 USDC 并查看交易记录

适用场景

  1. 01将本地视频上传并发布到 X2C
  2. 02使用外部视频 URL 发布内容
  3. 03查看项目审核进度或追加剧集
  4. 04管理 X2C 余额与 USDC 提取

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/storyclaw-x2c-publish确认已加载。

附带文件.gitignorecredentials/example.json

详细介绍

X2C 发布 - 分发与钱包 API

将视频内容发布到 X2C 平台并管理数字资产。

重要规则

  • 按顺序完成所有工作流步骤,绝不跳过步骤
  • 始终为 curl 命令添加超时:-m 60
  • 绝不重试失败的请求——报告错误并询问用户
  • 发布前检查项目状态,以避免重复
  • 封面 URL 必须是图片(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

提供视频有两种方式:

  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。

评论

支持 Markdown