跳到主要内容

文件端点

使用 /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 替换为上传的文件名。


_10
curl -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 环境变量

  1. 使用 --form (-F) 和文件路径将图像附加到 POST /v1/files/upload/$FLOW_ID 请求:


    _10
    curl -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
    }

  2. 使用返回的 file_path 将图像文件发送到可以接受文件输入的其他组件。指定文件路径的位置取决于组件类型。

    以下示例运行 基础提示流程,将图像文件和查询 describe this image 作为 Chat Input 组件的输入。 在这种情况下,文件路径在 tweaks 中指定。


    _14
    curl -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)

列出与特定流程关联的所有文件。


_10
curl -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)

从流程中下载特定文件。


_10
curl -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)

从流程中删除特定文件。


_10
curl -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

  1. 要检索您当前的 user_id,请调用 /whoami 端点:


    _10
    curl -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}}

  2. 在对 v2/files 的 POST 请求中,将 @FILE_NAME.EXTENSION 替换为上传的文件名及其扩展名。 您必须在请求中包含 @ 符号 (@) 以指示 curl 上传文件内容,而不是字符串 FILE_NAME.EXTENSION


    _10
    curl -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)

important

/v2/files 端点不支持向流程发送 图像 文件。 要通过 API 向您的流程发送 图像 文件,请按照 上传图像文件 (v1) 中的过程进行。

使用 File 组件和 API 将文件发送到您的流程进行分析。 您的流程必须包含 File 组件来接收文件。

默认文件限制为 100 MB。要配置此值,请更改 LANGFLOW_MAX_FILE_SIZE_UPLOAD 环境变量。 有关更多信息,请参阅 支持的环境变量

  1. 要使用 API 将文件发送到您的流程,请将文件 POST 到 /api/v2/files 端点。

    FILE_NAME.EXTENSION 替换为您要上传的文件的名称和扩展名。 这与 上传文件 (v2) 中描述的步骤相同,但由于您需要文件名来上传到流程,因此在此处包含。


    _10
    curl -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
    }

  2. 要在流程中使用此文件,请添加 File 组件将文件加载到流程中。

  3. 要将文件加载到流程中,请将其发送到 File 组件。

    要检索附加了 UUID 的 File 组件的完整名称,请调用 读取流程 端点,然后在 /v1/run POST 请求中将您的 File 组件和文件路径作为调整包含。 在此示例中,上传到 /v2/files 的文件包含在 /v1/run POST 请求中。


    _16
    curl --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)

列出与您的用户账户关联的所有文件。


_10
curl -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 值中指定您期望的文件类型。


_10
curl -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)

更改文件名。


_10
curl -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 删除特定文件。


_10
curl -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)

删除与您的用户账户关联的所有文件。


_10
curl -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 端点。

Search