Руководства
Экспорт всего архива
Пройдите по всем расшифровкам и выгрузите весь архив Memo AI пачками по 100.
Чтобы сделать бэкап или миграцию всего, пройдите по всем расшифровкам и экспортируйте их пачками — массовый экспорт обрабатывает до 100 за запрос.
Соберите ID всех расшифровок
Пройдите по списку через limit + offset, пока не увидите все.
import httpx
BASE = "https://app.memoai.tech/api/v1/developer"
HEADERS = {"Authorization": "Bearer mk_live_your_key_here"}
ids, offset, page = [], 0, 100
while True:
resp = httpx.get(
f"{BASE}/transcriptions",
headers=HEADERS,
params={"limit": page, "offset": offset, "status": "completed"},
)
resp.raise_for_status()
data = resp.json()
ids += [t["id"] for t in data["items"]]
offset += page
if offset >= data["total"]:
break
print(f"Найдено {len(ids)} расшифровок")Экспортируйте пачками по 100
Массовый экспорт принимает до 100 ID за вызов. Разбейте список и сохраните каждый ZIP на диск.
import io, zipfile, pathlib
OUT = pathlib.Path("memo-archive")
OUT.mkdir(exist_ok=True)
for i in range(0, len(ids), 100):
batch = ids[i : i + 100]
resp = httpx.post(
f"{BASE}/transcriptions/export",
headers=HEADERS,
json={"ids": batch, "format": "md"},
)
resp.raise_for_status()
with zipfile.ZipFile(io.BytesIO(resp.content)) as zf:
zf.extractall(OUT)
print(f"Пачка {i // 100 + 1}: {len(batch)} файлов")Помните про rate limit
Data-эндпоинты позволяют 500 запросов/минуту. Экспорт тысяч встреч пачками по 100 остаётся сильно
ниже — но при сильном параллелизме добавьте небольшую задержку между пачками, чтобы избежать
429.
См. также
- Массовый экспорт — справочник эндпоинта.
- Список расшифровок — детали пагинации.