返回文档

API 参考

公开接口可实时测试;内容工作流接口同时说明认证、幂等和人工发布边界。

语音转文字 API

POST/transcribe

将音频文件转换为文本,支持多种格式和自定义词典。

长音频可能返回 pending/running 的 AI 优化状态,并在后台完成分块优化。交互式测试器只覆盖公开 /transcribe 请求;内部 AI optimization job 查询和恢复端点不对外开放。

开启 AI 优化时,响应中的 dify_processing 可能包含可选的 n8n_workflow_name、n8n_workflow_id、n8n_call_id 和 n8n_execution_id 诊断字段;桌面端 Records 重试成功后也会保留相同的工作流身份。预取缓存命中会复用首次调用,所以 finalize 不会为了生成这些字段而重复触发工作流;这些标识不是认证凭据,仍不应与转写原文、API key 或 webhook URL 一起公开。

在线测试

词典管理 API

GET/api/v1/dictionary

获取用户的所有词典条目。

在线测试

POST/api/v1/dictionary/add

添加或更新词典条目。

在线测试

DELETE/api/v1/dictionary/delete

删除指定的词典条目。需要在URL参数中提供 misspelling。

在线测试

内容工作流 API

Bearer API KeyAuthorization: Bearer YOUR_API_KEY

以下接口只返回当前 API Key 所属用户的内容。平台版本功能会按环境逐步开放;客户端必须处理 404、409 和 503,不能因为路由存在就假设当前产品界面已经启用。

GET/api/v1/content/items/{id}/family

读取一份主稿、它的平台版本、生成状态、批准状态和新鲜度。

POST/api/v1/content/items/{master_id}/variants

按用户拥有的有效 Channel 创建或复用平台版本;一次最多选择 10 个目标。

POST/api/v1/content/items/{variant_id}/regenerate

为已有平台版本建立新的生成任务,同时保留主稿快照和用户编辑冲突保护。

POST/api/v1/content/items/{variant_id}/approve

只批准请求中 content_hash 对应的当前标题与正文;后续编辑会使批准失效。

POST/api/v1/content/items/{id}/deliveries

记录直接分享、复制或文件导出的证据状态;打开分享面板不等于外部平台已发布。

POST/api/v1/content/items/{variant_id}/deliveries/manual

在人工发布已批准且未过期的平台版本后记录确认结果;该接口不会调用第三方平台。

派生平台版本请求示例

client_request_id 必须在当前用户范围内稳定且唯一。相同 ID 只能重放完全相同的主稿、Channel、预设和来源快照;换成其他请求内容会返回 409 idempotency_conflict。

curl -X POST "https://api.vowise.com/api/v1/content/items/CONTENT_ITEM_ID/variants" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "client_request_id": "client-generated-stable-id",
    "targets": [
      { "channel_id": "CHANNEL_ID", "preset_id": "PRESET_ID" }
    ]
  }'

分发证据边界

内容工作流不会保存第三方账号凭据,也不会代表用户自动发帖。native_share 或浏览器分享面板通常只能证明动作已发起、已展示或结果未知;只有独立可信证据才能把外部结果记为 confirmed。内部 generation callback 由服务密钥保护,不属于公开 API,也不会在这里提供测试器。

SDK 和集成

Python SDK

pip install vowise-sdk

from vowise import VowiseClient

client = VowiseClient(api_key="YOUR_API_KEY")

# Transcribe audio
result = client.transcribe("audio.wav")
print(result.text)

# Manage dictionary
client.dictionary.add("AI", "Artificial Intelligence")
entries = client.dictionary.list()
client.dictionary.delete("AI")

JavaScript SDK

npm install @vowise/sdk

import { VowiseClient } from '@vowise/sdk';

const client = new VowiseClient({ 
  apiKey: 'YOUR_API_KEY' 
});

// Transcribe audio
const result = await client.transcribe(audioFile);
console.log(result.text);

// Manage dictionary
await client.dictionary.add('AI', 'Artificial Intelligence');
const entries = await client.dictionary.list();
await client.dictionary.delete('AI');