@yixiaoermail/cli 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/bin/yxer.js +74 -0
- package/dist/yxer-darwin-amd64 +0 -0
- package/dist/yxer-darwin-arm64 +0 -0
- package/dist/yxer-linux-amd64 +0 -0
- package/dist/yxer-linux-arm64 +0 -0
- package/dist/yxer-windows-amd64.exe +0 -0
- package/dist/yxer-windows-arm64.exe +0 -0
- package/package.json +23 -0
- package/skills/yixiaoer/QUICKSTART.md +265 -0
- package/skills/yixiaoer/SKILL.md +70 -0
- package/skills/yixiaoer/assets/yixiaoer.png +0 -0
- package/skills/yixiaoer/plugin.json +21 -0
- package/skills/yixiaoer/references/cli/command-reference.md +212 -0
- package/skills/yixiaoer/references/cli/skill-install.md +65 -0
- package/skills/yixiaoer/references/cli-install-uninstall.md +196 -0
- package/skills/yixiaoer/references/domains/accounts-and-env.md +37 -0
- package/skills/yixiaoer/references/domains/draft-and-material.md +29 -0
- package/skills/yixiaoer/references/domains/install-and-sync.md +37 -0
- package/skills/yixiaoer/references/domains/publish.md +75 -0
- package/skills/yixiaoer/references/domains/troubleshooting.md +30 -0
- package/skills/yixiaoer/references/execution-standard.md +144 -0
- package/skills/yixiaoer/references/get-account-overviews.md +56 -0
- package/skills/yixiaoer/references/get-challenges.md +14 -0
- package/skills/yixiaoer/references/get-collections.md +34 -0
- package/skills/yixiaoer/references/get-content-overviews.md +59 -0
- package/skills/yixiaoer/references/get-friends.md +9 -0
- package/skills/yixiaoer/references/get-games.md +39 -0
- package/skills/yixiaoer/references/get-goods.md +42 -0
- package/skills/yixiaoer/references/get-groups.md +35 -0
- package/skills/yixiaoer/references/get-hot-events.md +14 -0
- package/skills/yixiaoer/references/get-locations.md +48 -0
- package/skills/yixiaoer/references/get-miniapps.md +38 -0
- package/skills/yixiaoer/references/get-music-categories.md +41 -0
- package/skills/yixiaoer/references/get-music.md +67 -0
- package/skills/yixiaoer/references/get-publish-activities.md +40 -0
- package/skills/yixiaoer/references/get-publish-categories.md +62 -0
- package/skills/yixiaoer/references/get-sync-apps.md +14 -0
- package/skills/yixiaoer/references/get-topics.md +13 -0
- package/skills/yixiaoer/references/go-live-process.md +168 -0
- package/skills/yixiaoer/references/keyword-reference.md +113 -0
- package/skills/yixiaoer/references/material-resource.md +89 -0
- package/skills/yixiaoer/references/platform-doc-maintenance.md +33 -0
- package/skills/yixiaoer/references/platform.md +61 -0
- package/skills/yixiaoer/references/platforms/article/acfun.md +90 -0
- package/skills/yixiaoer/references/platforms/article/aiqiyi.md +56 -0
- package/skills/yixiaoer/references/platforms/article/baijiahao.md +94 -0
- package/skills/yixiaoer/references/platforms/article/bilibili.md +88 -0
- package/skills/yixiaoer/references/platforms/article/chejiahao.md +81 -0
- package/skills/yixiaoer/references/platforms/article/csdn.md +86 -0
- package/skills/yixiaoer/references/platforms/article/dayuhao.md +78 -0
- package/skills/yixiaoer/references/platforms/article/douban.md +62 -0
- package/skills/yixiaoer/references/platforms/article/douyin.md +106 -0
- package/skills/yixiaoer/references/platforms/article/index.md +157 -0
- package/skills/yixiaoer/references/platforms/article/jianshu.md +58 -0
- package/skills/yixiaoer/references/platforms/article/kuaichuanhao.md +78 -0
- package/skills/yixiaoer/references/platforms/article/qiehao.md +78 -0
- package/skills/yixiaoer/references/platforms/article/souhuhao.md +75 -0
- package/skills/yixiaoer/references/platforms/article/toutiaohao.md +78 -0
- package/skills/yixiaoer/references/platforms/article/wangyihao.md +79 -0
- package/skills/yixiaoer/references/platforms/article/weixingongzhonghao.md +135 -0
- package/skills/yixiaoer/references/platforms/article/xinlangweibo.md +75 -0
- package/skills/yixiaoer/references/platforms/article/xueqiuhao.md +73 -0
- package/skills/yixiaoer/references/platforms/article/yichehao.md +92 -0
- package/skills/yixiaoer/references/platforms/article/yidianhao.md +76 -0
- package/skills/yixiaoer/references/platforms/article/zhihu.md +75 -0
- package/skills/yixiaoer/references/platforms/get-locations.md +5 -0
- package/skills/yixiaoer/references/platforms/imageText/baijiahao.md +91 -0
- package/skills/yixiaoer/references/platforms/imageText/douyin.md +111 -0
- package/skills/yixiaoer/references/platforms/imageText/index.md +116 -0
- package/skills/yixiaoer/references/platforms/imageText/kuaishou.md +106 -0
- package/skills/yixiaoer/references/platforms/imageText/shipinhao.md +125 -0
- package/skills/yixiaoer/references/platforms/imageText/toutiaohao.md +76 -0
- package/skills/yixiaoer/references/platforms/imageText/weixinshipinhao.md +7 -0
- package/skills/yixiaoer/references/platforms/imageText/xiaohongshu.md +88 -0
- package/skills/yixiaoer/references/platforms/imageText/xinlangweibo.md +77 -0
- package/skills/yixiaoer/references/platforms/imageText/zhihu.md +92 -0
- package/skills/yixiaoer/references/platforms/index.md +20 -0
- package/skills/yixiaoer/references/platforms/video/acfun.md +82 -0
- package/skills/yixiaoer/references/platforms/video/aiqiyi.md +89 -0
- package/skills/yixiaoer/references/platforms/video/baijiahao.md +89 -0
- package/skills/yixiaoer/references/platforms/video/bilibili-open.md +87 -0
- package/skills/yixiaoer/references/platforms/video/bilibili.md +80 -0
- package/skills/yixiaoer/references/platforms/video/chejiahao.md +63 -0
- package/skills/yixiaoer/references/platforms/video/dayuhao.md +89 -0
- package/skills/yixiaoer/references/platforms/video/dewu.md +80 -0
- package/skills/yixiaoer/references/platforms/video/douyin.md +143 -0
- package/skills/yixiaoer/references/platforms/video/duoduoshipin.md +64 -0
- package/skills/yixiaoer/references/platforms/video/fengwang.md +81 -0
- package/skills/yixiaoer/references/platforms/video/index.md +165 -0
- package/skills/yixiaoer/references/platforms/video/kuaishou-open.md +63 -0
- package/skills/yixiaoer/references/platforms/video/kuaishou.md +77 -0
- package/skills/yixiaoer/references/platforms/video/meipai.md +79 -0
- package/skills/yixiaoer/references/platforms/video/meiyou.md +59 -0
- package/skills/yixiaoer/references/platforms/video/pipixia.md +58 -0
- package/skills/yixiaoer/references/platforms/video/qiehao.md +91 -0
- package/skills/yixiaoer/references/platforms/video/shipinhao.md +95 -0
- package/skills/yixiaoer/references/platforms/video/souhuhao.md +91 -0
- package/skills/yixiaoer/references/platforms/video/souhushipin.md +64 -0
- package/skills/yixiaoer/references/platforms/video/tengxunshipin.md +63 -0
- package/skills/yixiaoer/references/platforms/video/toutiaohao.md +66 -0
- package/skills/yixiaoer/references/platforms/video/wangyihao.md +93 -0
- package/skills/yixiaoer/references/platforms/video/weishi.md +61 -0
- package/skills/yixiaoer/references/platforms/video/xiaohongshu.md +133 -0
- package/skills/yixiaoer/references/platforms/video/xiaohongshushop.md +92 -0
- package/skills/yixiaoer/references/platforms/video/xinlangweibo.md +79 -0
- package/skills/yixiaoer/references/platforms/video/yichehao.md +61 -0
- package/skills/yixiaoer/references/platforms/video/yidianhao.md +85 -0
- package/skills/yixiaoer/references/platforms/video/zhihu.md +85 -0
- package/skills/yixiaoer/references/proxy-management.md +68 -0
- package/skills/yixiaoer/references/query-accounts.md +85 -0
- package/skills/yixiaoer/references/save-draft.md +75 -0
- package/skills/yixiaoer/references/topic-tags.md +139 -0
- package/skills/yixiaoer/references/troubleshooting-guide.md +105 -0
- package/skills/yixiaoer/references/upload-resource.md +59 -0
- package/skills/yixiaoer/references/usage-workflow.md +209 -0
- package/skills/yixiaoer/references/workflows/account-selection.md +38 -0
- package/skills/yixiaoer/references/workflows/common-rules.md +259 -0
- package/skills/yixiaoer/references/workflows/draft-workflow.md +44 -0
- package/skills/yixiaoer/references/workflows/local-vs-cloud.md +50 -0
- package/skills/yixiaoer/references/workflows/material-workflow.md +43 -0
- package/skills/yixiaoer/references/workflows/payload-sourcing.md +70 -0
- package/skills/yixiaoer/references/workflows/publish-article.md +68 -0
- package/skills/yixiaoer/references/workflows/publish-imageText.md +64 -0
- package/skills/yixiaoer/references/workflows/publish-troubleshooting.md +50 -0
- package/skills/yixiaoer/references/workflows/publish-video.md +65 -0
- package/skills/yixiaoer/references/yixiaoer-shared.md +95 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# 视频发布 (Video Publish)
|
|
2
|
+
|
|
3
|
+
> [!CAUTION]
|
|
4
|
+
> **阅读规范 (Reading Protocol)**:
|
|
5
|
+
> 本文档是 **所有平台** 视频发布的 **唯一入口** 和 **基础 DTO 定义**。
|
|
6
|
+
> 在查阅具体的平台文档(如 `douyin.md`)之前,你 **必须** 首先查阅本文档以理解 Payload 的根结构,否则将导致生成的 JSON 无法通过校验。
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:当用户下达分发视频指令(无论是单平台发布还是多平台矩阵分发)时触发。涵盖从本地视频上传到最终推送的全链路。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到全平台”
|
|
12
|
+
- “帮我同步这个短剧到抖音和快手”
|
|
13
|
+
- “我的视频号要更新了,标题是 XXX”
|
|
14
|
+
- “使用本地模式分发这个视频”
|
|
15
|
+
|
|
16
|
+
## 执行逻辑 (Logic Flow)
|
|
17
|
+
1. **资源预处理**:
|
|
18
|
+
- 调用 `yxer upload` 将本地或 URL 视频及封面图上传至云端,并持有获得的 `key`。
|
|
19
|
+
- 严禁在 `publish` 负载中直接透传原始 URL。
|
|
20
|
+
2. **账号与平台选取**:识别目标 `platforms` 列表及具体的 `platformAccountId`(通过 `yxer accounts` 查询)。
|
|
21
|
+
3. **参数深度补全**:若涉及分类、地理位置、音乐等动态字段,调用对应 `yxer query categories`、`yxer query locations`、`yxer query music` 等命令获取合法对象。
|
|
22
|
+
4. **Payload 装配**:按照本文档 1.1 - 1.3 节定义的 DTO 结构,组装包含 `action: "publish"` 的完整 JSON。
|
|
23
|
+
5. **指令交付**:先执行 `yxer validate <platform> video <payload.json>`,再执行 `yxer publish video <platform> <payload.json> [clientId]`。
|
|
24
|
+
6. **状态跟踪**:记录返回的 `taskSetId`,以便后续通过 `yxer query records` 查询进度。
|
|
25
|
+
|
|
26
|
+
## 1. 数据结构 (Data Structure)
|
|
27
|
+
|
|
28
|
+
接口要求传入 `CloudTaskPushRequest` 结构。
|
|
29
|
+
|
|
30
|
+
### 1.1 基础结构 (Base Structure)
|
|
31
|
+
|
|
32
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
33
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
34
|
+
| `action` | `string` | **是** | 固定值:`publish` | - |
|
|
35
|
+
| `publishType` | `string` | **是** | 固定为 `video` | - |
|
|
36
|
+
| `platforms` | `string[]` | **是** | 目标平台枚举数组,详见下方平台列表 | - |
|
|
37
|
+
| `coverKey` | `string` | **是** | 任务封面资源 Key | - |
|
|
38
|
+
| `publishArgs` | `Object` | **是** | 发布参数核心容器 | - |
|
|
39
|
+
| `taskSetId` | `string` | 否 | 任务集唯一标识 (草稿发布时必填) | - |
|
|
40
|
+
| `desc` | `string` | 否 | 任务描述/摘要 | - |
|
|
41
|
+
| `publishChannel` | `string` | 否 | `cloud` (云端) 或 `local` (本机) | `cloud` |
|
|
42
|
+
| `clientId` | `string` | 否 | 客户端连接 ID (`local` 发布时必填) | - |
|
|
43
|
+
| `isDraft` | `boolean` | 否 | 是否仅保存为草稿 (蚁小二草稿) | `false` |
|
|
44
|
+
| `isAppContent` | `boolean` | 否 | 业务扩展标记,CLI 会原样透传 | - |
|
|
45
|
+
|
|
46
|
+
### 1.2 草稿模式选取 (Draft Selection)
|
|
47
|
+
|
|
48
|
+
| 场景 | 蚁小二草稿箱 | 目标平台草稿箱 |
|
|
49
|
+
| :--- | :--- | :--- |
|
|
50
|
+
| **位置** | `Payload` 根路径 | `accountForms` -> `contentPublishForm` |
|
|
51
|
+
| **参数** | `"isDraft": true` | `"pubType": 0` (若平台不支持,见下方说明) |
|
|
52
|
+
| **效果** | 仅保存在蚁小二系统,不发起平台推送 | 执行推送流程,但最终结果为平台端的草稿态 |
|
|
53
|
+
| **用户话术** | “存为蚁小二草稿”、“以后再发” | “存到抖音草稿箱”、“推送到小红书草稿” |
|
|
54
|
+
|
|
55
|
+
> [!TIP]
|
|
56
|
+
> **字段兼容性补丁 (Draft Fallback Rule)**:
|
|
57
|
+
> Agent 在处理“存为平台草稿”时必须遵循以下优先级:
|
|
58
|
+
> 1. **首选 (pubType)**:若目标平台文档定义了 `pubType` 字段,必须设置 `"pubType": 0`。
|
|
59
|
+
> 2. **次选 (visibleType)**:若无 `pubType` 但定义了 `visibleType`,则将其设置为 **`1` (私密)**。对应的,`0` 表示公开。
|
|
60
|
+
> 3. **不支持**:若上述两个字段均未定义,则说明该平台不支持草稿或私密保存,Agent 应告知用户并询问是否直接公开发布。
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### 1.3 发布参数 (publishArgs)
|
|
64
|
+
|
|
65
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
66
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
67
|
+
| `accountForms` | `Array` | **是** | 账号发布表单列表 | - |
|
|
68
|
+
| `video` | `Object` | 否 | **标准请求体共享视频资源**。CLI 校验时会在缺失时复制到各 `accountForms[i].video` | - |
|
|
69
|
+
| `images` | `Array` | 否 | **标准请求体共享图片资源**。视频场景通常仅作扩展透传 | - |
|
|
70
|
+
| `cover` | `Object` | 否 | **标准请求体共享封面资源**。CLI 校验时会在缺失时复制到各 `accountForms[i].cover` | - |
|
|
71
|
+
| `coverKey` | `string` | 否 | **标准请求体共享封面 Key**。CLI 校验时会在缺失时复制到各 `accountForms[i].coverKey` | - |
|
|
72
|
+
|
|
73
|
+
> [!TIP]
|
|
74
|
+
> **CLI 输入兼容规则**:
|
|
75
|
+
> - 推荐优先使用“标准请求体”形态,即在 `publishArgs` 中声明共享的 `video`、`cover`、`coverKey`,再在 `accountForms[]` 中补平台差异字段。
|
|
76
|
+
> - CLI 当前仍按**单平台命令**执行:`yxer publish video <platform> <payload.json> [clientId]`。即使请求体里可以表达多平台,命令本身仍需逐个平台调用。
|
|
77
|
+
> - `yxer validate` 与 `yxer publish` 都接受完整标准请求体;在共享资源字段存在而账号项缺失时,CLI 会在校验阶段自动补齐到对应 `accountForms[]`。
|
|
78
|
+
|
|
79
|
+
### 1.4 账号表单项 (accountForms Item)
|
|
80
|
+
|
|
81
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
82
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
83
|
+
| `platformAccountId` | `string` | **是** | 蚁小二平台账号唯一 ID | - |
|
|
84
|
+
| `video` | `Object` | **是** | **VideoFormItem**: 视频对象 (`key`, `width`, `height`, `size`) | - |
|
|
85
|
+
| `cover` | `Object` | **是** | **ImageFormItem**: 主封面对象 | - |
|
|
86
|
+
| `contentPublishForm`| `Object` | **是** | **透传层**: `{}` | - |
|
|
87
|
+
| `coverKey` | `string` | **是** | 账号级封面 Key (必须与 `cover.key` 一致) | - |
|
|
88
|
+
| `fps` | `number` | 否 | 视频发布帧率 (海外平台使用) | - |
|
|
89
|
+
| `mediaId` | `string` | 否 | 业务扩展字段,CLI 原样透传 | - |
|
|
90
|
+
| `platformName` | `string` | 否 | 业务扩展字段,CLI 原样透传 | - |
|
|
91
|
+
| `publishContentId` | `string` | 否 | 业务扩展字段,CLI 原样透传 | - |
|
|
92
|
+
|
|
93
|
+
## 2. 发布示例 (Payload Example)
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"action": "publish",
|
|
98
|
+
"publishType": "video",
|
|
99
|
+
"platforms": ["抖音"],
|
|
100
|
+
"coverKey": "video_cover_key",
|
|
101
|
+
"desc": "视频发布任务",
|
|
102
|
+
"publishChannel": "local",
|
|
103
|
+
"clientId": "local-client",
|
|
104
|
+
"publishArgs": {
|
|
105
|
+
"video": {
|
|
106
|
+
"key": "video_oss_key",
|
|
107
|
+
"width": 1080,
|
|
108
|
+
"height": 1920,
|
|
109
|
+
"size": 52428800
|
|
110
|
+
},
|
|
111
|
+
"cover": {
|
|
112
|
+
"key": "video_cover_key",
|
|
113
|
+
"width": 1080,
|
|
114
|
+
"height": 1920,
|
|
115
|
+
"size": 307200
|
|
116
|
+
},
|
|
117
|
+
"coverKey": "video_cover_key",
|
|
118
|
+
"accountForms": [
|
|
119
|
+
{
|
|
120
|
+
"platformAccountId": "acc_vid_003",
|
|
121
|
+
"mediaId": "media_001",
|
|
122
|
+
"platformName": "抖音",
|
|
123
|
+
"publishContentId": "publish_content_001",
|
|
124
|
+
"contentPublishForm": {
|
|
125
|
+
"formType": "task",
|
|
126
|
+
"title": "演示视频标题",
|
|
127
|
+
"description": "<p>演示视频简介</p>"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## 3. 支持平台列表 (Support Platforms)
|
|
136
|
+
|
|
137
|
+
以下平台支持通过 `publishType: "video"` 进行发布。
|
|
138
|
+
|
|
139
|
+
| 平台名称 | 标识符 | 文档链接 |
|
|
140
|
+
| :--- | :--- | :--- |
|
|
141
|
+
| **头条号** | `Toutiaohao` | [toutiaohao.md](./toutiaohao.md) |
|
|
142
|
+
| **哔哩哔哩** | `Bilibili` | [bilibili.md](./bilibili.md) |
|
|
143
|
+
| **抖音** | `Douyin` | [douyin.md](./douyin.md) |
|
|
144
|
+
| **视频号** | `Shipinhao` | [shipinhao.md](./shipinhao.md) |
|
|
145
|
+
| ... | ... | ... |
|
|
146
|
+
|
|
147
|
+
## 4. 通用规则 (Common DTO Rules)
|
|
148
|
+
|
|
149
|
+
### 4.1 级联分类组装 (Cascading Categories)
|
|
150
|
+
许多平台要求传入由父及子的完整分类对象数组。
|
|
151
|
+
- **组装逻辑**:Agent 从 `categories` 接口获取数据后,若存在层级关系,**必须自行构造** 路径数组。
|
|
152
|
+
- **填表规范**:对于每一级,必须包含 `yixiaoerId`, `yixiaoerName` 以及对应的 **`raw`** 对象。
|
|
153
|
+
- **层级示例**:
|
|
154
|
+
- 父分类:`{"yixiaoerId": "18", "yixiaoerName": "动漫", "raw": {...}}`
|
|
155
|
+
- 子分类:`{"yixiaoerId": "1", "yixiaoerName": "国产动漫", "raw": {...}}`
|
|
156
|
+
- **最终 Payload 形式**(Agent 需手动装配成此数组):
|
|
157
|
+
```json
|
|
158
|
+
"category": [
|
|
159
|
+
{ "yixiaoerId": "18", "yixiaoerName": "动漫", "raw": {...} },
|
|
160
|
+
{ "yixiaoerId": "1", "yixiaoerName": "国产动漫", "raw": {...} }
|
|
161
|
+
]
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
> [!TIP]
|
|
165
|
+
> 完整工作流请参考 `../../workflows/`,技能入口位于 `../../SKILL.md`。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# 快手开放平台 视频发布
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:用户指定在“快手”平台分发视频内容,且账号为开放平台账号时触发。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到快手”
|
|
12
|
+
- “同步视频到快手开放平台账号”
|
|
13
|
+
|
|
14
|
+
## 执行逻辑 (Logic Flow)
|
|
15
|
+
1. **意图确认**:确认目标平台为快手,并使用对应开放平台账号。
|
|
16
|
+
2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
|
|
17
|
+
3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 1. contentPublishForm 数据结构
|
|
21
|
+
|
|
22
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
23
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
24
|
+
| formType | string | 是 | 固定为 `task` | `task` |
|
|
25
|
+
| title | string | 否 | 快手标题 | - |
|
|
26
|
+
| description | string | 否 | 快手描述 | - |
|
|
27
|
+
| visibleType | number | 是 | 可见类型:0-公开, 1-私密, 3-好友可见 | 0 |
|
|
28
|
+
| scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
|
|
29
|
+
|
|
30
|
+
## 2. JSON 示例
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"publishType": "video",
|
|
35
|
+
"platforms": ["快手"],
|
|
36
|
+
"publishArgs": {
|
|
37
|
+
"accountForms": [
|
|
38
|
+
{
|
|
39
|
+
"platformAccountId": "KS_OPEN_ACC_ID",
|
|
40
|
+
"video": {
|
|
41
|
+
"key": "v_key",
|
|
42
|
+
"size": 1024000,
|
|
43
|
+
"width": 1080,
|
|
44
|
+
"height": 1920,
|
|
45
|
+
"duration": 15
|
|
46
|
+
},
|
|
47
|
+
"contentPublishForm": {
|
|
48
|
+
"formType": "task",
|
|
49
|
+
"title": "快手开放平台视频标题",
|
|
50
|
+
"description": "通过快手开放平台发布的精彩内容内容描述。",
|
|
51
|
+
"visibleType": 0
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 相关接口
|
|
60
|
+
|
|
61
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
62
|
+
| :--- | :--- | :--- |
|
|
63
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# 快手视频发布参数 (Kuaishou Video)
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
## 触发场景 (Trigger)
|
|
8
|
+
- **意图辨析**:用户指定在“快手”平台分发短视频,且需要配置如“可见范围控制 (visibleType)”、“同城展示 (nearby_show)”、“创作申明 (AI生成等)”或“合集挂载”等快手特色功能时触发。
|
|
9
|
+
- **典型提示词**:
|
|
10
|
+
- “帮我把这个视频同步到快手”
|
|
11
|
+
- “快手发布,设置仅好友可见”
|
|
12
|
+
- “视频发到快手,不要在同城频道显示”
|
|
13
|
+
- “申明这个快手内容是由 AI 辅助生成的”
|
|
14
|
+
|
|
15
|
+
## 执行逻辑 (Logic Flow)
|
|
16
|
+
1. **意图解析**:识别用户对私密性、同城展示及原创属性的要求。
|
|
17
|
+
2. **辅助字段检索**:
|
|
18
|
+
- 位置:若需要,调用 `locations` 获取 POI 数据。
|
|
19
|
+
- 合集:调用 `collections` 获取可用合集 ID。
|
|
20
|
+
3. **参数装配**:构造 `accountForms[i].contentPublishForm`,注意布尔值字段(如 `nearby_show`)的映射。
|
|
21
|
+
4. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
22
|
+
|
|
23
|
+
## 1. contentPublishForm 参数定义
|
|
24
|
+
|
|
25
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
26
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
27
|
+
| `formType` | `string` | **是** | 固定为 `task` | `task` |
|
|
28
|
+
| `title` | `string` | **否** | 视频标题 | - |
|
|
29
|
+
| `description` | `string` | **否** | 视频描述 | - |
|
|
30
|
+
| `declaration` | `number` | **否** | 视频声明:0-不申明, 1-内容为 AI 生成, 2-演绎情节仅供娱乐, 3-个人观点仅供参考 | 0 |
|
|
31
|
+
| `location` | `object` | **否** | 视频位置,使用 `PlatformDataItem` 结构 | - |
|
|
32
|
+
| `visibleType` | `number` | **是** | 可见类型:0-公开, 1-私密, 3-好友可见 | 0 |
|
|
33
|
+
| `scheduledTime` | `number` | **否** | 定时发布时间戳 (13 位 Unix 时间戳,单位: 毫秒) | - |
|
|
34
|
+
| `shopping_cart` | `object` | **否** | 关联商品信息 | - |
|
|
35
|
+
| `collection` | `object` | **否** | 合集信息,使用 `Category` 结构 | - |
|
|
36
|
+
| `mini_app` | `object` | **否** | 挂载小程序 (与购物车互斥) | - |
|
|
37
|
+
| `nearby_show` | `boolean` | **否** | 是否同城展示 | `true` |
|
|
38
|
+
| `allow_same_frame` | `boolean` | **否** | 是否允许同框 | `false` |
|
|
39
|
+
| `allow_download` | `boolean` | **否** | 是否允许下载 | `false` |
|
|
40
|
+
|
|
41
|
+
## 2. Payload 完整示例
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"action": "publish",
|
|
46
|
+
"publishType": "video",
|
|
47
|
+
"platforms": ["快手"],
|
|
48
|
+
"publishArgs": {
|
|
49
|
+
"accountForms": [
|
|
50
|
+
{
|
|
51
|
+
"platformAccountId": "acc_ks_vid_001",
|
|
52
|
+
"video": { "key": "v_key", "size": 1024000, "width": 1080, "height": 1920, "duration": 15 },
|
|
53
|
+
"contentPublishForm": {
|
|
54
|
+
"formType": "task",
|
|
55
|
+
"title": "快手视频发布测试",
|
|
56
|
+
"visibleType": 0,
|
|
57
|
+
"nearby_show": true,
|
|
58
|
+
"declaration": 1
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 3. 复杂对象结构说明
|
|
67
|
+
|
|
68
|
+
### 3.1 PlatformDataItem / Category
|
|
69
|
+
包含 `yixiaoerId`, `yixiaoerName`, `raw` (必须完整透传)。
|
|
70
|
+
|
|
71
|
+
## 相关接口
|
|
72
|
+
|
|
73
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
74
|
+
| :--- | :--- | :--- |
|
|
75
|
+
| `location` | `locations` | [获取位置信息](../../get-locations.md) |
|
|
76
|
+
| `collection`| `collections` | [获取合集列表](../../get-collections.md) |
|
|
77
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# 美拍 视频发布
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:用户指定在“Meipai”平台分发视频内容时触发。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到Meipai”
|
|
12
|
+
- “同步视频到Meipai”
|
|
13
|
+
|
|
14
|
+
## 执行逻辑 (Logic Flow)
|
|
15
|
+
1. **意图确认**:确认目标平台为Meipai。
|
|
16
|
+
2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
|
|
17
|
+
3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 1. contentPublishForm 数据结构
|
|
21
|
+
|
|
22
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
23
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
24
|
+
| formType | string | 是 | 固定为 `task` | `task` |
|
|
25
|
+
| title | string | 是 | 视频标题 | - |
|
|
26
|
+
| description | string | 否 | 视频描述 | - |
|
|
27
|
+
| category | object[] | 否 | 视频分类,使用 `CascadingPlatformDataItem[]` 结构 | - |
|
|
28
|
+
| scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
|
|
29
|
+
|
|
30
|
+
## 2. 复杂对象结构
|
|
31
|
+
|
|
32
|
+
### CascadingPlatformDataItem
|
|
33
|
+
| 字段名 | 类型 | 必填 | 说明 |
|
|
34
|
+
| :--- | :--- | :--- | :--- |
|
|
35
|
+
| id | string | 是 | 选项ID |
|
|
36
|
+
| text | string | 是 | 选项文本 |
|
|
37
|
+
| children | object[] | 否 | 子级选项列表 (CascadingPlatformDataItem[]) |
|
|
38
|
+
| raw | object | 是 | 平台原始数据 |
|
|
39
|
+
|
|
40
|
+
## 3. JSON 示例
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"publishType": "video",
|
|
45
|
+
"platforms": ["Meipai"],
|
|
46
|
+
"publishArgs": {
|
|
47
|
+
"accountForms": [
|
|
48
|
+
{
|
|
49
|
+
"platformAccountId": "MEIPAI_ACC_ID",
|
|
50
|
+
"video": {
|
|
51
|
+
"key": "v_key",
|
|
52
|
+
"size": 1024000,
|
|
53
|
+
"width": 1080,
|
|
54
|
+
"height": 1920,
|
|
55
|
+
"duration": 15
|
|
56
|
+
},
|
|
57
|
+
"contentPublishForm": {
|
|
58
|
+
"formType": "task",
|
|
59
|
+
"title": "美拍视频标题示例",
|
|
60
|
+
"description": "这是美拍平台的一段精彩短视频内容描述。",
|
|
61
|
+
"category": [
|
|
62
|
+
{
|
|
63
|
+
"id": "1",
|
|
64
|
+
"text": "生活",
|
|
65
|
+
"raw": {}
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 相关接口
|
|
76
|
+
|
|
77
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
78
|
+
| :--- | :--- | :--- |
|
|
79
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# 美柚 视频发布
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:用户指定在“Meiyou”平台分发视频内容时触发。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到Meiyou”
|
|
12
|
+
- “同步视频到Meiyou”
|
|
13
|
+
|
|
14
|
+
## 执行逻辑 (Logic Flow)
|
|
15
|
+
1. **意图确认**:确认目标平台为Meiyou。
|
|
16
|
+
2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
|
|
17
|
+
3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 1. contentPublishForm 数据结构
|
|
21
|
+
|
|
22
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
23
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
24
|
+
| formType | string | 是 | 固定为 `task` | `task` |
|
|
25
|
+
| title | string | 是 | 视频标题 | - |
|
|
26
|
+
| scheduledTime | number | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
|
|
27
|
+
|
|
28
|
+
## 2. JSON 示例
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"publishType": "video",
|
|
33
|
+
"platforms": ["Meiyou"],
|
|
34
|
+
"publishArgs": {
|
|
35
|
+
"accountForms": [
|
|
36
|
+
{
|
|
37
|
+
"platformAccountId": "MEIYOU_ACC_ID",
|
|
38
|
+
"video": {
|
|
39
|
+
"key": "v_key",
|
|
40
|
+
"size": 1024000,
|
|
41
|
+
"width": 1080,
|
|
42
|
+
"height": 1920,
|
|
43
|
+
"duration": 15
|
|
44
|
+
},
|
|
45
|
+
"contentPublishForm": {
|
|
46
|
+
"formType": "task",
|
|
47
|
+
"title": "美柚视频标题示例"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 相关接口
|
|
56
|
+
|
|
57
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
58
|
+
| :--- | :--- | :--- |
|
|
59
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 皮皮虾 视频发布
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:用户指定在“Pipixia”平台分发视频内容时触发。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到Pipixia”
|
|
12
|
+
- “同步视频到Pipixia”
|
|
13
|
+
|
|
14
|
+
## 执行逻辑 (Logic Flow)
|
|
15
|
+
1. **意图确认**:确认目标平台为Pipixia。
|
|
16
|
+
2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
|
|
17
|
+
3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 1. contentPublishForm 数据结构
|
|
21
|
+
|
|
22
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
23
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
24
|
+
| formType | string | 是 | 固定为 `task` | `task` |
|
|
25
|
+
| description | string | 否 | 视频描述 | - |
|
|
26
|
+
|
|
27
|
+
## 2. JSON 示例
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"publishType": "video",
|
|
32
|
+
"platforms": ["Pipixia"],
|
|
33
|
+
"publishArgs": {
|
|
34
|
+
"accountForms": [
|
|
35
|
+
{
|
|
36
|
+
"platformAccountId": "PIPIXIA_ACC_ID",
|
|
37
|
+
"video": {
|
|
38
|
+
"key": "v_key",
|
|
39
|
+
"size": 1024000,
|
|
40
|
+
"width": 1080,
|
|
41
|
+
"height": 1920,
|
|
42
|
+
"duration": 15
|
|
43
|
+
},
|
|
44
|
+
"contentPublishForm": {
|
|
45
|
+
"formType": "task",
|
|
46
|
+
"description": "皮皮虾,我们走! #搞笑 #段子"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 相关接口
|
|
55
|
+
|
|
56
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
57
|
+
| :--- | :--- | :--- |
|
|
58
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# 企鹅号 视频发布
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> **前提条件 (Prerequisite)**:
|
|
5
|
+
> 在使用本平台的特定参数之前,你 **必须** 已经阅读并理解了 [视频发布首页 (Index)](./index.md) 中定义的 Payload 根结构。本页仅描述 `contentPublishForm` 内部的平台差异化字段。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 触发场景 (Trigger)
|
|
9
|
+
- **意图辨析**:用户指定在“Qiehao”平台分发视频内容时触发。
|
|
10
|
+
- **典型提示词**:
|
|
11
|
+
- “把这个视频发布到Qiehao”
|
|
12
|
+
- “同步视频到Qiehao”
|
|
13
|
+
|
|
14
|
+
## 执行逻辑 (Logic Flow)
|
|
15
|
+
1. **意图确认**:确认目标平台为Qiehao。
|
|
16
|
+
2. **参数装配**:识别并填充标题、描述等平台特定字段至 `contentPublishForm`。
|
|
17
|
+
3. **指令执行**:先执行 `yxer validate <platform> <type> <payload.json>`,再执行 `yxer publish <type> <platform> <payload.json> [clientId]`。
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 1. contentPublishForm 数据结构
|
|
21
|
+
|
|
22
|
+
| 字段名 | 类型 | 必填 | 说明 | 默认值 |
|
|
23
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
24
|
+
| `formType` | `string` | **是** | 固定为 `task` | `task` |
|
|
25
|
+
| `title` | `string` | **是** | 视频标题 | - |
|
|
26
|
+
| `description` | `string` | **是** | 视频描述 | - |
|
|
27
|
+
| `tags` | `string[]` | **是** | 视频标签 | - |
|
|
28
|
+
| `category` | `object[]` | **是** | 视频分类,使用 `CascadingPlatformDataItem[]` 结构 | - |
|
|
29
|
+
| `declaration` | `number` | 否 | 创作申明:0-暂不申明, 1-该内容由AI生成, 2-个人观点仅供参考, 3-剧情演绎仅供娱乐, 4-取材网络谨慎甄别, 5-旧闻 | 0 |
|
|
30
|
+
| `pubType` | `number` | **是** | 发布类型: 0-草稿, 1-直接发布 | 1 |
|
|
31
|
+
| `scheduledTime` | `number` | 否 | 定时发布时间戳(13 位 Unix 时间戳,单位:毫秒) | - |
|
|
32
|
+
|
|
33
|
+
## 2. 复杂对象结构
|
|
34
|
+
|
|
35
|
+
### 3.1 CascadingPlatformDataItem (级联分类对象)
|
|
36
|
+
|
|
37
|
+
> [!IMPORTANT]
|
|
38
|
+
> **规则 (Rule)**:
|
|
39
|
+
> 所有的 `raw` 数据必须透传通过分类接口获取的原始对象。
|
|
40
|
+
|
|
41
|
+
| 字段名 | 类型 | 必填 | 说明 |
|
|
42
|
+
| :--- | :--- | :--- | :--- |
|
|
43
|
+
| `yixiaoerId` | `string` | **是** | 蚁小二分类 ID |
|
|
44
|
+
| `yixiaoerName` | `string` | **是** | 蚁小二分类名称 |
|
|
45
|
+
| `children` | `object[]` | 否 | 子级分类列表 (`CascadingPlatformDataItem[]`) |
|
|
46
|
+
| `raw` | `object` | **是** | 平台原始数据 (必须透传) |
|
|
47
|
+
|
|
48
|
+
## 3. JSON 示例
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"publishType": "video",
|
|
53
|
+
"platforms": ["企鹅号"],
|
|
54
|
+
"publishArgs": {
|
|
55
|
+
"accountForms": [
|
|
56
|
+
{
|
|
57
|
+
"platformAccountId": "acc_qh_001",
|
|
58
|
+
"video": {
|
|
59
|
+
"key": "v_key",
|
|
60
|
+
"size": 1024000,
|
|
61
|
+
"width": 1920,
|
|
62
|
+
"height": 1080,
|
|
63
|
+
"duration": 60
|
|
64
|
+
},
|
|
65
|
+
"contentPublishForm": {
|
|
66
|
+
"formType": "task",
|
|
67
|
+
"title": "企鹅号视频标题示例",
|
|
68
|
+
"description": "这是关于企鹅号内容的详细描述文字。",
|
|
69
|
+
"tags": ["综合", "生活"],
|
|
70
|
+
"category": [
|
|
71
|
+
{
|
|
72
|
+
"yixiaoerId": "cat_001",
|
|
73
|
+
"yixiaoerName": "生活",
|
|
74
|
+
"raw": { "id": "1", "name": "生活" }
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"declaration": 0,
|
|
78
|
+
"pubType": 1
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 相关接口
|
|
87
|
+
|
|
88
|
+
| 目标数据 | 对应 Action | 相关文档 |
|
|
89
|
+
| :--- | :--- | :--- |
|
|
90
|
+
| `video.key` | `upload` | [资源上传](../../upload-resource.md) |
|
|
91
|
+
| `category` | `category` | [获取发布分类](../../get-publish-categories.md) |
|