以下示例均基于统一的基础地址 https://app.deckflow.com/api 及请求头认证机制 Authorization: Bearer <YOUR_API_KEY>。
1. API 集成示例
通过 HTTP API 进行异步任务的提交与轮询。以下示例展示了提交一个文档生成任务,并循环轮询状态直到获取下载链接。
const API_KEY = "Bearer <YOUR_API_KEY>";
const BASE_URL = "https://app.deckflow.com/api";
async function generateDeck() {
const formData = new FormData();
formData.append("type", "generation");
formData.append("params", JSON.stringify({
inputText: "生成一份关于可再生能源市场趋势的研究报告",
pageCount: 10
}));
// 1. 提交生成任务
const res = await fetch(`${BASE_URL}/tools/tasks`, {
method: "POST",
headers: {
"Authorization": API_KEY
},
body: formData
});
const task = await res.json();
console.log("任务已提交,任务 ID:", task.id);
// 2. 轮询任务状态
const pollInterval = setInterval(async () => {
const statusRes = await fetch(`${BASE_URL}/tools/tasks/${task.id}`, {
headers: {
"Authorization": API_KEY
}
});
const currentTask = await statusRes.json();
console.log("当前任务状态:", currentTask.status);
if (currentTask.status === "completed") {
clearInterval(pollInterval);
console.log("任务成功!下载链接:", currentTask.result.url);
} else if (currentTask.status === "failed") {
clearInterval(pollInterval);
console.error("任务失败,错误原因:", currentTask.error.message);
}
}, 5000);
}
generateDeck();
import time
import requests
API_KEY = "Bearer <YOUR_API_KEY>"
BASE_URL = "https://app.deckflow.com/api"
def generate_deck():
headers = {
"Authorization": API_KEY
}
data = {
"type": "generation",
"params": '{"inputText": "生成一份关于可再生能源市场趋势的研究报告", "pageCount": 10}'
}
# 1. 提交生成任务
response = requests.post(f"{BASE_URL}/tools/tasks", headers=headers, data=data)
task = response.json()
task_id = task["id"]
print(f"任务已提交,任务 ID: {task_id}")
# 2. 轮询任务状态
while True:
status_response = requests.get(f"{BASE_URL}/tools/tasks/{task_id}", headers=headers)
current_task = status_response.json()
status = current_task["status"]
print(f"当前任务状态: {status}")
if status == "completed":
print(f"任务成功!下载链接: {current_task['result']['url']}")
break
elif status == "failed":
print(f"任务失败,错误原因: {current_task['error']['message']}")
break
time.sleep(5)
generate_deck()
2. CLI (DeckOps) 自动化示例
DeckOps 是负责 DeckFlow 云端处理的任务命令行工具。您可以通过 CLI 快速配置并调用云端服务。
安装与配置
# 克隆并全局链接 CLI 目录 (以本地开发包为例)
git clone https://github.com/deckflow/deckops.git
cd deckops
npm install
npm link
# 配置您的 API 密钥和云端基准地址
deckops config set-token "Bearer <YOUR_API_KEY>"
deckops config set-api-base "https://app.deckflow.com/api"
命令调用示例
# 提交并运行幻灯片生成任务
deckops create --params '{"inputText":"人工智能在医疗领域的发展","pageCount":8}'
# 提交翻译任务并等待结果 (Translate)
deckops translate source_presentation.pptx --from zh --to en --timeout 180
# 运行文件压缩优化任务并获取输出
deckops compress large_archive.zip
3. MCP 智能体集成示例
在您的 AI 智能体(如 Claude Desktop)中集成 DeckFlow MCP 服务器,可让大模型自动调用文件优化、提取及生成接口。
配置文件定义
在您的桌面版配置文件中添加 DeckFlow 服务器配置:
- macOS 路径:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows 路径:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"deckflow": {
"command": "node",
"args": ["/Users/tong/Downloads/Dev-Docs/heygen-docs/mcp-server/dist/index.js"],
"env": {
"DECKFLOW_API_KEY": "Bearer <YOUR_API_KEY>"
}
}
}
}
配置完成后,重新启动 Claude Desktop 即可在会话内直接让 Claude 执行文件处理任务。