2Slides Logo
Пайплайн от исследования к презентации: Tavily, LLM, Slides API (2026)
2Slides Team
15 min read

Конвейер от исследования к презентации: Tavily, LLM, Slides API (2026)

Конвейер от исследования к презентации принимает тему на вход и возвращает готовую презентацию с источниками. API поиска (Tavily или Exa) собирает 10–20 источников, LLM пишет краткий доклад на 12 слайдов с пронумерованными цитатами, а API 2Slides превращает доклад в презентацию: POST /api/v1/slides/generate для редактируемого PPTX по 10 кредитов за страницу (120 кредитов, около $0.30, за 12 слайдов) или create-pdf-slides для слайдов с дизайном в виде изображений по 10 + 100 кредитов за страницу. Это подходит для консалтинговых команд, аналитиков и исследовательских отделов, которые еженедельно выпускают одинаковые презентации.

Основные выводы

  • Презентация Fast PPT на 12 слайдов стоит 120 кредитов, около $0.30 при покупке пакета за $5; версия с дизайном в виде изображений стоит 1,210 кредитов, около $3.03.
  • Конвейер состоит из четырёх вызовов: один вызов API поиска, один вызов LLM, GET /api/v1/themes/search, затем POST /api/v1/slides/generate.
  • Каждый ответ 2Slides оборачивается в { success, data: { jobId, status, downloadUrl } }, поэтому один парсер обрабатывает и отправку, и опрос статуса.
  • Лимит запросов — 6 запросов в минуту на ключ, а презентация Fast PPT возвращается примерно за 30 секунд в синхронном режиме.
  • Цитаты сохраняются только если в подсказке LLM принудительно создаётся нумерованный список источников и запрещается придумывать цифры; генератор презентации форматирует контент, но не проверяет факты.

Для кого это

Вы управляете консалтинговой практикой, исследовательским отделом или контент-операцией, и кто-то каждые несколько дней просит «быструю презентацию по европейскому рынку переработки аккумуляторов». Исследование занимает час, презентация — ещё два, и это одни и те же 12 слайдов: резюме, размер рынка, игроки, тренды, риски, рекомендации, источники. Если у вас уже есть инстанс n8n или планировщик на Python, этот рецепт не требует новой инфраструктуры.

Не используйте этот рецепт для конечных клиентских материалов, требующих индивидуального анализа. Он создаёт исходный вариант с источниками за минуты; человек всё равно читает источники и решает, что сказать.

Обзор рабочего процесса

ШагИнструментЧто происходит2Slides endpoint / кредиты
1. Триггерn8n Schedule или Form, cron, или аргумент CLIВ конвейер поступает строка с темойнет
2. ПоискTavily /search или Exa /search10–20 URL с заголовками и фрагментами текстанет
3. Краткий докладOpenAI или Claude12-слайдовый план, каждая цифра с пометкой [n], плюс список источниковнет
4. ТемаGET /api/v1/themes/search?query=consultingВозвращает кандидатов themeIdбесплатно, 6 запросов/мин
5. ПрезентацияPOST /api/v1/slides/generate (или create-pdf-slides)Краткий доклад превращается в PPTX (или PDF + изображения страниц)10 кредитов/страница (или 10 + 100/страница)
6. ОпросGET /api/v1/jobs/{jobId} каждые 5–10 сОжидание status: "success"бесплатно, 10 запросов/мин
7. ДоставкаЗагрузка в Google Drive, сообщение в SlackКоманда получает ссылку и файл с источникаминет

Шаг 1: Соберите 10–20 источников с помощью API для исследований

Презентация хороша ровно настолько, насколько хороши источники, поэтому уделите этому внимание. Tavily возвращает результаты с извлечённым содержимым страниц, что нужно LLM для цитирования, а не для воспоминания. Exa делает то же самое с семантическим поиском. Запрашивайте 10–20 результатов и ограничивайте последние 12 месяцев, если тема чувствительна ко времени.

Сохраняйте каждый результат как { id, url, title, published, snippet } и нумеруйте id с 1. Эти id станут маркерами цитат на слайдах, поэтому сохраняйте один и тот же массив на весь запуск.

curl -s https://api.tavily.com/search \ -H "Content-Type: application/json" \ -d '{ "api_key": "'"$TAVILY_API_KEY"'", "query": "European battery recycling market size 2026", "search_depth": "advanced", "max_results": 15, "include_raw_content": false }'

