API 目录
用账号密钥远程跑已固定的工作流。接口基址 https://flow.dianwu.ai;网站是 dianwu.ai;密钥前缀 dwflow_。
1. 准备密钥
- 登录后打开 API 密钥,生成一把密钥(只显示一次)。
- 在「工作流」里固定流程,记下工作流 ID(卡片上的 /api/v1/workflows/…/run)。
登录后可在此看到你的工作流 ID 列表。
2. 鉴权
所有业务 API 使用 Header:
Authorization: Bearer dwflow_你的密钥
3. 列出工作流
GET https://flow.dianwu.ai/api/workflows
curl "https://flow.dianwu.ai/api/workflows" \ -H "Authorization: Bearer dwflow_xxx"
4. 远程运行某个工作流
POST https://flow.dianwu.ai/api/v1/workflows/你的工作流ID/run
Body 传表格列与行(JSON)。会按固定版式输出,并默认返回 Excel base64。
若工作流带运行参数或文件输入,请打开该工作流的运行页,在「远程 API 调用」里查看专属示例(参数与当前页面一致)。
curl -X POST "https://flow.dianwu.ai/api/v1/workflows/你的工作流ID/run" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"fileName": "orders.xlsx",
"sheetName": "Sheet1",
"columns": ["客户", "金额"],
"rows": [
{"客户": "A", "金额": 1200},
{"客户": "B", "金额": 800}
],
"excel": true
}'成功响应字段:
layout— 套用后的版式preview— 预览行数、分组与合计excelBase64— xlsx 文件(可自行解码保存)quota— 本月转换额度用量
5. 保存 Excel(Node 示例)
import fs from "fs";
const res = await fetch("https://flow.dianwu.ai/api/v1/workflows/你的工作流ID/run", {
method: "POST",
headers: {
Authorization: "Bearer dwflow_xxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
columns: ["客户", "金额"],
rows: [{ 客户: "A", 金额: 1200 }],
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data.error);
fs.writeFileSync(data.excelFileName, Buffer.from(data.excelBase64, "base64"));6. 模型接口(按量 USD)
部分模型池模型可通过 OpenAI 兼容接口调用,按官网刊例折算 USD 后乘以充值档倍率扣余额。默认开放 DeepSeek 官网:deepseek-chat / deepseek-reasoner / deepseek-v4-flash / deepseek-v4-pro,以及向量检索 qwen3.7-text-embedding-flash。
倍率:默认 ×1.5 · 累计充值满 $1,000(约 ¥7,200)→ ×1.3 · 满 $5,000(约 ¥3.6万)→ ×1.1。刊例 CNY 按实时中间价折算 USD(含约 1% 缓冲),可在 GET https://flow.dianwu.ai/api/v1/models 查看当前汇率。余额不足返回 402。请先在 我的后台 充值 USD。
GET https://flow.dianwu.ai/api/v1/models
curl "https://flow.dianwu.ai/api/v1/models" \ -H "Authorization: Bearer dwflow_xxx"
POST https://flow.dianwu.ai/api/v1/chat/completions
curl -X POST "https://flow.dianwu.ai/api/v1/chat/completions" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role":"user","content":"你好"}]
}'成功响应额外含 billing(本次 USD 费用与余额)。
流式:设 "stream": true,响应为 OpenAI 兼容 SSE(text/event-stream)。流结束后按 usage 扣费(需上游返回 usage,或按输出长度粗估)。
curl -N -X POST "https://flow.dianwu.ai/api/v1/chat/completions" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"stream": true,
"messages": [{"role":"user","content":"你好"}]
}'语音转写(OpenAI 兼容):POST https://flow.dianwu.ai/api/v1/audio/transcriptions。默认开放 whisper-1 / qwen3-asr-flash / seed-asr-auc;multipart 上传音频,不要用 chat/completions。
curl -X POST "https://flow.dianwu.ai/api/v1/audio/transcriptions" \ -H "Authorization: Bearer dwflow_xxx" \ -F "file=@./sample.wav" \ -F "model=whisper-1"
音色克隆与合成(通义 CosyVoice):先 POST https://flow.dianwu.ai/api/v1/audio/voices,JSON 含 model=cosyvoice-v3.5-plus、url(公网参考音频);返回 voice_id。再用 POST https://flow.dianwu.ai/api/v1/audio/speech,JSON 含 model、input、voice。v3.5-plus 没有系统音色,必须先克隆。不要用 chat/completions。
curl -X POST "https://flow.dianwu.ai/api/v1/audio/voices" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "cosyvoice-v3.5-plus",
"url": "https://example.com/sample.wav",
"prefix": "dwflow"
}'curl -X POST "https://flow.dianwu.ai/api/v1/audio/speech" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "cosyvoice-v3.5-plus",
"voice": "cosyvoice-v3.5-plus-dwflow-xxx",
"input": "点物 Flow,几小时的事,现在几分钟就能跑完。"
}'音乐生成(Suno):POST https://flow.dianwu.ai/api/v1/music/generations。默认开放 suno-v5 / suno-v5-5 / suno-v4-5-plus / suno-v4-5 / suno-v4-5-all / suno-v4;返回 taskId 后可用 GET 查询。也可把同样的 model 交给 chat/completions(不支持 stream)。
curl -X POST "https://flow.dianwu.ai/api/v1/music/generations" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v5",
"prompt": "A gentle piano lullaby, 90 seconds",
"title": "Night Song",
"wait": false
}'视频生成(方舟 Seedance):POST https://flow.dianwu.ai/api/v1/videos/generations。默认开放 seedance-2-0 / seedance-2-mini / seedance-2-fast / seedance-2-5;按秒扣费,返回 taskId 后用 GET ?taskId= 查询 videoUrl。需平台配置 ARK_API_KEY。
curl -X POST "https://flow.dianwu.ai/api/v1/videos/generations" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-0",
"prompt": "一只柯基在草地上奔跑,慢镜头,阳光逆光",
"durationSec": 5,
"wait": false
}'docs.s6.image
curl -X POST "https://flow.dianwu.ai/api/v1/images/generations" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.0",
"prompt": "一只柯基坐在窗边,柔和自然光,写实摄影",
"size": "2K"
}'向量检索(OpenAI 兼容):POST https://flow.dianwu.ai/api/v1/embeddings。默认开放 qwen3.7-text-embedding-flash(通义千问,刊例约 ¥0.125/百万入,默认 1024 维);也可用 text-embedding-v4。input 为字符串或字符串数组,一次最多 10 条。不要用 chat/completions。
curl -X POST "https://flow.dianwu.ai/api/v1/embeddings" \
-H "Authorization: Bearer dwflow_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-text-embedding-flash",
"input": ["发票汇总", "按客户对账"]
}'7. 错误码
401— 未登录或密钥无效402— 月转换额度用尽,或模型余额不足403— 模型未开放接口调用422— 上传列与工作流不匹配(缺列)404— 工作流不存在或不属于该账号