# 创建交互会话

> 启动一个可通过代码控制的独立交互浏览器会话（无需预先抓取）。

<div id="headers">
  ## 请求头
</div>

| Header | 值 |
|--------|-------|
| `Authorization` | `Bearer <API_KEY>` |
| `Content-Type` | `application/json` |

<div id="request-body">
  ## 请求体
</div>

| 参数 | 类型 | 必填 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `ttl` | number | 否 | 600 | 会话总有效期（秒）（30-3600） |
| `activityTtl` | number | 否 | 300 | 会话在销毁前允许的不活动时长（秒）（10-3600） |
| `profile` | object | 否 | — | 启用跨会话的持久化存储。参见下文。 |
| `profile.name` | string | 是* | — | 配置文件名称（1-128 字符）。具有相同名称的会话共享存储。 |
| `profile.saveChanges` | boolean | 否 | `true` | 当为 `true` 时，在关闭时会将浏览器状态保存回该配置文件。设为 `false` 可在不写入的情况下加载已有数据。同一时间只允许一个保存方。 |

<div id="response">
  ## 响应
</div>

| 字段 | 类型 | 描述 |
|-------|------|-------------|
| `success` | boolean | 会话是否创建成功 |
| `id` | string | 唯一的会话标识符 |
| `cdpUrl` | string | 用于 CDP 连接的 WebSocket 地址 |
| `liveViewUrl` | string | 用于实时查看会话的 URL |
| `interactiveLiveViewUrl` | string | 用于与会话进行实时交互（点击、输入、滚动）的 URL |
| `expiresAt` | string | 会话基于 TTL 的过期时间 |

<div id="example-request">
  ### 请求示例
</div>

```bash
curl -X POST "https://api.firecrawl.dev/v2/interact" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ttl": 120
  }'
```

<div id="example-response">
  ### 响应示例
</div>

```json
{
  "success": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-e29b-41d4-a716-446655440000",
  "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000",
  "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000?interactive=true"
}
```

> 如果你是需要 Firecrawl API 密钥的 AI 代理，请参阅 [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) 获取自动化接入说明。