Шаг 2: Напишите краткий доклад на 12 слайдов с цитатами (OpenAI или Claude)

Подсказка выполняет три задачи: фиксирует структуру слайдов, заставляет каждую цифру иметь id источника и запрещает цифры, отсутствующие в источниках. Запрашивайте обычный текст, а не JSON, потому что текст сразу идёт в userInput вызова 2Slides.

Структура, подходящая для большинства консалтинговых докладов, — 12 слайдов: 1 заголовок, 2 резюме, 3 размер рынка, 4–5 ключевые игроки, 6–7 тренды, 8–9 риски, 10–11 рекомендации, 12 источники. По 3–5 пунктов на слайд; шаблоны Fast PPT рассчитаны на такую плотность.

Вы — аналитик-исследователь. Используя ТОЛЬКО пронумерованные источники ниже, напишите 12-слайдовый краткий доклад по теме: {topic}. Слайды: 1 Заголовок, 2 Резюме, 3 Размер рынка, 4-5 Ключевые игроки, 6-7 Тренды, 8-9 Риски, 10-11 Рекомендации, 12 Источники. Правила: - Каждое число, процент или дата должны заканчиваться id источника в скобках, например "EUR 4.2B к 2030 [3]". - Если в источниках нет цифры, напишите "надежных данных нет" вместо оценки. - Слайд 12 перечисляет каждый цитируемый id как "[n] Заголовок, Издатель, URL". - 3–5 пунктов на слайд, каждый не более 20 слов. Начинайте каждый слайд с "Слайд N: <заголовок>". Источники: {sources}

Шаг 3: Выберите тему в стиле консалтинга

Презентации Fast PPT строятся на дизайнерских шаблонах, а themeId определяет внешний вид. Один раз найдите в библиотеке «consulting» или «corporate», выберите один или два id и зашивайте их в конвейер. Поиск при каждом запуске тратит лимит запросов.

curl -s "https://2slides.com/api/v1/themes/search?query=consulting&limit=5" \ -H "Authorization: Bearer $SLIDES_API_KEY"

Ответ содержит список тем с themeId, названием и предпросмотром. Для визуального просмотра используйте Templates Hub с теми же 1500+ шаблонами.

2Slides Templates Hub для выбора темы в стиле консалтинга
Рисунок 1: Templates Hub, где выбираете тему в стиле консалтинга или корпоративную и копируете её themeId для API.

Шаг 4: Сгенерируйте презентацию с помощью API 2Slides

Два варианта. Для редактируемого PPTX, который консультант может доработать в PowerPoint, вызывайте generate. По умолчанию синхронный режим, поэтому 12-слайдовая презентация возвращается с downloadUrl за один вызов примерно за 30 секунд. При пакетной обработке нескольких тем передайте mode: "async" и опрашивайте статус.

curl -s -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: European Battery Recycling Market 2026\n...\nSlide 12: Sources\n[1] ...", "themeId": "THEME_ID_FROM_SEARCH", "responseLanguage": "English", "mode": "async" }'

Ответ:

{ "success": true, "data": { "jobId": "job_9f3a...", "status": "pending" } }

Для премиальной версии с дизайном в виде изображений (PDF плюс изображения страниц) вызывайте create-pdf-slides с тем же докладом. Установите page: 12 для соответствия докладу или page: 0, чтобы планировщик выбрал сам.

curl -s -X POST https://2slides.com/api/v1/slides/create-pdf-slides \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: European Battery Recycling Market 2026\n...", "designStyle": "consulting deck, navy and white, dense data slides, one chart per slide", "aspectRatio": "16:9", "resolution": "2K", "page": 12, "contentDetail": "standard", "responseLanguage": "English" }'

Оба варианта возвращают одинаковую обёртку. Опрашивайте GET https://2slides.com/api/v1/jobs/{jobId} каждые 5–10 секунд, пока data.status не станет success или failed, затем скачивайте по data.downloadUrl.

Шаг 5: Реализация A, рабочий процесс n8n (Tavily n8n презентация)

