# Felo 获取生成结果

POST /api/v1/data/tasks/{task_id}/historical

异步生成演示文稿，再导出 PPTX 文件。创建任务成功与文件生成完成是两个阶段，需要分别处理。

示例使用[总览](https://openapi.felo.ai/zh-CN/docs/data-api/guides/felo-overview.md)中配置的 `FELO_API_KEY`。调用使用**平台余额**，不使用 Felo Pro 积分。响应示例仅展示结构，实际内容和可选字段会变化。



保存创建任务返回的标识。`TASK_ID` 使用 `task_id`，`PPT_ID` 使用 `ppt_business_id`；路径中的 `{business_id}` 同样是 `ppt_business_id`。

```bash
TASK_ID="YOUR_TASK_ID"
PPT_ID="YOUR_PPT_BUSINESS_ID"
```



## 3. 获取生成结果

`POST /api/v1/data/tasks/{task_id}/historical`

注意这里是 **POST**，无需 JSON 请求体。

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/tasks/$TASK_ID/historical" \
  -H "Authorization: Bearer $FELO_API_KEY"
```

```json
{
  "task_id":"example-task-id",
  "task_status":"COMPLETED",
  "history_data":{},
  "error_message":null
}
```

先判断 `task_status`，再使用 `history_data`。历史内容会随任务变化，也可能为空。`ai_page_html`、`thread_short_id` 是可选字段。此接口不保证直接返回 PPTX 下载地址，下载文件需要下一步导出。



## 有效期、归属与计费

- 演示文稿在**创建七天后过期**，查询和导出不会延长有效期。创建响应和导出响应中的 `expires_at` 分别表示文稿到期时间与下载链接到期时间。
- 只能访问当前 API 账户创建的任务和文稿。资源不存在或无权访问可能返回 404；过期或已删除可能返回 410，清理后也可能返回 404。
- 生成按实际页数计费（`ppt.generate`）。按页定价时，创建先预留十页费用，生成成功后按实际产出结算并释放未使用部分。即使提示词只要求五页，提交时仍需满足预留额度。
- 导出单独按请求计费（`ppt.export`）。生成状态、生成结果、导出状态查询以及删除均不新增费用。
- 遇到超时，优先查询已保存的任务，不要立即再创建一份。详见[计费与错误处理](https://openapi.felo.ai/zh-CN/docs/data-api/guides/felo-billing.md)。
