1. 素材管理
魔芋AI开发文档
  • API快速配置
    • CC-Switch快速配置(推荐)
    • Claude Code 与 Codex 安装配置
    • 智能体集成魔芋Skills
    • WorkBuddy 配置指南
    • TRAE Work 配置指南
    • AWS Quick Suite 配置指南
    • DeepSeek Harness (DSH) 配置指南
  • 魔芋SDK
    • SDK接口规范文档
    • SDK 完整示例
  • API文档
    • 文本接口
      • Anthropic 文本接口
      • 豆包文本接口
      • Gemini 文本接口
      • OpenAI 文本接口
      • 🖼️ DeepSeek-V4-Flash-Vision 视觉理解
      • 🖼️ GLM-5.3-Flash 多模态理解
      • rerank文本重排序 API 文档
    • 图片接口
      • 🎨 Doubao 图片接口
      • Seedream 图生图接口
      • Gemini 图片生成接口
      • GPT-Image-2 图片接口
      • MiniMax-Hailuo 图片接口
      • OpenAI 图片接口
      • Gemini 图生图调用示例
      • 即梦 & 生数异步图片接口
    • 视频接口
      • kling-v3-传入参考视频
      • 🎬 Kling-v3 系列视频接口
      • 豆包(Doubao)视频接口
      • Happy Horse 视频接口
      • 即梦视频接口
      • Kling 视频接口
      • Seedance 2.0 多图生视频调用示例
      • Sora 视频接口
      • Veo 视频生成 API 接口文档
      • MiniMax-H3 视频生成 API 文档
      • MiniMax-H3-Max 视频生成 API 文档
      • 🎬 Vidu 系列视频接口
      • wan万相 3.0 视频接口
      • Shuchuang 高清直出视频生成接口
      • 拍我AI PixVerse视频生成 API 文档
    • 语音接口
      • 🎙️ 豆包端到端实时语音接口
      • seed-audio-1.0语音合成 API 文档
      • MiniMax Speech API 文档
      • Mureka 音乐生成接口
  • API接口
    • 模型
      • 获取可用模型列表
    • 文本对话
      • OpenAI 对话补全
      • OpenAI Responses
      • Anthropic 消息接口
      • Gemini 内容生成
    • 图片生成
      • 图片编辑
      • 图片编辑 gpt-image
      • 图片生成
    • 视频生成
      • 提交视频生成任务
      • 查询视频生成任务
      • 按令牌获取视频任务列表
    • 素材库
      • 真人素材 API 接口文档(H5 人脸认证)
      • 创建素材 / 批量上传
      • 查询素材列表
      • 查询单个素材
      • 按批次查询素材
      • 更新素材名称
      • 删除素材
      • 获取素材库列表
      • 创建素材库
      • 删除素材库
      • 转移素材库
    • 素材管理
      • 素材管理 API 接口文档
      • 素材库自定义阿里云OSS教程
  • Seedance2文档
    • 豆包 Seedance 2.0 / 2.5 视频生成接口
    • 豆包 Seedance 2.5 草稿样片与正片 API 接口文档
    • 按令牌获取视频任务列表
    • 素材库 API 接口文档
  • 数据模型
    • ChatMessage
    • ChatCompletionRequest
    • ChatCompletionResponse
    • OpenAIUsage
    • ResponsesRequest
    • ResponsesResponse
    • AnthropicMessageRequest
    • AnthropicMessageResponse
    • GeminiPart
    • GeminiContent
    • GeminiGenerateContentRequest
    • GeminiGenerateContentResponse
    • ModelListResponse
    • ImageGenerationRequest
    • ImageGenerationResponse
    • SeedanceContentItem
    • SeedanceMetadata
    • VideoGenerationRequest
    • VideoTaskSubmitResponse
    • VideoTaskQueryResponse
    • VideoTaskListResponse
    • VideoTaskListItem
    • VideoAutoUploadRequest
    • VideoAutoUploadSubmitResponse
    • VideoFlatQueryResponse
    • AssetItem
    • CreateAssetRequest
    • CreateAssetResponse
    • ListAssetsRequest
    • ListAssetsResponse
    • GetAssetResponse
    • BatchGetAssetsResponse
    • AssetIdResponse
    • AssetGroupListResponse
    • ErrorResponse
  1. 素材管理

