Справочник по API
Тестируйте общедоступные эндпоинты в реальном времени и ознакомьтесь с правилами аутентификации, идемпотентности и ручной публикации для рабочих процессов контента.
API преобразования речи в текст
/transcribeПреобразуйте аудиофайлы в текст с поддержкой различных форматов и пользовательских словарей.
Длинное аудио может возвращать статус ожидания/выполнения оптимизации ИИ (pending/running), пока фрагментированная оптимизация завершается в фоновом режиме. Эти примеры кода охватывают публичный запрос /transcribe; внутренние эндпоинты статуса и восстановления заданий оптимизации ИИ не являются публичным API.
При включенной оптимизации ИИ ответ dify_processing может содержать необязательные диагностические поля n8n_workflow_name, n8n_workflow_id, n8n_call_id и n8n_execution_id; успешный повтор в приложении Records на рабочем столе сохраняет тот же идентификатор рабочего процесса. Попадание в кэш предварительной выборки повторно использует первый вызов, поэтому finalize не отправляет дублирующий рабочий процесс лишь для заполнения этих полей. Эти идентификаторы не являются учетными данными, но их все равно не следует публиковать вместе с текстом расшифровки, ключами API или URL-адресами вебхуков.
Эндпоинт /transcribe требует формат multipart/form-data с бинарным аудиофайлом в поле 'audio' (а не 'file'). Необязательные поля формы включают 'prompt' и 'dict' (массив JSON-строк с парами misspelling/correct_spelling).
Пример транскрипции с cURL multipart
curl -X POST "https://api.vowise.com/transcribe" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "prompt=Interview about technology" \
-F 'dict=[{"misspelling":"AI","correct_spelling":"Artificial Intelligence"}]'API управления словарем
/api/v1/dictionaryПолучить все словарные записи пользователя.
Протестировать
/api/v1/dictionary/addДобавить или обновить запись в словаре.
Протестировать
/api/v1/dictionary/deleteУдалить определенную запись словаря. Требуется misspelling в параметрах запроса.
Протестировать
API рабочих процессов с контентом
Authorization: Bearer YOUR_API_KEYЭти эндпоинты возвращают только контент, принадлежащий владельцу ключа API. Варианты платформы развертываются по средам; клиенты должны обрабатывать ошибки 404, 409 и 503, а не предполагать, что наличие маршрута означает доступность интерфейса продукта.
/api/v1/content/items/{id}/familyПрочитать основной материал, его варианты для платформ, состояние генерации, утверждения и актуальность.
/api/v1/content/items/{master_id}/variantsСоздать или повторно использовать варианты для активных каналов пользователя (не более 10 целей за запрос).
/api/v1/content/items/{variant_id}/regenerateСоздать новую задачу генерации для существующего варианта с сохранением снимка источника и защиты от конфликтов.
/api/v1/content/items/{variant_id}/approveУтвердить только текущий заголовок и текст, идентифицированные content_hash; последующие правки аннулируют утверждение.
/api/v1/content/items/{id}/deliveriesЗафиксировать статус отправки при прямом обмене, копировании или экспорте; открытие меню «Поделиться» не означает публикацию.
/api/v1/content/items/{variant_id}/deliveries/manualПодтвердить вручную опубликованный, утвержденный и свежий вариант; эндпоинт никогда не обращается к сторонним платформам.
Пример запроса создания вариантов для платформ
client_request_id должен быть стабильным и уникальным в рамках пользователя. Один и тот же ID может повторять только идентичные параметры; изменение полезной нагрузки возвращает 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" }
]
}'Границы подтверждения публикации
Рабочий процесс контента не хранит учетные данные сторонних сервисов и не публикует посты автоматически. Встроенная панель подтверждает лишь факт вызова; результат становится подтвержденным только при наличии независимых доказательств. Внутренний callback защищен сервисным ключом и не является публичным.
Примеры интеграции и код
Python (requests)
import requests
# 1. Transcribe audio with multipart form upload
url = "https://api.vowise.com/transcribe"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"audio": open("audio.wav", "rb")}
data = {
"prompt": "Interview about technology",
"dict": '[{"misspelling": "AI", "correct_spelling": "Artificial Intelligence"}]'
}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
# 2. Manage dictionary
dict_url = "https://api.vowise.com/api/v1/dictionary"
entries = requests.get(dict_url, headers=headers).json()
print("Dictionary entries:", entries)
# Delete dictionary entry (misspelling as query parameter)
requests.delete(f"{dict_url}/delete", headers=headers, params={"misspelling": "AI"})JavaScript (fetch)
// 1. Transcribe audio with FormData
const formData = new FormData();
formData.append("audio", audioFile); // File or Blob object
formData.append("prompt", "Interview about technology");
formData.append("dict", JSON.stringify([
{ misspelling: "AI", correct_spelling: "Artificial Intelligence" }
]));
const transcribeRes = await fetch("https://api.vowise.com/transcribe", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY"
},
body: formData
});
const result = await transcribeRes.json();
console.log("Transcript:", result.text);
// 2. Manage dictionary
const dictRes = await fetch("https://api.vowise.com/api/v1/dictionary", {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});
const entries = await dictRes.json();
console.log("Dictionary entries:", entries);
// Delete dictionary entry (misspelling as query parameter)
await fetch("https://api.vowise.com/api/v1/dictionary/delete?misspelling=AI", {
method: "DELETE",
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});