> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aitoearn.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 确认资源上传

> 接口说明：客户端直传对象存储完成后回调确认，记录资源最终状态与访问路径。



## OpenAPI

````yaml /openapi/zh/aitoearn.openapi.json post /api/assets/{id}/confirm
openapi: 3.0.1
info:
  title: AiToEarn 开放平台 API
  description: AiToEarn 开放平台 API，支持在中国站与国际站之间切换调试。业务是否成功以响应体 code === 0 为准。
  version: 1.0.0
  contact: {}
servers:
  - url: https://aitoearn.cn
    description: 中国站
  - url: https://aitoearn.ai
    description: 国际站
security: []
tags:
  - name: AI 服务
  - name: AI 服务/视频生成
  - name: AI 服务/图像生成
  - name: AI 服务/模型中转
  - name: 渠道管理
  - name: 渠道管理/账号
  - name: 渠道管理/内容发布
  - name: 渠道管理/平台
  - name: 渠道管理/互动
  - name: 渠道管理/作品
  - name: 渠道管理/账号分组
  - name: 渠道管理/授权
  - name: 资源管理
paths:
  /api/assets/{id}/confirm:
    post:
      tags:
        - 资源管理
      summary: 确认资源上传
      description: 接口说明：客户端直传对象存储完成后回调确认，记录资源最终状态与访问路径。
      operationId: AssetsHttpController_confirmUpload
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          example: ''
          schema:
            type: string
      responses:
        '200':
          description: 请求已被服务处理。业务是否成功以响应体 code === 0 为准。
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AssetVo'
                  code:
                    type: integer
                    description: 业务状态码。0 表示成功，非 0 表示业务错误。
                  message:
                    type: string
                    description: 响应消息。
                  requestId:
                    type: string
                    description: 请求 ID。
                  timestamp:
                    type: integer
                    description: 错误响应时间戳，Unix 毫秒。
                required:
                  - code
                  - message
              examples:
                success:
                  summary: 成功
                  value:
                    code: 0
                    message: 请求成功
                    data:
                      id: string
                      userId: string
                      userType: user
                      path: string
                      type: aiImage
                      status: pending
                      mimeType: string
                      createdAt: '2026-07-02T12:00:00.000Z'
                      updatedAt: '2026-07-02T12:00:00.000Z'
                      url: string
                      size: 1
                      filename: string
                validationFailed10002:
                  summary: ValidationFailed (10002)
                  value:
                    code: 10002
                    message: 参数验证失败
                    data: {}
                    timestamp: 1772099056662
                unauthorized401:
                  summary: 未认证或 API Key 无效
                  value:
                    code: 401
                    message: Unauthorized
                    data: {}
                    timestamp: 1772099056662
                assetNotFound12750:
                  summary: AssetNotFound (12750)
                  value:
                    code: 12750
                    message: 资源未找到
                    data: {}
                    timestamp: 1772099056662
                assetTooLarge12752:
                  summary: AssetTooLarge (12752)
                  value:
                    code: 12752
                    message: 资源过大
                    data: {}
                    timestamp: 1772099056662
                assetUploadFailed12751:
                  summary: AssetUploadFailed (12751)
                  value:
                    code: 12751
                    message: 资源上传失败
                    data: {}
                    timestamp: 1772099056662
      deprecated: false
      security:
        - apikey-header-X-Api-Key: []
components:
  schemas:
    AssetVo:
      type: object
      properties:
        id:
          type: string
          description: 唯一标识
        userId:
          type: string
          description: 用户 ID
        userType:
          type: string
          enum:
            - user
            - admin
            - system
          description: 用户类型
        path:
          type: string
          description: 资源存储路径
        url:
          type: string
          description: 资源 URL
        type:
          type: string
          enum:
            - aiImage
            - aiVideo
            - aiCard
            - aiChatImage
            - aideoOutput
            - videoEdit
            - dramaRecap
            - styleTransfer
            - imageEdit
            - subtitle
            - userMedia
            - userFile
            - publishMedia
            - avatar
            - agentSession
            - videoThumbnail
            - googlePlace
            - brandLibrary
            - temp
          description: 类型标识
        status:
          type: string
          enum:
            - pending
            - uploaded
            - confirmed
            - failed
          description: 业务状态
        size:
          type: number
          description: 资源大小
        mimeType:
          type: string
          description: 媒体类型
        filename:
          type: string
          description: 文件名
        metadata:
          anyOf:
            - type: object
              properties:
                width:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 宽度
                height:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 高度
              required:
                - width
                - height
            - type: object
              properties:
                width:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 宽度
                height:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 高度
                duration:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 时长
                cover:
                  type: string
                  description: 封面
                bitrate:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 比特率
                frameRate:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 帧率
            - type: object
              properties:
                duration:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 时长
                bitrate:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 比特率
                sampleRate:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 采样率
                channels:
                  type: number
                  exclusiveMinimum: true
                  minimum: 0
                  description: 声道数
              required:
                - duration
          description: 扩展元数据
        createdAt:
          type: string
          format: date-time
          description: 创建时间
        updatedAt:
          type: string
          format: date-time
          description: 更新时间
      required:
        - id
        - userId
        - userType
        - path
        - type
        - status
        - mimeType
        - createdAt
        - updatedAt
  securitySchemes:
    apikey-header-X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: AiToEarn Open Platform API Key。

````