Протоколы встреч из записей через API

Запись созвона превращается в текст, а текст — в протокол: решения, задачи с ответственными и датами, открытые вопросы. Отклонённые предложения и «посмотрю, если будет время» в задачи не попадают. Расшифровка и протокол — одним ключом Polza.ai.

  • Протокол часовой встречи — от 0,42 ₽ по ценам каталога
  • Сроки — датами, а не «до пятницы»
  • Расшифровка на GigaAM-v3 — 0,25 ₽ за минуту
  • JSON для таск-трекера
Протокол · 5 октября 2026

Встреча по переезду офиса

Решения

— Переезд офиса состоится 1 ноября.

— Мебель перевозят частично: столы забирают, шкафы оставляют.

— Серверную стойку перевозит отдельная компания, своими силами не перевозят.

Задачи

Алёна · Отправить запросы трём компаниям грузчиков — 5 окт

Алёна · Написать сотрудникам письмо о переезде — 7 окт

Сергей · Найти подрядчика для перевозки серверной стойки — 20 окт

Открытые вопросы

— Устраивать ли новоселье.

Реальный протокол из теста. Как тестировали

Задача

После созвона никто не помнит, кто что обещал. Протокол пишет тот, кому досталось, через день и по памяти. Задачи без дат теряются, а отклонённые идеи всплывают как поручения.

Через API протокол готов через пару минут после встречи. Модель переводит «до пятницы» и «к 20-му» в даты, назначает ответственным того, кто будет делать, а не того, кто предложил, и отделяет решения от того, что только обсуждали.

Для кого

Везде, где встреч больше, чем людей, готовых писать протоколы.

Команды разработки и продукта

Планёрки, ретро, созвоны с заказчиком. Задачи с датами сразу уходят в трекер.

Протокол через 2 минуты после встречи.

Агентства и подрядчики

Созвоны с клиентами: кто что обещал и к какому сроку. Протокол клиенту — в тот же день, а следом — письмо клиенту по итогам встречи.

Меньше споров «мы так не договаривались».

Школы и вузы

Педсоветы, планирование, методические объединения. Решения и поручения по кафедрам.

Протокол без отдельного секретаря.

Продукты для встреч

Функция «итоги встречи» в своём сервисе: расшифровка и протокол через одно API.

Две модели — один ключ и один счёт.

От записи до задач

Четыре шага. Расшифровку и протокол делают разные модели, но через один ключ.

  1. Шаг 1

    Запись

    Файл созвона из Zoom, Телемоста или диктофона: mp3, wav, m4a.

    созвон.wav · 40 с

  2. Шаг 2

    Расшифровка

    Модель распознавания речи превращает запись в текст. GigaAM-v3 — 0,25 ₽ за минуту по каталогу.

    transcribe.py

  3. Шаг 3

    Протокол

    Языковая модель выделяет решения, задачи со сроками и открытые вопросы в JSON.

    make_protocol.py · 5 задач · 3 решения

  4. Шаг 4

    Задачи

    JSON уходит в таск-трекер или сообщением в рабочий чат, каждому — его задачи.

    в чат через 2 минуты после встречи

Если в расшифровке нет имён говорящих, передайте в запрос список участников и их роли — модель определит, кто говорит, по смыслу.

Как это выглядит

Реальные данные из теста: шумная расшифровка, протокол по ней и задачи в рабочем чате.

Расшифровка · 3 темы, перебивания

Ирина: Эм, коллеги, начнём. По осенней рассылке — Дима, где мы?

Дмитрий: Слушайте, текст готов, жду картинки от дизайна.

— Простите, я на минуту выпал, что последнее было?

Ирина: Слушайте, катя, картинки успеешь?

— Меня слышно? У меня что-то связь прыгает.

Екатерина: Ну, до среды сделаю три варианта баннера.

— Простите, я на минуту выпал, что последнее было?

Ирина: Слушайте, хорошо. Дима, тогда рассылку запускаем в четверг, ты отправляешь.

— Секунду, курьер пришёл.

Междометия и посторонние реплики остаются в тексте
Протокол · 5 октября 2026

Общая планёрка: маркетинг, инцидент в оплате, продажи

Решения

— Запустить осеннюю рассылку в четверг.

— Оставить бюджет на контекст 200 тысяч до конца квартала.

