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

# URL File Upload

> - Upload by providing a remote file URL
- System will automatically download and store the remote file
- Suitable for migrating files from other servers
- Files will expire after 72 hours
- Current user quota is limited. Uploads will fail when quota is exhausted. Please save locally if persistent storage is needed

**Note:**
The file upload API base URL is`https://files-api.evolink.ai`



## OpenAPI

````yaml /en/api-manual/file-series/upload-url.json POST /api/v1/files/upload/url
openapi: 3.1.0
info:
  title: URL File Upload API
  description: Download and upload files to the file server via remote URL
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://files-api.evolink.ai
    description: File Service Environment
security:
  - bearerAuth: []
tags:
  - name: File Upload
    description: File upload related APIs
paths:
  /api/v1/files/upload/url:
    post:
      tags:
        - File Upload
      summary: URL File Upload
      description: >-
        - Upload by providing a remote file URL

        - System will automatically download and store the remote file

        - Suitable for migrating files from other servers

        - Files will expire after 72 hours

        - Current user quota is limited. Uploads will fail when quota is
        exhausted. Please save locally if persistent storage is needed


        **Note:**

        The file upload API base URL is`https://files-api.evolink.ai`
      operationId: uploadFileUrl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UrlUploadRequest'
            examples:
              url_upload:
                summary: URL File Upload
                value:
                  file_url: https://example.com/image.jpg
      responses:
        '200':
          description: File uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadResponse'
components:
  schemas:
    UrlUploadRequest:
      type: object
      required:
        - file_url
      properties:
        file_url:
          type: string
          format: uri
          description: >-
            Remote file URL


            **Requirements:**

            - Must be a publicly accessible URL

            - Supports HTTP and HTTPS protocols

            - System will automatically download the file content from this URL

            - Maximum `1` image per request

            - Currently supports uploading files in: `image/jpeg`, `image/png`,
            `image/gif`, `image/webp` formats only
          example: https://example.com/image.jpg
        upload_path:
          type: string
          description: >-
            Custom upload path


            **Note:**

            - If not specified, system will automatically categorize based on
            file type
          example: downloads
        file_name:
          type: string
          description: >-
            Custom file name


            **Note:**

            - If not specified, system will automatically generate a unique file
            name
          example: downloaded.jpg
    FileUploadResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the request was successful
          example: true
        code:
          type: integer
          description: Response status code
          example: 200
        msg:
          type: string
          description: Response message
          example: File uploaded successfully
        data:
          $ref: '#/components/schemas/FileData'
    FileData:
      type: object
      properties:
        file_id:
          type: string
          description: Unique file identifier
          example: file_abc123
        file_name:
          type: string
          description: Stored file name
          example: downloaded.jpg
        original_name:
          type: string
          description: Original file name
          example: downloaded.jpg
        file_size:
          type: integer
          description: File size (bytes)
          example: 2048
        mime_type:
          type: string
          description: File MIME type
          example: image/jpeg
        upload_path:
          type: string
          description: File storage path
          example: downloads
        file_url:
          type: string
          format: uri
          description: File access URL
          example: https://files.evolink.ai/downloads/downloaded.jpg
        download_url:
          type: string
          format: uri
          description: File download URL
          example: https://files.evolink.ai/api/v1/files/download/file_abc123
        upload_time:
          type: string
          format: date-time
          description: Upload time (ISO 8601 format)
          example: '2025-10-09T00:00:00+08:00'
        expires_at:
          type: string
          format: date-time
          description: File expiration time (ISO 8601 format)
          example: '2025-10-12T00:00:00+08:00'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##All APIs require Bearer Token authentication##


        **Get API Key:**


        Visit [API Key Management Page](https://evolink.ai/dashboard/keys) to
        get your API Key


        **Add to request header:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````