# 生成头像上传签名

标准 URL： https://sosoapi.ai/zh-hans/docs/mcp/sign-avatar-upload

`sosoapi_sign_avatar_upload`

为已登录用户获取上传新头像的签署 URL（需要 filename 及 content_type）。此操作本身不会变更个人资料。

## 配置与传输方式

配置：full

传输方式：stdio、http

选择 core 或 full 以控制客户端显示的工具；这不会变更权限。本地文件上传需要 stdio，无法通过 HTTP 使用。设置 SOSOAPI_OUTPUT_SCHEMAS=1 可在探索结果加入输出schema。无论是否启用此设置，工具皆会返回结构化结果。

## 权限与副作用

注解帮助客户端描述工具。每次调用仍会检查用户身份验证、角色、资源访问和能力授权。

```json
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}
```

`/identity-api/user/profile/sign-avatar-url` — agent:operate；synchronous_http_response

## 输入字段

```json
{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "content_type": {
      "type": "string",
      "pattern": "^image\\/(png|jpeg|jpg|gif|webp)$"
    },
    "byte_size": {
      "description": "Exact avatar size in bytes (max 5 MiB); signed into the upload URL",
      "type": "integer",
      "minimum": 1,
      "maximum": 5242880
    }
  },
  "required": [
    "filename",
    "content_type"
  ],
  "additionalProperties": false
}
```

## 结构化输出

此 schema 描述成功工具结果中的 structuredContent。MCP 响应也包含 content，并可能在调用失败时设置 isError。对于发布，请读取帖子的最终结果，不要把获接受的请求或文字响应当作确认。链接的 API 操作说明了权限和重试规则。

```json
{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "const": "sign-avatar-url"
    },
    "path": {
      "type": "string"
    },
    "signed_url": {
      "type": "string",
      "format": "uri"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "action",
    "path",
    "signed_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## 工具调用示例

这些示例使用已依schema检查的虚构值。请将 ID 替换为你有权使用的 ID、将媒体替换为已就绪素材，并将日期替换为已确认的发布时间。提交写入前，请检查账号资格。本页不会发送 API 请求。

```json
{
  "name": "sosoapi_sign_avatar_upload",
  "arguments": {
    "filename": "example.png",
    "content_type": "image/png"
  }
}
```

structuredContent

```json
{
  "action": "sign-avatar-url",
  "path": "example",
  "signed_url": "https://example.com/media.png"
}
```

## 底层 API 操作

- [/identity-api/user/profile/sign-avatar-url](https://sosoapi.ai/zh-hans/docs/api/identity-api-user-profile-sign-avatar-url)
