启动工作流运行
使用你的输入启动一个工作流,并返回一个运行 ID。
POST {base_url}/workflow-runs需要 runs:write.
请求
POST {base_url}/workflow-runs
Authorization: Bearer mor_live_…
Content-Type: application/json
{
"org_id": "0192f3c1-7a44-7d10-9b22-1e5c8f0a3b61",
"project_id": "0192f3c2-4b18-7e93-8c07-9d2a6f4e1c58",
"workflow_id": "0192f3c3-9d21-7c44-b8e1-5a7f2c9d4e10",
"workflow_version_id": "0192f3c4-1a02-7bb3-9f40-2c6e8d1a5b77",
"idempotency_key": "story-48213-v2",
"inputs": {
"story_document": "https://cdn.example.com/stories/48213.pdf",
"character_sheets": [
"https://cdn.example.com/chars/48213-a.png",
"https://cdn.example.com/chars/48213-b.png"
],
"episode_count": 8,
"tone": "thriller"
}
}| 请求体字段 | 必需 | 含义 |
|---|---|---|
org_id | 是 | 你的组织;必须与密钥的 |
project_id | 是 | 运行及其资源所在的画布——其 Studio URL 中的 id, …/editor/<project_id>/canvas |
workflow_id | 是 | 要运行的工作流 |
inputs | 是 | 一个以每个输入的 key |
idempotency_key | 推荐 | 使重试安全——参见 约定 |
workflow_version_id | 否 | 固定你读取输入所用的版本 |
webhook_id | 否 | 将此运行的事件发送到一个已注册的端点——参见 Webhook |
如何发送每个输入
接受 | 发送 | 使用 allow_multiple |
|---|---|---|
值 | 字符串、数字或布尔值本身 | 它们的数组 |
url | 一个公开的 HTTPS 链接,以字符串形式 | 链接数组 |
选项 | 一个 options[].id,完全按给定值 | ID 数组 |
响应
202 已接受
{
"run": {
"id": "0192f3d0-6c31-7a52-b4e8-3f9d1a7c5e20",
"status": "排队中",
"workflow_id": "0192f3c3-9d21-7c44-b8e1-5a7f2c9d4e10",
"workflow_version_id": "0192f3c4-1a02-7bb3-9f40-2c6e8d1a5b77",
"project_id": "0192f3c2-4b18-7e93-8c07-9d2a6f4e1c58",
"chat_id": "0192f3c6-2e75-7b14-9a63-7c4e2d8f1b09",
"ingested": [
{ "input": "story_document", "bytes": 184320, "mime_type": "application/pdf" },
{ "input": "character_sheets", "bytes": 962144, "mime_type": "image/png" },
{ "input": "character_sheets", "bytes": 883021, "mime_type": "image/png" }
],
"poll_after_seconds": 60,
"expires_at": "2026-09-23T04:10:00Z"
}
}| 响应字段 | 含义 |
|---|---|
id | 运行 ID。轮询它,并将其与你自己的记录对应保存 |
状态 | 排队中 在接受时 |
chat_id | 运行发生所在的 Studio 会话。打开它可查看运行,或回答它提出的问题 |
已摄取 | 每个已获取文件一条记录,按发送顺序排列。用于确认你发送的是你想要发送的内容 |
poll_after_seconds | 首次轮询前等待多久 |
expires_at | 当一个未完成的运行被放弃时 已过期 |
每个链接都会被获取并验证 在 202 之前。返回已接受的运行已经拿到了其文件,因此坏链接会立即返回 400,而不是十分钟后才失败。