— Не давать промокод клиентам, у которых сорвалась оплата, а просто извиниться.

Задачи

Екатерина · Сделать три варианта баннера для осенней рассылки — 7 окт

Дмитрий · Отправить осеннюю рассылку — 8 окт

Екатерина · Обновить шаблон презентации — 31 окт

Роман · Настроить оповещение за 30 дней до истечения сертификатов — 9 окт

Вика · Выгрузить список клиентов, у кого сорвалась оплата, и отправить им письма — 6 окт

Роман · Описать инцидент в базе знаний — 7 окт

Юля · Отчитаться по сделкам — 9 окт

Артур · Передать клиенту «Альфа-строй» условия скидки — 5 окт

Артур · Тестировать новый скрипт звонка — 13 окт

Открытые вопросы

— Делать ли вебинар в ноябре?

— Переходить ли на новую CRM?

Gemini 2.5 Flash: все 9 задач, сроки датами
Рабочий чат · Протокол-бот

Итоги встречи «Встреча по переезду офиса»

— Алёна: отправить запросы трём компаниям грузчиков, до 5 окт

— Алёна: написать сотрудникам письмо о переезде, до 7 окт

— Сергей: найти подрядчика для перевозки серверной стойки, до 20 окт

Принято
Задачи каждому — сообщением после встречи

Сколько стоит протокол

Две части: расшифровка записи и протокол по тексту. Расшифровка оплачивается за минуты, протокол — за токены. Polza.ai считает обе части по текущим ценам каталога.

Стоимость по текущим ценам каталога
Модель1 000 протоколов, замер 6 октябряЗадачи найденыСроки верноЛишниеПротокол часовой встречи, сейчас
GPT-5 Mini103 ₽28 из 2927 из 2830,42 ₽
Gemini 2.5 Flash116 ₽29 из 2929 из 2910,5 ₽
DeepSeek V4 Pro23 ₽26 из 2924 из 2612,49 ₽
Grok 4.3212 ₽27 из 2927 из 2703,26 ₽
Claude Sonnet 5858 ₽28 из 2928 из 2815,93 ₽

Замер — фактический расход по cost_rub на 6 встречах из теста 6 октября 2026, по ценам того дня. «Сейчас» — расчёт для часовой встречи по текущим ценам каталога: 20 тысяч токенов расшифровки на входе и тысяча на выходе.

Стоимость по текущим ценам каталога
МодельМинута, сейчасЧас записи, сейчас
Whisper Large V3 Turbo0,05 ₽2,88 ₽
GigaAM-v30,25 ₽15,04 ₽

Расшифровка по текущим ценам каталога Polza.ai. Остальные модели — в подборке моделей распознавания речи.

Как не переплатить за рассуждение и провайдера на текстовой части — в сценарии про SEO-тексты.

Готовые скрипты на Python

Первый расшифровывает записи из папки, второй делает протоколы по расшифровкам. Нужен пакет openai и ключ в POLZA_API_KEY.

Вход: meetings.json

Название, текст расшифровки и, если в ней нет имён, список участников.

meetings.json
[
  {
    "id": "M09",
    "title": "Созвон отдела продаж",
    "text": "Константин: План на октябрь — 40 сделок. Сейчас 12.\n…"
  }
]

Выход: protocols.jsonl

Фрагмент реального протокола из теста.

protocols.jsonl · фрагмент
{
  "tasks": [
    {
      "deadline": "2026-10-09",
      "owner": "Юля",
      "task": "Отчитаться по двум сделкам в работе"
    },
    {
      "deadline": "2026-10-05",
      "owner": "Артур",
      "task": "Передать клиенту «Альфа-строй» условия скидки"
    }
  ],
  "open_questions": [
    "Переход на новую CRM (обсуждается, решения пока нет)."
  ]
}
Python · transcribe.py
# transcribe.py — расшифровка записей встреч через Polza (папка audio/ → transcripts/)
import os, pathlib
from openai import OpenAI

MODEL = "ai-sage/gigaam-v3"  # русская речь; цена за минуту — в каталоге
ai = OpenAI(base_url="https://polza.ai/api/v1", api_key=os.environ["POLZA_API_KEY"])
out = pathlib.Path("transcripts"); out.mkdir(exist_ok=True)