n8n — самый быстрый способ сделать это запланированной задачей Tavily n8n, которую могут запускать не инженеры из формы. Достаточно семи стандартных узлов.

  • Schedule Trigger (еженедельно) или Form Trigger с одним полем «topic».
  • HTTP Request к Tavily /search с темой, max_results: 15.
  • Узел OpenAI (или HTTP Request к Claude) с подсказкой из Шага 2; передайте пронумерованные источники в сообщении.
  • Кодовый узел, который собирает { userInput, themeId, responseLanguage: "English", mode: "async" } из текста LLM.
  • HTTP Request к POST https://2slides.com/api/v1/slides/generate с заголовком Authorization: Bearer {{ $env.SLIDES_API_KEY }}. Ключ храните в учётных данных n8n, не в теле узла.
  • Узел ожидания (10 секунд), затем HTTP Request к GET /api/v1/jobs/{{ $json.data.jobId }} и IF узел: success — дальше, pending или processing — назад к ожиданию, failed — отправка ошибки в Slack.
  • HTTP Request (скачать data.downloadUrl как бинарный файл), затем загрузка в Google Drive и сообщение в Slack со ссылкой и темой.

Добавьте вторую загрузку в Google Drive для sources.json из Шага 1; проверяющий захочет видеть полные фрагменты, а не только слайд Источники. Учётные данные и обработка ошибок описаны в n8n + 2Slides: автоматизация рабочих процессов презентаций.

Шаг 6: Реализация B, один скрипт на Python

Для команды, предпочитающей cron, один Python-файл выполняет ту же работу. Эта версия использует Tavily и OpenAI; замените на Exa или Claude, изменив одну функцию.

import os, time, json, requests TAVILY = os.environ["TAVILY_API_KEY"] OPENAI = os.environ["OPENAI_API_KEY"] SLIDES = os.environ["SLIDES_API_KEY"] BASE = "https://2slides.com/api/v1" H = {"Authorization": f"Bearer {SLIDES}", "Content-Type": "application/json"} def search(topic, n=15): r = requests.post("https://api.tavily.com/search", json={ "api_key": TAVILY, "query": topic, "search_depth": "advanced", "max_results": n}) r.raise_for_status() return [{"id": i + 1, "url": s["url"], "title": s["title"], "snippet": s["content"]} for i, s in enumerate(r.json()["results"])] def write_brief(topic, sources): src = "\n".join(f"[{s['id']}] {s['title']} | {s['url']}\n{s['snippet']}" for s in sources) prompt = open("brief_prompt.txt").read().format(topic=topic, sources=src) r = requests.post("https://api.openai.com/v1/chat/completions", headers={"Authorization": f"Bearer {OPENAI}"}, json={"model": "gpt-4.1", "messages": [{"role": "user", "content": prompt}], "temperature": 0.2}) r.raise_for_status() return r.json()["choices"][0]["message"]["content"] def pick_theme(query="consulting"): r = requests.get(f"{BASE}/themes/search", headers=H, params={"query": query, "limit": 5}) r.raise_for_status() return r.json()["data"]["themes"][0]["themeId"] def generate_deck(brief, theme_id, language="English"): r = requests.post(f"{BASE}/slides/generate", headers=H, json={ "userInput": brief, "themeId": theme_id, "responseLanguage": language, "mode": "async"}) r.raise_for_status() body = r.json() assert body["success"], body return body["data"]["jobId"] def wait_for(job_id, every=8, timeout=600): start = time.time() while time.time() - start < timeout: d = requests.get(f"{BASE}/jobs/{job_id}", headers=H).json()["data"] if d["status"] == "success": return d["downloadUrl"] if d["status"] == "failed": raise RuntimeError(f"job {job_id} failed: {d}") time.sleep(every) raise TimeoutError(job_id) if __name__ == "__main__": topic = "European battery recycling market 2026" sources = search(topic) brief = write_brief(topic, sources) url = wait_for(generate_deck(brief, pick_theme())) slug = topic.lower().replace(" ", "-") open(f"{slug}.pptx", "wb").write(requests.get(url).content) json.dump({"topic": topic, "sources": sources, "brief": brief}, open(f"{slug}.sources.json", "w"), indent=2)

Скрипт пишет два файла за запуск: PPTX и .sources.json с списком источников и текстом доклада. JSON — это аудиторский след, когда партнёр спрашивает, откуда взялась цифра на слайде 3. Для пакетной обработки держите отправки не более 6 в минуту.

Гигиена цитирования: каждая цифра имеет источник

