> ## 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.

# Generate Upload Signature

> Interface description: Generate a signed URL for direct transfer to object storage, and the upload path is automatically generated based on user and resource type. View [OSS upload usage tutorial](/en/use/oss-upload).



## OpenAPI

````yaml /openapi/en/aitoearn.openapi.json post /api/assets/uploadSign
openapi: 3.0.1
info:
  title: AiToEarn Open Platform API
  description: >-
    AiToEarn Open Platform API. You can switch between the China and
    international sites for testing. Business success is determined by whether
    the response body has code === 0.
  version: 1.0.0
  contact: {}
servers:
  - url: https://aitoearn.cn
    description: China site
  - url: https://aitoearn.ai
    description: International site
security: []
tags:
  - name: AI Services
  - name: AI Services/Video Generation
  - name: AI Services/Image Generation
  - name: Channel Management
  - name: Channel Management/Accounts
  - name: Channel Management/Publishing
  - name: Channel Management/Platforms
  - name: Channel Management/Works
  - name: Channel Management/Account Groups
  - name: Channel Management/Authorization
  - name: Asset Management
  - name: AI Services/Large Language Models
paths:
  /api/assets/uploadSign:
    post:
      tags:
        - Asset Management
      summary: Generate Upload Signature
      description: >-
        Interface description: Generate a signed URL for direct transfer to
        object storage, and the upload path is automatically generated based on
        user and resource type. View [OSS upload usage
        tutorial](/en/use/oss-upload).
      operationId: AssetsHttpController_createUploadSign
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  description: File name (with extension)
                type:
                  default: temp
                  description: Resource type
                  type: string
                  enum:
                    - aiImage
                    - aiVideo
                    - aiCard
                    - aiChatImage
                    - aideoOutput
                    - videoEdit
                    - dramaRecap
                    - styleTransfer
                    - imageEdit
                    - subtitle
                    - userMedia
                    - userFile
                    - publishMedia
                    - avatar
                    - agentSession
                    - videoThumbnail
                    - googlePlace
                    - brandLibrary
                    - temp
                size:
                  description: File size (bytes)
                  type: number
              required:
                - filename
            examples: {}
        required: true
      responses:
        '200':
          description: >-
            The request has been processed by the service. Business success is
            determined by whether the response body has code === 0.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/UploadResultVo'
                  code:
                    type: integer
                    description: >-
                      Business status code. 0 means success; non-zero means a
                      business error.
                  message:
                    type: string
                    description: Response message.
                  requestId:
                    type: string
                    description: Request ID.
                  timestamp:
                    type: integer
                    description: Error response timestamp in Unix milliseconds.
                required:
                  - code
                  - message
              examples:
                success:
                  summary: Success
                  value:
                    code: 0
                    message: Request succeeded
                    data:
                      id: string
                      path: string
                      url: string
                      uploadUrl: string
                      uploadFields: {}
                validationFailed10002:
                  summary: ValidationFailed (10002)
                  value:
                    code: 10002
                    message: Parameter validation failed
                    data: {}
                    timestamp: 1772099056662
                unauthorized401:
                  summary: Unauthenticated or invalid API Key
                  value:
                    code: 401
                    message: Unauthorized
                    data: {}
                    timestamp: 1772099056662
                assetTooLarge12752:
                  summary: AssetTooLarge (12752)
                  value:
                    code: 12752
                    message: Resources are too large
                    data: {}
                    timestamp: 1772099056662
      deprecated: false
      security:
        - apikey-header-X-Api-Key: []
components:
  schemas:
    UploadResultVo:
      type: object
      properties:
        id:
          type: string
          description: ID number
        path:
          type: string
          description: Resource path
        url:
          type: string
          description: Resource URL
        uploadUrl:
          type: string
          description: Upload URL
        uploadFields:
          type: object
          additionalProperties:
            type: string
          properties: {}
          description: Upload form
      required:
        - id
        - path
        - url
  securitySchemes:
    apikey-header-X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        Need to get API Key from AiToEarn. Click to go to ["API Key Obtaining
        Tutorial"](/en/use/api-key).

````