for f in sorted(pathlib.Path("audio").glob("*")):
    with open(f, "rb") as audio:
        r = ai.audio.transcriptions.create(model=MODEL, file=audio, language="ru")
    (out / (f.stem + ".txt")).write_text(r.text, encoding="utf-8")
    print(f.name, "→", len(r.text), "знаков")
Python · make_protocol.py
# make_protocol.py — протоколы встреч из расшифровок через Polza
import asyncio, json, os
from openai import AsyncOpenAI, APIStatusError

MODEL = "google/gemini-2.5-flash"  # в тесте нашла все задачи и верно поставила сроки
MEETING_DATE = "понедельник, 5 октября 2026"
CONCURRENCY = 10

ai = AsyncOpenAI(base_url="https://polza.ai/api/v1", api_key=os.environ["POLZA_API_KEY"])
SYSTEM = open("prompt.txt", encoding="utf-8").read()

TASK = {"type": "object", "properties": {"owner": {"type": "string"}, "task": {"type": "string"}, "deadline": {"type": "string"}},
        "required": ["owner", "task", "deadline"], "additionalProperties": False}
SCHEMA = {"name": "protocol", "strict": True, "schema": {"type": "object", "properties": {
    "summary": {"type": "string"},
    "decisions": {"type": "array", "items": {"type": "string"}},
    "tasks": {"type": "array", "items": TASK},
    "open_questions": {"type": "array", "items": {"type": "string"}}},
    "required": ["summary", "decisions", "tasks", "open_questions"], "additionalProperties": False}}

async def protocol(m, sem, stats):
    prompt = (f"Встреча: {m['title']}\nДата встречи: {MEETING_DATE}\n"
              f"Участники: {m.get('participants', 'имена есть в расшифровке')}\n\nРасшифровка:\n{m['text']}")
    async with sem:
        for attempt in range(5):
            try:
                r = await ai.chat.completions.create(
                    model=MODEL,
                    messages=[{"role": "system", "content": SYSTEM}, {"role": "user", "content": prompt}],
                    response_format={"type": "json_schema", "json_schema": SCHEMA},
                    extra_body={"reasoning": {"effort": "none"}},
                )
                break
            except APIStatusError as e:
                if e.status_code in (429, 500, 502, 503) and attempt < 4:
                    await asyncio.sleep(2 ** attempt)
                    continue
                raise
    stats["rub"] += r.usage.model_extra.get("cost_rub", 0)
    return {"id": m["id"], "title": m["title"], **json.loads(r.choices[0].message.content)}

async def main():
    meetings = json.load(open("meetings.json", encoding="utf-8"))
    sem, stats = asyncio.Semaphore(CONCURRENCY), {"rub": 0}
    results = await asyncio.gather(*(protocol(m, sem, stats) for m in meetings), return_exceptions=True)
    with open("protocols.jsonl", "w", encoding="utf-8") as out:
        for m, res in zip(meetings, results):
            if isinstance(res, Exception):
                print(m["id"], "ошибка:", res)
            else:
                out.write(json.dumps(res, ensure_ascii=False) + "\n")
    print(f"Готово, расход {stats['rub']:.2f} ₽")

asyncio.run(main())

Промпт для протокола

Главное в промпте — что считать задачей. Только явное поручение или обещание: «сделаю к среде», «Катя, обнови». Всё, что отменили, отложили или сказали «если будет время», — в открытые вопросы.

Второе правило — даты. Модель получает дату встречи и сама переводит «завтра», «до пятницы», «к 20-му». Если срок не назван, поле остаётся пустым: в тесте ни одна модель не придумала срок там, где его не было.

prompt.txt
Ты составляешь протокол рабочей встречи по
расшифровке.

Протокол:
- summary — 2–3 предложения: о чём встреча и главный
  итог;
- decisions — принятые решения, каждое одной фразой;
- tasks — задачи: owner (кто делает, имя из
  расшифровки), task (что сделать, коротко, с
  глагола), deadline (дата в формате ГГГГ-ММ-ДД или
  пустая строка);
- open_questions — что обсуждали, но не решили.

Правила:
- Задача — только явное поручение или обещание
  сделать: «сделаю к среде», «Катя, обнови»,
  «отправлю сегодня».
- Не записывай в задачи то, что отменили, отклонили
  или отложили: «давайте не будем», «нет», «обсудим
  потом», «подумаем», «если будет время».