素材管理 API 接口文档

本文档描述素材管理模块对外暴露的 HTTP API。对应界面入口为 /console/material(素材管理)。

基础说明#

Base URL:https://www.moyu.cn(各接口完整路径见下文「接口与数据表对应总表」)
请求格式:Content-Type: application/json
令牌格式:{32位token}-{userId},其中 {userId} 为数字。访问令牌取个人设置里的 API 访问令牌(/console/setting)。
统一定义:
success:true 表示请求整体成功;false 表示失败。
失败时返回 {"success": false, "message": "原因"} 与对应 message。
data:成功时返回的具体数据对象,各接口字段见下文。

认证方式#

本模块接口使用两种认证,二者不可混用:
认证Header适用接口鉴权中间件
访问令牌Authorization: {token}-{userId}新建分组、上传素材、分页查询UserAuth

接口#

接口方法路径认证
新建分组POST/v1/material/groups访问令牌
上传素材POST/v1/material/items/upload访问令牌
分页查询素材POST/v1/material/items/list访问令牌
获取分组POST/v1/material/groups访问令牌

接口 1:新建分组#

在素材管理中新建一个素材分组。

请求路径#

POST /v1/material/groups

认证头#

Authorization: {token}-{userId}

请求参数#

参数类型必填默认值说明
namestring是-分组名称
Body 示例:
{
  "name": "API测试分组"
}

响应#

成功(200)
{
  "success": true,
  "data": {
    "id": 12,
    "name": "API测试分组",
    "user_id": 326,
    "is_default": false,
    "created_at": "2026-09-09 10:30:00",
    "updated_at": "2026-09-09 10:30:00"
  }
}
字段释义:
字段说明
id分组 ID(自增主键)
name分组名称
user_id所属用户 ID(即令牌后缀userId)
is_default是否默认分组(外部新建恒为false)
created_at创建时间
updated_at更新时间
失败
HTTP场景响应
400name 为空{"success": false, "message": "分组名称不能为空"}

接口 2:获取分组#

在素材管理中新建一个素材分组。

请求路径#

GET /v1/material/groups

认证头#

Authorization: {token}-{userId}

响应#

成功(200)
{
    "data": [
        {
            "id": 1,
            "user_id": 1,
            "name": "我的素材",
            "is_default": true,
            "created_at": 1783475596,
            "item_count": 13
        },
        {
            "id": 15,
            "user_id": 1,
            "name": "API测试分组",
            "is_default": false,
            "created_at": 1788947593,
            "item_count": 3
        }      
    ],
    "success": true
}
字段释义:
字段说明
id分组 ID(自增主键)
name分组名称
user_id所属用户 ID(即令牌后缀userId)
is_default是否默认分组(外部新建恒为false)
created_at创建时间
item_count分组素材数量

接口 3:上传素材到分组#

通过素材内容将素材上传至指定分组,素材内容支持两种传入方式:在线 URL 或 base64 编码内容(含图片 base64)。

请求路径#

POST /v1/material/items/upload

认证头#

默认:Authorization: {token}-{userId}
auto_asset=true:额外需 X-Token: Bearer sk-xxx

请求参数#

