Skip to Content

风采资产服务

fengcai-asset-service 为已授权应用提供风采资产的写入、查询、读取和下载能力。

能力信息

字段
能力 Keyfengcai-asset-service
能力名称风采资产服务
能力类型fengcai_asset_service
分类FunClaw通用能力
开放状态可通过统一开放能力执行入口调用

授权动作

管理员向应用授权 fengcai-asset-service 后,后端会展开到asset.writeasset.queryasset.readasset.download 四个动作。外部应用调用接口时不需要传入这些动作 key。

资产类型

  • TEXT:文本内容写入平台资产账本。
  • IMAGEAUDIOVIDEODOCUMENT: 支持通过外部 URL 写入,也支持通过 multipart/form-data 上传原始文件;平台写入对象存储后保存资产指针。

接口

POST /api/open/v1/capabilities/application-asset-service/assetsPOST /api/open/v1/capabilities/application-asset-service/assets multipart/form-dataGET /api/open/v1/capabilities/application-asset-service/assetsGET /api/open/v1/capabilities/application-asset-service/assets/{assetId}GET /api/open/v1/capabilities/application-asset-service/assets/{assetId}/downloadAuthorization: Bearer <sk-funclaw-api-key>

写入文本资产

{ "type": "TEXT", "title": "会议纪要", "text": "这里是正文", "mimeType": "text/plain", "metadata": { "source": "external-app" }}

写入图片资产

{ "type": "IMAGE", "title": "封面图", "url": "https://example.com/cover.png", "fileName": "cover.png", "mimeType": "image/png", "metadata": { "scene": "campaign-cover" }}

写入音频资产

{ "type": "AUDIO", "title": "访谈音频", "url": "https://example.com/voice.mp3", "fileName": "voice.mp3", "mimeType": "audio/mpeg", "metadata": { "durationSeconds": 180 }}

写入视频资产

{ "type": "VIDEO", "title": "活动片段", "url": "https://example.com/clip.mp4", "fileName": "clip.mp4", "mimeType": "video/mp4", "metadata": { "scene": "event-highlight" }}

写入文档资产

{ "type": "DOCUMENT", "title": "项目报告", "url": "https://example.com/report.pdf", "fileName": "report.pdf", "mimeType": "application/pdf", "metadata": { "department": "operations" }}

上传原始文件资产

curl -X POST "https://api.example.com/api/open/v1/capabilities/application-asset-service/assets" \ -H "Authorization: Bearer <sk-funclaw-api-key>" \ -F "type=IMAGE" \ -F "title=封面图" \ -F "file=@./cover.png;type=image/png" \ -F "metadata={\"scene\":\"campaign-cover\"}"

响应示例

{ "assetId": "cccccccc-cccc-cccc-cccc-cccccccccccc", "orgId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "applicationId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", "type": "IMAGE", "title": "封面图", "mimeType": "image/png", "fileName": "cover.png", "fileSize": 12048, "status": "READY", "metadata": { "scene": "campaign-cover" }, "createdAt": "2026-06-11T08:00:00Z", "updatedAt": "2026-06-11T08:00:00Z"}

查询和读取

写入成功后,响应里的 assetId 是后续读取、下载和交接资产的主标识。 已知 assetId 时,调用 GET /assets/{assetId} 读取详情; 文件型资产需要内容时,调用 GET /assets/{assetId}/download

如果不知道 assetId,调用 GET /assets 查询当前 API Key 资源域内的资产列表。 常用过滤参数包括 typestatuskeywordmimeTypesourceCapabilityKeymetadataEqualsmetadataEquals 使用 JSON 对象字符串,只做顶层字段等值匹配。

数据边界

API Key 绑定的主体用于授权和调用来源校验;资产查询、读取和下载按当前授权上下文的资源域隔离。 外部数字员工 Key 只能看到该外部数字员工身份写入的资产。调用方不能通过请求体里的applicationIdcapabilityKey、metadata 或来源字段改变资产空间。