- Ответственный — тот, кто будет делать, а не тот,
  кто предложил.
- Сроки переводи в даты относительно даты встречи:
  «завтра», «до пятницы», «к 20-му». Если срок не
  назван — пустая строка, не придумывай его.
- Решение — то, что окончательно договорились.
  Отклонённое предложение — не решение.
- Не добавляй ничего, чего не было в расшифровке.

Верни JSON: summary, decisions, tasks,
open_questions.

Проверка протокола

Протокол проверяется лучше, чем любой другой текст: у задач есть ответственный, глагол и дата. Сложные места можно отдать второй модели на проверку, как в тестах по урокам.

Эталон на 10 встречах

Перед запуском в работу разметьте задачи в десятке своих встреч и сравните с протоколами модели кодом — так, как это сделано в тесте ниже.

Ловушки в задачах

Отклонённые предложения, «подумаем», «если будет время». В тесте их было 16 на 10 встреч; DeepSeek не записала в задачи ни одну, Claude Sonnet на шумной встрече записала одну.

Ответственный без имён

Если в расшифровке нет говорящих, модель угадывает по смыслу. DeepSeek отдала «дать доступ к аналитике» тому, кто доступ просил. Gemini 2.5 Flash не ошиблась.

Сроки относительно даты

Передавайте дату встречи в запросе. Без неё «до пятницы» превращается в пятницу неизвестной недели.

Выдумки распознавания

Whisper на 40 секундах записи вставил «Продолжение следует...», которого не было. GigaAM-v3 и Qwen3 ASR расшифровали чисто.

Протокол читает организатор

Две минуты на просмотр перед рассылкой: всё ли на месте и тем ли людям назначено.

Через Claude, OpenAI и Grok — или без кода

Расшифровку и протоколы соберёт ИИ-агент. Модели — в том же каталоге Polza.ai.

Claude Code и Claude Desktop

Положите записи и промпт в папку и отдайте Claude задание ниже: расшифровки, протоколы и сводная таблица задач.

Claude Sonnet 5: протокол часовой встречи — 5,93 ₽ по ценам каталога.

Codex и ChatGPT Desktop

То же задание выполняет Codex CLI. Модели GPT подключаются тем же ключом Polza.

GPT-5 Mini: протокол часовой встречи — 0,42 ₽ по ценам каталога.

Grok

Модели xAI в том же API: MODEL = "x-ai/grok-4.3" в скрипте.

Grok 4.3: протокол часовой встречи — 3,26 ₽ по ценам каталога.

Задание для агента

Подходит для Claude Code, Codex и других агентов из интеграций.

задание для Claude Code или Codex
В папке audio лежат записи встреч, рядом prompt.txt.
Напиши и запусти два скрипта на Python через OpenAI SDK
и https://polza.ai/api/v1, ключ — в POLZA_API_KEY:
1) расшифровка каждой записи моделью ai-sage/gigaam-v3,
   текст — в папку transcripts;
2) протокол по каждой расшифровке моделью
   google/gemini-2.5-flash, системный промпт — prompt.txt,
   дата встречи — из имени файла,
   ответ — JSON: summary, decisions, tasks, open_questions.
Покажи задачи всех встреч одной таблицей.

Без кода: n8n и Dify

Новая запись в папке — HTTP-запрос на расшифровку — нода OpenAI Chat Model с адресом https://polza.ai/api/v1 — задачи в трекер и в чат команды.

n8n

Созвон закончился — через пару минут протокол в чате команды.

Нода OpenAI Chat Model с адресом Polza.

Dify

Workflow: расшифровка, протокол, выгрузка задач.

Облако или self-hosted.

Тест редакции: 10 встреч и одна запись

Мы написали 10 расшифровок рабочих встреч — от планёрки маркетинга до совещания по переезду офиса — и заранее разметили 37 задач с ответственными и сроками. В каждой встрече есть ловушки: отклонённые предложения, «если будет время», задача, которую предложил один, а делает другой. Замер 6 октября 2026: весь тест стоил 8,3 ₽ по ценам того дня.

Встреч
10
Задачи найдены
35 из 37
Сроки верно
35 из 35
Расход
0,21 ₽