Автоматическая генерация консалтинговых презентаций терпит неудачу в одном предсказуемом случае: уверенная цифра на слайде 3, которой нет в источниках. Генератор презентаций только форматирует полученное, поэтому контроль — на этапе LLM и проверке после него.

  • Принудительно форматируйте маркеры. Каждая цифра заканчивается [n]. Отклоняйте доклад (и перезапускайте LLM), если регулярное выражение найдёт число с "%", "B", "M" или год без скобочного id в той же строке.
  • Проверяйте id по массиву источников. [7] в докладе при наличии только 6 источников означает, что модель придумала ссылку. Останавливайте запуск.
  • Сохраняйте слайд Источники. Слайд 12 перечисляет [n] Заголовок, Издатель, URL для каждого цитируемого id. Это первый слайд, который читает проверяющий.
  • Храните вспомогательный файл. .sources.json (или загрузка в Drive в n8n) содержит фрагменты, которые видела модель, чтобы проверяющий мог сверить текст с исходным отрывком.
  • Предпочитайте «надежных данных нет». Консультанты могут честно заполнить пробел; им сложно обнаружить выдуманную цифру.

Альтернатива агенту: Claude Code или Codex с навыком 2Slides или MCP

Скриптовый конвейер подходит для запланированных, повторяющихся тем. Для одноразового глубокого анализа агентская сессия выполняет те же шаги интерактивно. Подключите размещённый MCP сервер 2Slides к Claude Code одной командой, затем попросите агента исследовать тему с помощью веб-поиска, написать доклад с цитатами, вызвать themes_search для темы в стиле консалтинга и вызвать slides_generate с докладом. MCP открывает 7 инструментов, включая jobs_get для опроса, на том же ключе и кредитах, что и REST API.

claude mcp add --transport http 2slides "https://2slides.com/api/mcp?apikey=YOUR_KEY"

Вкладка MCP Server на странице API с HTTP endpoint и командой claude mcp add
Рисунок 2: Вкладка MCP Server на странице API с HTTP endpoint и командой для быстрой настройки Claude Code.

В Codex, Cursor или другом агенте, предпочитающем навыки, установите вместо этого Agent Skill с страницы навыков; он обучает тем же endpoint’ам и циклу отправки, опроса и скачивания. Смотрите Agent Skills vs MCP servers for presentations для сравнения и How to use Claude MCP to generate presentations для пошаговой настройки.

Страница Agent Skills с Claude Code, OpenAI Codex, Cursor и другими агентами
Рисунок 3: Страница Agent Skills с инструкциями по установке для Claude Code, Codex, Cursor и других агентов.

Как выглядит презентация консалтингового уровня

Галерея 2Slides содержит эталонные презентации, например «AI at Work 2025» от BCG, которая начинается с тезиса в одну строку и заканчивается методологией и источниками, с той же структурой, что и 12-слайдовый доклад выше. Эти галерейные презентации — реальные примеры, размещённые на 2Slides, а не вывод API. Используйте их как вдохновение для дизайна или передайте URL изображения страницы как referenceImageUrl в create-like-this, чтобы путь с дизайном изображений унаследовал тип, цвет и макет от эталона.

Эталонная презентация BCG AI at Work 2025 из галереи 2Slides, структура в стиле консалтинга
Рисунок 4: Титульный слайд эталонной презентации BCG AI at Work 2025 в галерее 2Slides.

Эталонная презентация BCG AI at Work 2025 из галереи 2Slides, структура в стиле консалтинга
Рисунок 5: Один из поздних слайдов той же презентации, показывающий ожидаемый консалтинговой аудиторией макет «одна идея на слайд».

Для более широкого обзора инструментов, подходящих для консалтинга, смотрите Лучшие AI-инструменты для презентаций для консультантов. Страница API Gamma описывает похожий рецепт n8n + Tavily + OpenAI; их ключи требуют Pro-плана, тогда как ключи 2Slides работают на любом аккаунте. 2Slides — наш продукт, учитывайте это при сравнении.

Сколько это стоит

Кредиты — оплата по мере использования: $5 покупают 2,000 кредитов ($0.0025 за кредит), $80 — 40,000 кредитов ($0.002 за кредит). Плата за API поиска и LLM выставляется их провайдерами и не включена ниже.

ОбъёмFast PPT generate (12 слайдов = 120 кредитов)Слайды с дизайном create-pdf-slides (12 слайдов в 2K = 1,210 кредитов)
20 презентаций в месяц2,400 кредитов, около $6.00 (покрывается пакетом за $9.50)24,200 кредитов, около $48–$61 в зависимости от пакета
500 презентаций в месяц60,000 кредитов, около $120 (два пакета по $80)605,000 кредитов, около $1,210 при $0.002 за кредит

Новые аккаунты получают 500 бесплатных кредитов — это 4 полноценных тестовых презентации Fast PPT.

