API 密钥
您可以使用 Langflow API 密钥以程序化方式与 Langflow 交互。
API 密钥具有与您启动 Langflow 时相同的权限和访问权。这意味着您的 API 密钥只能访问您自己的 flow、组件和数据。您无法使用自己的 Langflow API 密钥访问其他用户的资源。 API 密钥代表创建它的用户。如果您以超级用户身份创建密钥,那么该密钥将具有超级用户权限。 任何拥有该密钥的人都可以通过 Langflow API 授权超级用户操作,包括用户管理和 flow 管理。
在 Langflow 1.5 及更高版本中,大多数 API 端点都需要 Langflow API 密钥,即使 AUTO_LOGIN
设置为 True
。
唯一的例外是 MCP 端点 /v1/mcp
、/v1/mcp-projects
和 /v2/mcp
,它们从不需要身份验证。
AUTO_LOGIN 和 SKIP_AUTH 选项
在 Langflow 1.5 之前的版本中,如果设置 LANGFLOW_AUTO_LOGIN=true
,则 Langflow 会自动将用户以超级用户身份登录,无需身份验证。
在这种情况下,API 请求不需要 Langflow API 密钥。
在 Langflow 1.5 版本中,您可以设置 LANGFLOW_SKIP_AUTH_AUTO_LOGIN=true
和 LANGFLOW_AUTO_LOGIN=true
来跳过 API 请求的身份验证。
但是,LANGFLOW_SKIP_AUTH_AUTO_LOGIN
选项将在未来版本中移除。
生成 Langflow API 密钥
您可以使用 UI 或 CLI 生成 Langflow API 密钥。
UI 生成的密钥适用于大多数情况。当您的 Langflow 服务器在 --backend-only
模式下运行时,需要 CLI 生成的密钥。
- Langflow UI
- Langflow CLI
- 在 Langflow UI 标题栏中,点击您的个人资料图标,然后选择设置。
- 点击 Langflow API Keys,然后点击 Add New。
- 为您的密钥命名,然后点击 Create API Key。
- 复制 API 密钥并安全存储。
如果您使用 --backend-only=true
提供 flow 服务,您无法在 UI 中创建 API 密钥,因为前端没有运行。
根据您的身份验证设置,请注意使用 Langflow CLI 创建 API 密钥的以下要求:
- 如果
AUTO_LOGIN
为FALSE
,您必须以超级用户身份登录。 - 如果
AUTO_LOGIN
为TRUE
,您已经以超级用户身份登录。
要从 CLI 为用户创建 API 密钥,请执行以下操作:
-
在您的
.env
文件中,设置AUTO_LOGIN=FALSE
,并为您的服务器设置超级用户凭据。_10LANGFLOW_AUTO_LOGIN=False_10LANGFLOW_SUPERUSER=administrator_10LANGFLOW_SUPERUSER_PASSWORD=securepassword -
要确认您的超级用户状态,请调用
GET /users/whoami
,然后检查响应是否包含"is_superuser": true
:_10curl -X GET \_10"$LANGFLOW_URL/api/v1/users/whoami" \_10-H "accept: application/json" \_10-H "x-api-key: $LANGFLOW_API_KEY"Result
_11{_11"id": "07e5b864-e367-4f52-b647-a48035ae7e5e",_11"username": "langflow",_11"profile_image": null,_11"store_api_key": null,_11"is_active": true,_11"is_superuser": true,_11"create_at": "2025-05-08T17:59:07.855965",_11"updated_at": "2025-05-29T15:06:56.157860",_11"last_login_at": "2025-05-29T15:06:56.157016",_11} -
创建 API 密钥:
_10uv run langflow api-key
使用 Langflow API 密钥身份验证请求
在 API 请求中包含您的 API 密钥以对 Langflow 请求进行身份验证。
API 密钥仅允许访问创建密钥的特定用户的 flow 和组件。
- HTTP header
- Query parameter
要在发送 API 请求时使用 API 密钥,请在 HTTP 头部中包含 API 密钥:
_10curl -X POST \_10 "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID?stream=false" \_10 -H 'Content-Type: application/json' \_10 -H 'x-api-key: LANGFLOW_API_KEY' \_10 -d '{"inputs": {"text":""}, "tweaks": {}}'
要将 API 密钥作为查询参数传递:
_10curl -X POST \_10 "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID?x-api-key=LANGFLOW_API_KEY" \_10 -H 'Content-Type: application/json' \_10 -d '{"inputs": {"text":""}, "tweaks": {}}'
生成 Langflow 密钥
Langflow 使用 Fernet 库来加密敏感数据。
如果未提供 LANGFLOW_SECRET_KEY
,Langflow 会自动生成一个。
有关更多信息,请参阅身份验证。
撤销 API 密钥
要撤销 API 密钥,请从您的 Langflow 设置中删除它:
- 在 Langflow UI 标题栏中,点击您的个人资料图标,然后选择设置。
- 点击 Langflow API Keys。
- 选择您要删除的密钥,然后点击 Delete。
此操作会立即使密钥失效,并防止其再次被使用。
向 Langflow 添加组件 API 密钥
这些是外部服务(如 OpenAI)的凭据。它们可以通过 .env
文件或在 Langflow UI 中添加到 Langflow。
在 UI 中设置的组件 API 密钥会覆盖在环境变量中设置的密钥。
使用 .env 文件添加组件 API 密钥
要向您的 .env
文件添加组件 API 密钥:
_10OPENAI_API_KEY=sk-..._10ANTHROPIC_API_KEY=sk-..._10GOOGLE_API_KEY=...
使用 Langflow UI 添加组件 API 密钥
您可以在 Langflow 中将 Langflow 组件的 API 密钥存储为全局变量:
-
在 Langflow UI 标题栏中,点击您的个人资料图标,然后选择设置。
-
点击 Global Variables。
-
点击 Add New。
-
对于 Type,选择 Credential。
-
对于 Name,输入将存储 API 密钥的变量名称。
-
对于 Value,输入您要存储的 API 密钥。
-
对于 Apply to fields,您可以选择组件字段来自动填充此变量。
您可以通过在将受影响的组件添加到 flow 时手动输入不同的变量名称或值来覆盖自动设置的变量。
此外,您可以通过使用 tweaks 运行 flow 来覆盖所有组件设置,tweaks 是您在运行时对组件设置所做的修改,仅适用于单次 flow 运行。
-
点击 Save Variable。