文件端点
使用 /files
端点在您的本地机器和 Langflow 之间传输文件。
/v1/files
和 /v2/files
之间的区别
有两个版本的 /files
端点。
/v2/files
相比 /v1/files
提供了以下改进:
/v2
文件按user_id
而不是flow_id
组织。 这意味着文件由用户拥有,不附加到特定流程。 您可以向 Langflow 上传一次文件,并在多个流程中使用它。/v2
文件在 Langflow 数据库中进行跟踪。/v2
支持批量上传和删除。/v2
响应包含更详细的元数据。
但是,/v2/files
不支持图像文件。
要通过 API 向您的流程发送图像文件,请使用 上传图像文件 (v1)。
Files/V1 端点
使用 /files
端点在您的本地机器和 Langflow 之间传输文件。
上传文件 (v1)
将文件上传到 v1/files/upload/$FLOW_ID
端点:
将 FILE_NAME 替换为上传的文件名。
_10curl -X POST \_10 "$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \_10 -H "accept: application/json" \_10 -H "Content-Type: multipart/form-data" \_10 -H "x-api-key: $LANGFLOW_API_KEY" \_10 -F "file=@FILE_NAME.txt"
将 FILE_NAME.txt
替换为您要上传的文件的名称和扩展名。
并非所有文件类型都受支持。
结果
_10{_10 "flowId": "92f9a4c5-cfc8-4656-ae63-1f0881163c28",_10 "file_path": "92f9a4c5-cfc8-4656-ae63-1f0881163c28/2024-12-30_15-19-43_your_file.txt"_10}
上传图像文件 (v1)
将图像文件发送到 Langflow 以在流程中使用它们。
默认文件限制为 100 MB。
要更改此限制,请设置 LANGFLOW_MAX_FILE_SIZE_UPLOAD
环境变量。
-
使用
--form
(-F
) 和文件路径将图像附加到POST /v1/files/upload/$FLOW_ID
请求:_10curl -X POST "$LANGFLOW_URL/api/v1/files/upload/$FLOW_ID" \_10-H "Content-Type: multipart/form-data" \_10-H "x-api-key: $LANGFLOW_API_KEY" \_10-F "file=@PATH/TO/FILE.png"成功的请求返回 Langflow 文件管理系统中图像的
file_path
,格式为FLOW_ID/TIMESTAMP_FILENAME.TYPE
。 例如:_10{_10"flowId": "a430cc57-06bb-4c11-be39-d3d4de68d2c4",_10"file_path": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png"_10} -
使用返回的
file_path
将图像文件发送到可以接受文件输入的其他组件。指定文件路径的位置取决于组件类型。以下示例运行 基础提示流程,将图像文件和查询
describe this image
作为 Chat Input 组件的输入。 在这种情况下,文件路径在tweaks
中指定。_14curl -X POST \_14"$LANGFLOW_URL/api/v1/run/a430cc57-06bb-4c11-be39-d3d4de68d2c4?stream=false" \_14-H "Content-Type: application/json" \_14-H "x-api-key: $LANGFLOW_API_KEY" \_14-d '{_14"output_type": "chat",_14"input_type": "chat",_14"tweaks": {_14"ChatInput-b67sL": {_14"files": "a430cc57-06bb-4c11-be39-d3d4de68d2c4/2024-11-27_14-47-50_image-file.png",_14"input_value": "describe this image"_14}_14}_14}'提示有关调整的帮助,请使用流程的 API 访问 面板 中的 输入架构。 使用 输入架构 设置调整还会自动填充所需的组件 ID。
列出文件 (v1)
列出与特定流程关联的所有文件。
_10curl -X GET \_10 "$LANGFLOW_URL/api/v1/files/list/$FLOW_ID" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "files": ["2024-12-30_15-19-43_your_file.txt"]_10}
下载文件 (v1)
从流程中下载特定文件。
_10curl -X GET \_10 "$LANGFLOW_URL/api/v1/files/download/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY" \_10 --output downloaded_file.txt
结果
_10文件内容已下载到 downloaded_file.txt
删除文件 (v1)
从流程中删除特定文件。
_10curl -X DELETE \_10 "$LANGFLOW_URL/api/v1/files/delete/$FLOW_ID/2024-12-30_15-19-43_your_file.txt" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "message": "文件 2024-12-30_15-19-43_your_file.txt 已成功删除"_10}
Files/V2 端点
使用 /files
端点在您的本地机器和 Langflow 之间传输文件。
/v2/files
端点可以通过 API 密钥或 JWT 进行身份验证。
要创建 Langflow API 密钥并将其导出为环境变量,请参阅 Langflow API 入门。
上传文件 (v2)
将文件上传到您的用户账户。该文件可以在多个流程中使用。
文件以 USER_ID/FILE_ID.FILE_EXTENSION
格式上传,例如 07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf
。
-
要检索您当前的
user_id
,请调用/whoami
端点:_10curl -X GET \_10"$LANGFLOW_URL/api/v1/users/whoami" \_10-H "accept: application/json" \_10-H "x-api-key: $LANGFLOW_API_KEY"结果
_10{"id":"07e5b864-e367-4f52-b647-a48035ae7e5e","username":"langflow","profile_image":null,"store_api_key":null,"is_active":true,"is_superuser":true,"create_at":"2025-05-08T17:59:07.855965","updated_at":"2025-05-28T19:00:42.556460","last_login_at":"2025-05-28T19:00:42.554338","optins":{"github_starred":false,"dialog_dismissed":true,"discord_clicked":false,"mcp_dialog_dismissed":true}} -
在对
v2/files
的 POST 请求中,将 @FILE_NAME.EXTENSION 替换为上传的文件名及其扩展名。 您必须在请求中包含 @ 符号 (@
) 以指示 curl 上传文件内容,而不是字符串FILE_NAME.EXTENSION
。_10curl -X POST \_10"$LANGFLOW_URL/api/v2/files" \_10-H "accept: application/json" \_10-H "Content-Type: multipart/form-data" \_10-H "x-api-key: $LANGFLOW_API_KEY" \_10-F "file=@FILE_NAME.EXTENSION"文件以
USER_ID/FILE_ID.FILE_EXTENSION
格式上传,API 返回上传文件的元数据:_10{_10"id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94",_10"name":"engine_manual",_10"path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf",_10"size":851160,_10"provider":null_10}
将文件发送到您的流程 (v2)
/v2/files
端点不支持向流程发送 图像 文件。
要通过 API 向您的流程发送 图像 文件,请按照 上传图像文件 (v1) 中的过程进行。
使用 File 组件和 API 将文件发送到您的流程进行分析。 您的流程必须包含 File 组件来接收文件。
默认文件限制为 100 MB。要配置此值,请更改 LANGFLOW_MAX_FILE_SIZE_UPLOAD
环境变量。
有关更多信息,请参阅 支持的环境变量。
-
要使用 API 将文件发送到您的流程,请将文件 POST 到
/api/v2/files
端点。将 FILE_NAME.EXTENSION 替换为您要上传的文件的名称和扩展名。 这与 上传文件 (v2) 中描述的步骤相同,但由于您需要文件名来上传到流程,因此在此处包含。
_10curl -X POST \_10"$LANGFLOW_URL/api/v2/files" \_10-H "accept: application/json" \_10-H "Content-Type: multipart/form-data" \_10-H "x-api-key: $LANGFLOW_API_KEY" \_10-F "file=@FILE_NAME.EXTENSION"文件以
USER_ID/FILE_ID.FILE_EXTENSION
格式上传,API 返回上传文件的元数据:_10{_10"id":"d44dc2e1-9ae9-4cf6-9114-8d34a6126c94",_10"name":"engine_manual",_10"path":"07e5b864-e367-4f52-b647-a48035ae7e5e/d44dc2e1-9ae9-4cf6-9114-8d34a6126c94.pdf",_10"size":851160,_10"provider": null_10} -
要在流程中使用此文件,请添加 File 组件将文件加载到流程中。
-
要将文件加载到流程中,请将其发送到 File 组件。
要检索附加了 UUID 的 File 组件的完整名称,请调用 读取流程 端点,然后在
/v1/run
POST 请求中将您的 File 组件和文件路径作为调整包含。 在此示例中,上传到/v2/files
的文件包含在/v1/run
POST 请求中。_16curl --request POST \_16--url "$LANGFLOW_URL/api/v1/run/$FLOW_ID" \_16--header "Content-Type: application/json" \_16--header "x-api-key: $LANGFLOW_API_KEY" \_16--data '{_16"input_value": "what do you see?",_16"output_type": "chat",_16"input_type": "text",_16"tweaks": {_16"File-1olS3": {_16"path": [_16"07e5b864-e367-4f52-b647-a48035ae7e5e/3a290013-fe1e-4d3d-a454-cacae81288f3.pdf"_16]_16}_16}_16}'结果
_10"text":"本文档提供有关选择、安装和操作 Briggs & Stratton 发动机的重要安全信息和说明。它包括防止伤害、火灾或损坏的警告和指导,例如选择正确的发动机型号、正确的安装程序、安全的燃料处理和正确的发动机操作。该文档强调遵循所有安全预防措施并使用授权零件以确保安全有效的发动机使用。"
列出文件 (v2)
列出与您的用户账户关联的所有文件。
_10curl -X GET \_10 "$LANGFLOW_URL/api/v2/files" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10[_10 {_10 "id": "c7b22c4c-d5e0-4ec9-af97-5d85b7657a34",_10 "name": "your_file",_10 "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34.txt",_10 "size": 1234,_10 "provider": null_10 }_10]
下载文件 (v2)
通过 ID 和文件扩展名下载特定文件。
您必须在 --output
值中指定您期望的文件类型。
_10curl -X GET \_10 "$LANGFLOW_URL/api/v2/files/c7b22c4c-d5e0-4ec9-af97-5d85b7657a34" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY" \_10 --output downloaded_file.txt
结果
_10文件内容已下载到 downloaded_file.txt
编辑文件名 (v2)
更改文件名。
_10curl -X PUT \_10 "$LANGFLOW_URL/api/v2/files/$FILE_ID?name=new_file_name" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "id": "76543e40-f388-4cb3-b0ee-a1e870aca3d3",_10 "name": "new_file_name",_10 "path": "6f17a73e-97d7-4519-a8d9-8e4c0be411bb/76543e40-f388-4cb3-b0ee-a1e870aca3d3.png",_10 "size": 2728251,_10 "provider": null_10}
删除文件 (v2)
通过 ID 删除特定文件。
_10curl -X DELETE \_10 "$LANGFLOW_URL/api/v2/files/$FILE_ID" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "message": "文件已成功删除"_10}
删除所有文件 (v2)
删除与您的用户账户关联的所有文件。
_10curl -X DELETE \_10 "$LANGFLOW_URL/api/v2/files" \_10 -H "accept: application/json" \_10 -H "x-api-key: $LANGFLOW_API_KEY"
结果
_10{_10 "message": "所有文件已成功删除"_10}
创建上传文件(已弃用)
此端点已弃用。请改用 /files
端点。