Fast PPT или слайды с дизайном для этого случая?

  • Fast PPT generate подходит, если консультант будет редактировать презентацию в PowerPoint, если объём большой (500 презентаций в месяц стоит около $120) и если устраивает шаблонный вид. Возвращается примерно за 30 секунд.
  • create-pdf-slides подходит, если презентация идёт клиенту в виде PDF только для чтения и нужен дизайнерский вид с одной идеей на слайд. Стоимость примерно в 10 раз выше за презентацию.
  • create-like-this подходит, если у фирмы есть фирменный стиль: передайте одно брендированное изображение слайда как referenceImageUrl, и каждый запуск унаследует стиль.
  • Озвучка и MP4 доступны только для слайдов с дизайном, через generate-narration по 210 кредитов за страницу. Полезно для внутреннего видео с исследовательским докладом, не для пути Fast PPT.

Распространённые ошибки

  • Лимит запросов 6 в минуту. Планируйте пакетные запуски с интервалом 10–12 секунд; опрос использует отдельный лимит 10 запросов/мин для jobs.
  • Ключ API в теле узла n8n или в браузерном скрипте. Храните ключ в учётных данных n8n или в переменной окружения на сервере, никогда не в клиентском коде.
  • Попытка озвучить Fast PPT. generate-narration принимает только задания от create-pdf-slides или create-like-this. Задания Fast PPT отклоняются.
  • page: 0 означает автоопределение, а не ноль страниц. В create-pdf-slides ставьте page: 12, если доклад уже на 12 слайдов, или page: 0, чтобы планировщик выбрал.
  • Коды языков вместо названий. responseLanguage принимает "Spanish" или "German", а не "es" или "de".
  • Отправка 20 полных статей как userInput. Сначала суммируйте; в 2Slides идёт краткий доклад, а не сырые источники.

Часто задаваемые вопросы

Сколько стоит конвейер от исследования к презентации за одну презентацию?

Около $0.30 за часть 2Slides для 12-слайдовой презентации Fast PPT (120 кредитов по $0.0025 за кредит) или около $3.03 за 12-слайдовую презентацию с дизайном в 2K (1,210 кредитов). Добавьте один вызов API поиска и один вызов LLM, оплата которых идёт провайдерам. При 500 презентациях в месяц путь Fast PPT стоит около $120 в кредитах.

Может ли конвейер выдавать презентацию на другом языке?

Да. Передайте responseLanguage как название языка, например "Spanish" или "Japanese"; поддерживается более 20 языков. Самый чистый вариант — написать доклад на английском и позволить 2Slides перевести при генерации, чтобы цитаты и URL источников совпадали во всех языковых версиях одной презентации.

Нужно ли использовать n8n или можно обойтись без workflow-инструмента?

n8n не обязателен. Скрипт на Python из Шага 6 делает то же самое из cron, а агентская сессия с MCP или навыком 2Slides выполняет это интерактивно. n8n оправдан, если не инженеры должны запускать задачи из формы и нужна доставка в Google Drive и Slack без написания интеграций.

Как остановить LLM от выдумывания статистики на слайдах?

Ограничьте подсказку и проверьте результат. Требуйте, чтобы каждая цифра заканчивалась [n] с id источника, заставьте модель писать «надежных данных нет» вместо оценки и отклоняйте доклад, если id превышают количество источников. Храните файл с источниками рядом с презентацией, чтобы проверяющий мог сверить каждый слайд с оригиналом.

Можно ли сделать стиль слайдов как у моей фирмы, а не шаблон?

Да, с помощью create-like-this. Передайте публичный URL одного из ваших брендированных слайдов как referenceImageUrl, и конвейер с дизайном изображений унаследует цвета, шрифты и макет. Стоимость такая же, как у create-pdf-slides: 10 кредитов на планирование плюс 100 кредитов за страницу в 2K. Для редактируемого PPTX выберите ближайшую тему из themes/search.

Следующие шаги

  • Получите API-ключ на 2slides.com/api. Новые аккаунты начинают с 500 бесплатных кредитов — достаточно для 4 тестовых презентаций по 12 слайдов.
  • Посмотрите, как другие команды используют те же endpoint’ы в статье хаба AI presentation API use cases by team.
  • Если ваша команда работает в Claude Code или Codex, установите Agent Skill и сначала выполните конвейер интерактивно, прежде чем планировать; n8n + 2Slides описывает версию с workflow-инструментом.

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free