Documentation Index
Fetch the complete documentation index at: https://docs.dify.ai/llms.txt Use this file to discover all available pages before exploring further.
上传文件用于发送消息时使用,支持图片、文档、音频和视频的多模态理解。上传的文件仅供当前终端用户使用。
openapi: 3.0.1
info:
title: 文本生成型应用 API
description: 文本生成型应用提供无会话支持,适用于翻译、文章撰写、摘要总结 AI 等场景。
version: 1.0.0
servers:
- url: https://{api_base_url}
description: 文本生成型应用 API 的基础 URL。自托管部署时,替换为你的 API 基础 URL。
variables:
api_base_url:
default: api.dify.ai/v1
description: API 基础 URL 的主机与路径,不含 `https://` 前缀。
security:
- ApiKeyAuth: []
tags:
- name: 文本生成
description: 文本生成相关操作。
- name: 文件操作
description: 文件管理相关操作。
- name: 终端用户
description: 终端用户信息相关操作。
- name: 消息反馈
description: 用户反馈相关操作。
- name: 语音与文字转换
description: 语音转文字和文字转语音相关操作。
- name: 应用配置
description: 获取应用设置和信息的操作。
paths:
/files/upload:
post:
tags:
- 文件操作
summary: 上传文件
description: 上传文件用于发送消息时使用,支持图片、文档、音频和视频的多模态理解。上传的文件仅供当前终端用户使用。
operationId: uploadFile
requestBody:
description: 文件上传请求。需要 multipart/form-data 格式。
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
- user
properties:
file:
type: string
format: binary
description: 要上传的文件。支持的类型包括图片、文档、音频和视频。
user:
type: string
description: >-
用户标识符,由开发者定义的规则生成,必须在应用内唯一。Service API 与 WebApp 的用户 ID
相互独立,即使取值相同也不指向同一用户。
responses:
'201':
description: 文件上传成功。
content:
application/json:
schema:
$ref: '#/components/schemas/FileUploadResponse'
examples:
uploadSuccess:
summary: 响应示例
value:
id: a1b2c3d4-5678-90ab-cdef-1234567890ab
name: product-photo.png
size: 204800
extension: png
mime_type: image/png
created_by: f1e2d3c4-b5a6-7890-abcd-ef1234567890
created_at: 1705407629
preview_url: null
source_url: null
original_url: null
user_id: f1e2d3c4-b5a6-7890-abcd-ef1234567890
tenant_id: 11223344-5566-7788-99aa-bbccddeeff00
conversation_id: null
file_key: uploads/product-photo.png
'400':
description: |-
- `no_file_uploaded` : 请求中未提供文件。
- `too_many_files` : 每次请求仅允许上传一个文件。
- `filename_not_exists_error` : 上传的文件没有文件名。
content:
application/json:
examples:
no_file_uploaded:
summary: no_file_uploaded
value:
status: 400
code: no_file_uploaded
message: Please upload your file.
too_many_files:
summary: too_many_files
value:
status: 400
code: too_many_files
message: Only one file is allowed.
filename_not_exists_error:
summary: filename_not_exists_error
value:
status: 400
code: filename_not_exists_error
message: The specified filename does not exist.
'413':
description: '`file_too_large` : 文件大小超出限制。'
content:
application/json:
examples:
file_too_large:
summary: file_too_large
value:
status: 413
code: file_too_large
message: File size exceeded.
'415':
description: '`unsupported_file_type` : 不允许的文件类型。'
content:
application/json:
examples:
unsupported_file_type:
summary: unsupported_file_type
value:
status: 415
code: unsupported_file_type
message: File type not allowed.
components:
schemas:
FileUploadResponse:
type: object
properties:
id:
type: string
format: uuid
description: 唯一文件 ID。
name:
type: string
description: 文件名。
size:
type: integer
description: 文件大小(字节)。
extension:
type: string
nullable: true
description: 文件扩展名。
mime_type:
type: string
nullable: true
description: 文件的 MIME 类型。
created_by:
type: string
format: uuid
nullable: true
description: 上传文件的用户 ID。
created_at:
type: integer
format: int64
description: 上传时间戳(Unix 纪元秒)。
preview_url:
type: string
nullable: true
description: 文件的预览 URL。
source_url:
type: string
nullable: true
description: 文件的源 URL。
original_url:
type: string
nullable: true
description: 文件的原始 URL。
user_id:
type: string
format: uuid
nullable: true
description: 关联的用户 ID。
tenant_id:
type: string
format: uuid
nullable: true
description: 关联的租户 ID。
conversation_id:
type: string
format: uuid
nullable: true
description: 关联的会话 ID。
file_key:
type: string
nullable: true
description: 文件的存储键。
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer
bearerFormat: API_KEY
description: >-
API Key 认证。对于所有 API 请求,请在 `Authorization` HTTP 头中包含您的 API Key,并加上
`Bearer ` 前缀。示例:`Authorization: Bearer {API_KEY}`。**强烈建议将 API Key
存储在服务端,不要在客户端共享或存储,以避免 API Key 泄漏导致严重后果。**