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

# API de subida de archivo por flujo

> - Sube archivos usando el formato multipart/form-data
- Soporta tanto nomenclatura con guion bajo como camelCase para los parámetros
- Adecuado para subir archivos locales directamente
- Los archivos expirarán después de 72 horas
- La cuota actual del usuario es limitada. Las subidas fallarán cuando se agote la cuota. Guarda localmente si necesitas almacenamiento persistente

**Nota:**
La URL base de la API de subida de archivos es `https://files-api.evolink.ai`



## OpenAPI

````yaml es/api-manual/file-series/upload-stream.json POST /api/v1/files/upload/stream
openapi: 3.1.0
info:
  title: Tipo de archivo
  description: Cargar archivos al servidor de archivos mediante multipart/form-data
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://files-api.evolink.ai
    description: Subida de archivo por flujo
security:
  - bearerAuth: []
tags:
  - name: URL de acceso al archivo
    description: Archivo subido exitosamente
paths:
  /api/v1/files/upload/stream:
    post:
      tags:
        - URL de acceso al archivo
      summary: API de subida de archivo por flujo
      description: >-
        - Sube archivos usando el formato multipart/form-data

        - Soporta tanto nomenclatura con guion bajo como camelCase para los
        parámetros

        - Adecuado para subir archivos locales directamente

        - Los archivos expirarán después de 72 horas

        - La cuota actual del usuario es limitada. Las subidas fallarán cuando
        se agote la cuota. Guarda localmente si necesitas almacenamiento
        persistente


        **Nota:**

        La URL base de la API de subida de archivos es
        `https://files-api.evolink.ai`
      operationId: uploadFileStream
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StreamUploadRequest'
            examples:
              stream_upload:
                summary: API de subida de archivo por flujo
                value:
                  file: '@/path/to/file.png'
      responses:
        '200':
          description: FileImageSource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadResponse'
components:
  schemas:
    StreamUploadRequest:
      type: object
      required:
        - file
      properties:
        file:
          type: string
          format: binary
          description: Documento de archivo
        upload_path:
          type: string
          description: >-
            Ruta de subida personalizada


            **Nota:**

            - Soporta nomenclatura con guion bajo: `upload_path`

            - Soporta nomenclatura camelCase: `uploadPath`

            - Si no se especifica, el sistema categorizará automáticamente según
            el tipo de archivo
          example: photos
        file_name:
          type: string
          description: >-
            Nombre de archivo personalizado


            **Nota:**

            - Soporta nomenclatura con guion bajo: `file_name`

            - Soporta nomenclatura camelCase: `fileName`

            - Si no se especifica, el sistema generará automáticamente un nombre
            de archivo único
          example: photo.png
    FileUploadResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Si la solicitud fue exitosa
          example: true
        code:
          type: integer
          description: Código de estado de respuesta
          example: 200
        msg:
          type: string
          description: Mensaje de respuesta
          example: FileImageSource
        data:
          $ref: '#/components/schemas/FileData'
    FileData:
      type: object
      properties:
        file_id:
          type: string
          description: Identificador único de archivo
          example: file_abc123
        file_name:
          type: string
          description: Nombre del archivo almacenado
          example: photo.png
        original_name:
          type: string
          description: Nombre de archivo original
          example: photo.png
        file_size:
          type: integer
          description: Ruta de almacenamiento del archivo
          example: 2048
        mime_type:
          type: string
          description: |-
            Tipo MIME del archivo

            **Tipos compatibles**:

            **Imagen**:
            - `image/jpeg`, `image/png`
            - Tamaño máximo por imagen: 10 MB

            **Audio**:
            - `audio/mp3`
            - Tamaño máximo por archivo: 10 MB
            - Duración recomendada: no más de 10 minutos

            **Video**:
            - `video/mp4`
            - Tamaño máximo por archivo: 50 MB
            - Duración recomendada: no más de 180 segundos

            **Documento**:
            - `application/pdf`
            - Tamaño máximo por archivo: 20 MB
          example: image/png
        upload_path:
          type: string
          description: APIs relacionadas con la subida de archivos
          example: photos
        file_url:
          type: string
          format: uri
          description: >-
            Datos binarios del archivo


            **Nota:**

            - Subir mediante formato form-data

            - El sistema identificará automáticamente el tipo de archivo

            - Máximo `1` imagen por solicitud

            - Actualmente solo se admite la subida de archivos en formatos:
            `image/jpeg`, `image/png`, `image/gif`, `image/webp`
          example: https://files.evolink.ai/photos/photo.png
        download_url:
          type: string
          format: uri
          description: Tiempo de expiración del archivo (formato ISO 8601)
          example: https://files.evolink.ai/api/v1/files/download/file_abc123
        upload_time:
          type: string
          format: date-time
          description: Hora de carga (formato ISO 8601)
          example: '2025-10-09T00:00:00+08:00'
        expires_at:
          type: string
          format: date-time
          description: Tamaño del archivo (bytes)
          example: '2025-10-12T00:00:00+08:00'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las APIs requieren autenticación Bearer Token##


        **Obtener API Key:**


        Visita la [Página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````