Массовый экспорт
POST /transcriptions/export — экспорт до 100 расшифровок одним ZIP за один запрос.
POST /transcriptions/export
Экспорт сразу многих расшифровок. Возвращает ZIP — один запрос независимо от количества (1–100 за вызов). Намного быстрее и дешевле, чем вызывать Экспорт в цикле.
Тело запроса
{
"ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
],
"format": "md"
}| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
ids | UUID[] | — | 1–100 идентификаторов расшифровок. Обязательно. |
format | string | md | md или txt. |
Запрос
curl -X POST https://app.memoai.tech/api/v1/developer/transcriptions/export \
-H "Authorization: Bearer mk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"ids": ["3fa85f64-5717-4562-b3fc-2c963f66afa6", "7c9e6679-7425-40de-944b-e07fc1f90ae7"],
"format": "md"
}' \
-o transcriptions.zipimport httpx
resp = httpx.post(
"https://app.memoai.tech/api/v1/developer/transcriptions/export",
headers={"Authorization": "Bearer mk_live_your_key_here"},
json={
"ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"7c9e6679-7425-40de-944b-e07fc1f90ae7",
],
"format": "md",
},
)
resp.raise_for_status()
with open("transcriptions.zip", "wb") as f:
f.write(resp.content)import { writeFile } from "node:fs/promises";
const res = await fetch(
"https://app.memoai.tech/api/v1/developer/transcriptions/export",
{
method: "POST",
headers: {
Authorization: "Bearer mk_live_your_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
ids: [
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
"7c9e6679-7425-40de-944b-e07fc1f90ae7",
],
format: "md",
}),
},
);
await writeFile("transcriptions.zip", Buffer.from(await res.arrayBuffer()));Выгрузи все мои встречи за прошлую неделю в ~/notes/meetings.
Ассистент получает список расшифровок недели, затем вызывает memo_bulk_export с их ID и
output_dir. Он скачивает ZIP и распаковывает файлы за один шаг.
Ответ
200 OK — ZIP-архив (Content-Type: application/zip, Content-Disposition: attachment; filename="transcriptions.zip"). Каждый элемент — файл, названный по заголовку встречи.
Частичный результат — без предупреждений
ID, которых нет или которые не в вашем workspace, пропускаются — без ошибки. Если у двух
встреч одинаковый заголовок, имена файлов дедуплицируются (name (2).md). Чтобы заметить
пропуски, сравните число файлов в ZIP с числом отправленных ID.
Ошибки
| Статус | Когда |
|---|---|
401 | Нет/неверный ключ или ключ передан в URL. |
403 | План без доступа к API. |
422 | ids пустой или больше 100, либо format неверный. |
429 | Превышен rate limit. |
См. Ошибки.