跳到主要内容

Langflow API 入门指南

您可以使用 Langflow API 与 Langflow 进行程序化交互,例如以下用途:

  • 创建和编辑流程,包括流程的文件管理。
  • 开发使用您的流程的应用程序。
  • 开发自定义组件。
  • 将 Langflow 构建为大型项目的依赖项。
  • 为整个 Langflow 项目做出贡献。

要查看和测试所有可用的端点,您可以在 Langflow 部署的 /docs 端点访问 Langflow API 的 OpenAPI 规范,例如 http://localhost:7860/docs

试一试

有关在脚本中使用 Langflow API 的示例,请参阅 Langflow 快速入门

快速入门演示了如何为您的流程获取自动生成的代码片段、使用脚本运行流程以及从 Langflow API 响应中提取数据。

构造 Langflow API 请求

虽然各个选项因端点而异,但所有 Langflow API 请求都有一些共同点,如 URL、方法、参数和身份验证。

作为 Langflow API 请求的示例,以下 curl 命令调用 /v1/run 端点,并向流程的聊天输出组件传递运行时覆盖(tweaks):


_14
curl --request POST \
_14
--url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID?stream=false" \
_14
--header "Content-Type: application/json" \
_14
--header "x-api-key: $LANGFLOW_API_KEY" \
_14
--data '{
_14
"input_value": "hello world!",
_14
"output_type": "chat",
_14
"input_type": "chat",
_14
"tweaks": {
_14
"ChatOutput-6zcZt": {
_14
"should_store_message": true
_14
}
_14
}
_14
}'

基础 URL

默认情况下,本地部署在 http://localhost:7860/api 提供 Langflow API 服务。

远程托管的 Langflow 部署可在托管服务设置的域名下访问,例如 http://IP_OR_DNS/apihttp://IP_OR_DNS:LANGFLOW_PORT/api

您可以在 LANGFLOW_PORT 环境变量 中配置 Langflow 端口号。

  • https://UUID.ngrok.app/api
  • http://IP_OR_DNS/api
  • http://IP_OR_DNS:LANGFLOW_PORT/api

身份验证

在 Langflow 1.5 及更高版本中,大多数 API 端点都需要 Langflow API 密钥,即使 AUTO_LOGIN 设置为 True 也是如此。 唯一的例外是 MCP 端点 /v1/mcp/v1/mcp-projects/v2/mcp,它们从不需要身份验证。

要验证 Langflow API 请求,请在 x-api-key 标头或查询参数中提供 Langflow API 密钥。 有关更多信息,请参阅 API 密钥

与任何 API 一样,请遵循行业最佳实践来存储和引用敏感凭据。 例如,您可以为您的 API 密钥设置环境变量,然后在您的 API 请求中引用这些环境变量。

方法、路径和参数

Langflow API 请求使用各种方法、路径、路径参数、查询参数和主体参数。 具体的要求和选项取决于您要调用的端点。

例如,要创建流程,您需要将 JSON 格式的流程定义传递给 POST /v1/flows。 然后,要运行您的流程,您可以调用 POST /v1/run/$FLOW_ID,并在请求主体中包含可选的运行参数。

API 版本

Langflow API 提供 /v1/v2 端点。

某些端点仅存在于单个版本下,而有些同时存在于 /v1/v2 版本下。

如果请求失败或产生意外结果,请确保您的端点路径具有正确的版本。

设置环境变量

您可以将常用值存储在环境变量中,以便于重复使用、简化令牌轮换并安全地引用敏感值。

您可以使用任何您喜欢的方法来设置环境变量,例如 export.envzshrc.curlrc。 然后,在您的 API 请求中引用这些环境变量。 例如:


_22
# Set environment variables
_22
export LANGFLOW_API_KEY="sk..."
_22
export LANGFLOW_SERVER_URL="https://localhost:7860"
_22
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"
_22
export PROJECT_ID="1415de42-8f01-4f36-bf34-539f23e47466"
_22
export LANGFLOW_API_KEY="sk-..."
_22
_22
# Use environment variables in API requests
_22
curl --request POST \
_22
--url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID$?stream=false" \
_22
--header "Content-Type: application/json" \
_22
--header "x-api-key: $LANGFLOW_API_KEY" \
_22
--data '{
_22
"input_value": "hello world!",
_22
"output_type": "chat",
_22
"input_type": "chat",
_22
"tweaks": {
_22
"ChatOutput-6zcZt": {
_22
"should_store_message": true
_22
}
_22
}
_22
}'

Langflow API 请求中常用的值包括您的 Langflow 服务器 URLLangflow API 密钥、流程 ID 和项目 ID

您可以从 API 访问面板、流程的 URL 中以及通过 GET /flows 检索流程 ID。

尝试一些 Langflow API 请求

一旦您有了 Langflow 服务器 URL,可以尝试调用这些返回 Langflow 元数据的端点。

获取版本

返回当前的 Langflow API 版本:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/version" \
_10
-H "accept: application/json"
_10
-H "x-api-key: $LANGFLOW_API_KEY"

结果

_10
{
_10
"version": "1.1.1",
_10
"main_version": "1.1.1",
_10
"package": "Langflow"
_10
}

获取配置

返回您的 Langflow 部署的配置详细信息:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/config" \
_10
-H "accept: application/json"
_10
-H "x-api-key: $LANGFLOW_API_KEY"

结果

_10
{
_10
"feature_flags": {
_10
"mvp_components": false
_10
},
_10
"frontend_timeout": 0,
_10
"auto_saving": true,
_10
"auto_saving_interval": 1000,
_10
"health_check_max_retries": 5,
_10
"max_file_size_upload": 100
_10
}

获取所有组件

返回所有 Langflow 组件的字典:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/all" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

下一步

Search