Первый прогон, DeepSeek V4 Pro без рассуждения, 18 секунд на 10 встреч. Ни одна из 16 ловушек не попала в задачи. Пропущены фото к 15 октября и «поговорю с админами, но ничего не обещаю» — второе модель отнесла к открытым вопросам, и это можно считать верным.

Пять моделей на 6 встречах, включая шумную

Модель1 000 протоколов, замерЗадачи найденыЛишниеЧто увидел редактор
DeepSeek V4 Pro23 ₽26 из 291Пропустила регрессионное тестирование, по расшифровке без имён перепутала ответственного.
GPT-5 Mini103 ₽28 из 293Быстрая. Отдала предоплату не тому человеку и записала в задачи «бригада ведёт ремонт».
Gemini 2.5 Flash116 ₽29 из 291Все задачи и все сроки. Единственная «лишняя» — та же задача, разбитая на две.
Grok 4.3212 ₽27 из 290Ни одной лишней задачи, но пропустила оценку калькулятора.
Claude Sonnet 5858 ₽28 из 291Почти всё верно, но на шумной встрече записала в задачи «посмотреть конкурентов, если будет время».

Шумная встреча — три темы подряд с междометиями, перебиваниями и посторонними репликами. Сверка с эталоном — кодом, по ответственному и ключевым словам задачи. Стоимость — замер 6 октября 2026 по ценам того дня, текущая — в разделе «Стоимость».

От записи до протокола

Модель расшифровкиВремяЧто получилось
GigaAM-v32,7 сПочти дословно, без имён говорящих
Qwen3 ASR Flash5,5 сПочти дословно, без имён говорящих
Whisper Large V3 Turbo2,7 сВставил «Продолжение следует...», которого не было

Одну встречу мы озвучили двумя голосами через модель синтеза речи Polza — 39 секунд — и расшифровали тремя моделями. Qwen3 ASR Flash участвовала в тесте 6 октября; сейчас её нет в каталоге. По расшифровке GigaAM без имён говорящих Gemini 2.5 Flash нашла 5 из 5 задач и верно определила всех ответственных. DeepSeek нашла 4 из 5 и отдала задачу заказчика подрядчику.

Вывод

Протоколы — самый надёжный сценарий из наших тестов: задачи и даты модели извлекают почти без ошибок даже без рассуждения. Для протоколов — Gemini 2.5 Flash: все задачи и сроки, по текущим ценам каталога около 0,5 ₽ за часовую встречу. Для расшифровки — GigaAM-v3. Основная статья расходов — минуты расшифровки, а не протокол.

Вопросы

Сколько стоит протокол часовой встречи?

По текущим ценам каталога Polza.ai расшифровка часа на GigaAM-v3 — около 15,04 ₽, протокол на Gemini 2.5 Flash — около 0,5 ₽.

Модель путает, кто что сказал?

Если в расшифровке есть имена — почти никогда. Если нет — передайте список участников с ролями. В тесте Gemini 2.5 Flash по такой расшифровке определила всех ответственных верно.

Попадут ли в задачи идеи, которые отклонили?

В тесте из 16 ловушек — «давайте не будем», «подумаем», «если будет время» — в задачи у лучших моделей не попала ни одна. Они уходят в открытые вопросы.

Можно ли отправлять задачи в трекер автоматически?

Да, протокол приходит в JSON: ответственный, задача, дата. Сопоставьте имена с пользователями трекера и создавайте задачи через его API.

Подойдёт ли для встреч на английском?

Да, модели работают с английским. Для расшифровки выберите модель с поддержкой нужного языка и передайте его в параметре language.

Можно ли платить юрлицом?

Да. Polza.ai работает по договору: счёт, УПД и НДС. Расход виден в кабинете по ключам и моделям.

Другие сценарии: SEO-тексты · Ответы на отзывы · Объявления для Авито · Тесты по урокам · Письма клиентам

Сделайте протокол вчерашней встречи

Ключ, запись или расшифровка и два скрипта со страницы — и задачи со сроками придут в чат через пару минут.

Остались вопросы? Документация Polza.AI, поддержка в Telegram или support@polza.ai

Страницу проверила редакция Polza.AI, обновлено . Цифры теста — замер 6 октября 2026 по ценам того дня; стоимость «сейчас» Polza.ai считает по каталогу и обновляет каждый час.

Разработчикам: вход через Polza

Связанные страницы: модели расшифровки, n8n, для бизнеса.

Сайт использует cookie.