参数类型必填默认值说明
group_idint是-目标分组 ID
urlstring是-素材内容。支持在线 URL(http/https 直链)或 base64 内容:data:image/png;base64,xxxx(data URI)或纯 base64 字符串
namestring否空素材名称;不传则从来源自动提取
url 参数说明:
在线 URL:https://example.com/exa.png,服务端下载文件后入库。
base64 内容(图片):推荐用 data URI 形式 data:image/png;base64,iVBORw0KGgo...,因带 MIME,服务端可准确识别类型与扩展名。
纯 base64 字符串(无 MIME 前缀):服务端无法判断媒体类型,目前仅接受带 data: 前缀的 URI 形式;纯 base64 会因无法识别类型被拒绝(返回「不支持的文件类型」)。如需上传图片请使用 data URI 形式。
Body 示例(在线 URL):
{
  "group_id": 12,
  "url": "https://example.com/exa.png",
  "name": "示例图片",
  "auto_asset": false
}
Body 示例(base64 图片,data URI):
{
  "group_id": 12,
  "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==",
  "name": "示例图片"
}

响应#

成功(200)
{
  "success": true,
  "data": {
    "id": 88,
    "name": "示例图片",
    "group_id": 12,
    "url": "https://moyu-sass.oss-cn-beijing.aliyuncs.com/exa/11c8b1f.png",
    "file_type": "image",
    "created_at": "2026-09-09 10:30:00",
    "updated_at": "2026-09-09 10:30:00"
  }
}
字段释义:
字段说明
id素材 ID(自增主键)
name素材名称
group_id所属分组 ID
url素材文件 URL
file_type素材类型(audio / video / image)
created_at创建时间
updated_at更新时间

接口 4:分页查询素材#

按分组、名称分页查询当前用户的素材列表。

请求路径#

POST /v1/material/items/list

认证头#

Authorization: {token}-{userId}

请求参数#

参数类型必填默认值说明
group_idint否0按分组过滤;不传或为 0 表示所有分组
namestring否空按名称模糊搜索(LIKE %name%)
page_numberint否1页码,从 1 开始;小于 1 按 1 处理
page_sizeint否20每页条数;大于 100 截断为 100
Body 示例:
{
  "group_id": 12,
  "page_number": 1,
  "page_size": 20
}

响应#

成功(200)
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 88,
        "name": "示例图片",
        "group_id": 12,
        "url": "https://moyu-sass.oss-cn-beijing.aliyuncs.com/exa/11c8b1f.png",
        "file_type": "image",
        "created_at": "2026-09-09 10:30:00",
        "updated_at": "2026-09-09 10:30:00"
      }
    ],
    "total_count": 1,
    "page_number": 1,
    "page_size": 20
  }
}
字段释义:
字段说明
items当前页素材列表
items[].id素材 ID
items[].name素材名称
items[].group_id所属分组 ID
items[].url素材文件 URL
items[].file_type素材类型
items[].volc_channel_count该素材关联的活跃火山渠道数
items[].upstream_url该素材的活跃 upstream 地址;无则为空
items[].created_at创建时间
items[].updated_at更新时间
total_count符合条件的总条数
page_number当前页码
page_size当前页大小

完整调用链路#

链路 A:新建分组 → 上传素材#

POST /v1/material/groups
  Authorization: {token}-{userId}
  {"name": "API测试分组"}
  → 写入 → data.id = 12

POST /v1/material/items/upload
  Authorization: {token}-{userId}
  X-Token: Bearer sk-xxx
  {"group_id": 12, "url": "https://example.com/exa.png", "name": "示例图片"}

链路 B:base64 图片上传#

POST /v1/material/items/upload
  Authorization: {token}-{userId}
  {"group_id": 12, "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==", "name": "测试图片"}
  → 解码 base64 → 识别为 image/png → 写入 → data.id = 91, file_type = "image"

链路 C:分页查询#

POST /v1/material/items/list
  Authorization: {token}-{userId}
  {"group_id": 12, "page_number": 1, "page_size": 20}

HTTP 状态码汇总#

状态码场景
200请求成功
400参数缺失/非法(缺url、缺 name、分页参数越界处理等)
401认证失败(令牌无效)
403权限不足(无权访问分组、令牌分组不在白名单)
404素材不存在
500服务器内部错误(下载素材失败等)
修改于 2026-09-10 03:24:23
上一页
转移素材库
下一页
素材库自定义阿里云OSS教程
Built with