2Slides Logo
Автоматизация слайдов для обучения пациентов с помощью Healthcare API (2026)
2Slides Team
16 min read

Автоматизация слайдов для обучения пациентов с помощью Healthcare API (2026)

Автоматизация слайдов для обучения пациентов означает, что бекенд-задача читает утверждённый, деидентифицированный исходный текст (инструкции при выписке, объяснения процедур, клинические рекомендации) из вашего репозитория контента и превращает его в презентации через API 2Slides. Fast PPT generate создаёт редактируемый PPTX по каждому заболеванию и языку за 10 кредитов за страницу, так что 8-страничная презентация стоит 80 кредитов, примерно $0.20. create-pdf-slides вместе с generate-narration создаёт озвученные обучающие презентации для персонала. Это решение создано для команд обучения в больницах, компаний цифрового здравоохранения и медицинских коммуникационных агентств.

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

  • Один утверждённый исходный документ становится одной презентацией на каждый язык при изменении одного параметра responseLanguage; 2Slides поддерживает более 20 языков, включая испанский, вьетнамский и арабский.
  • 8-страничная презентация для пациента в Fast PPT стоит 80 кредитов, около $0.20 при стартовом пакете за $5; 500 презентаций в месяц — это 40,000 кредитов, ровно стоимость пакета за $80.
  • Озвученная 10-страничная обучающая презентация для персонала стоит 1,010 кредитов за слайды с дизайном изображений плюс 2,100 кредитов за озвучку, всего около $7.78.
  • В userInput попадает только утверждённый, деидентифицированный текст: без имён пациентов, медицинских номеров или дат рождения. Каждый jobId, версия источника и решение рецензента записываются в таблицу аудита.
  • 2Slides не заявляет о сертификации HIPAA, и этот пост не является юридической консультацией; контроль соответствия — ваша ответственность.

Для кого это предназначено

Вы отвечаете за обучение пациентов в системе больниц, владеете контентом в компании цифрового здравоохранения или создаёте материалы в медицинском коммуникационном агентстве. Проблема одна и та же: меняется руководство, и 40 презентаций по 6 языкам устаревают, а люди, которые могли бы их обновить, заняты клинической работой. Бекенд-задача, которая регенерирует презентации из утверждённого источника и направляет их клиническому рецензенту, устраняет ручное обновление, сохраняя при этом проверку.

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

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

ШагИнструментЧто происходит2Slides endpoint / кредиты
1Менеджер секретов, бекенд-сервисХранение API-ключа на сервере, определение, какой текст может попасть в запросGET /api/v1/echo (бесплатная проверка авторизации)
2Репозиторий контента (Git, CMS, DAM)Утверждённый, деидентифицированный исходный текст с отметкой версии и контрольной суммойнет
3Бекенд-задачаВыбор спокойного клинического шаблона, генерация одной презентации на заболевание и языкGET /api/v1/themes/search (бесплатно), POST /api/v1/slides/generate (10 кредитов/страница)
4Запуск задачи + база данных рецензированияОпрос, загрузка PPTX, сохранение с jobId и версией источника, отметка как ожидающая рецензированияGET /api/v1/jobs/{id} (бесплатно)
5Та же задача, обучающий трекСоздание слайдов с дизайном изображений для обучения персонала, затем озвучка для видео по адаптацииcreate-pdf-slides (10 + 100 кредитов/страница при 2K), generate-narration (210 кредитов/страница)
6Клинический рецензент, издательУтверждение или отклонение, отметка версии, публикация на портале или LMSdownload-slides-pages-voices (бесплатный ZIP с PNG + WAV)

Шаг 1: Определите границы соответствия и храните API-ключ на сервере

Перед написанием кода зафиксируйте границу: какой текст может покидать вашу сеть как userInput. Для обучения пациентов это утверждённый, предназначенный для широкой аудитории контент, описывающий заболевание, процедуру или инструкцию. Он никогда не описывает конкретного пациента. Правила конфиденциальности HIPAA, описанные на hhs.gov/hipaa, регулируют защищённую медицинскую информацию; ваш специалист по конфиденциальности решает, как сервис генерации третьей стороны вписывается в ваши политики. Ничто в этой статье не заменяет такую проверку.

Затем получите API-ключ на 2slides.com/api. Ключи выдаются на вкладке API Keys с 500 бесплатными кредитами — достаточно для примерно шести 8-страничных тестовых презентаций. Ключ хранится в менеджере секретов или в переменной окружения на сервере, никогда не в браузере, мобильном приложении или общем блокноте.

2Slides API reference with the security note to keep API keys server-side

Рисунок 1: Страница справки API на 2slides.com, включая заметку о безопасности, что ключи должны храниться на сервере.

Проверьте ключ с сервера, который будет запускать задачу:

curl -s https://2slides.com/api/v1/echo \ -H "Authorization: Bearer $SLIDES_API_KEY"

Аутентифицированный ответ означает, что учётные данные на месте, и можно переходить к контенту.

Шаг 2: Подготовьте утверждённый, деидентифицированный исходный контент с отметкой версии

Задача генерации читает из записи, а не из окна чата. Минимальная исходная запись содержит утверждённый текст, версию и утверждающий орган, чтобы любую презентацию можно было отследить до точных слов, из которых она была создана.

{ "slug": "heart-failure-discharge", "title": "Возвращение домой после госпитализации с сердечной недостаточностью", "version": "2026.09.1", "approved_by": "Комитет по клиническому обучению", "approved_on": "2026-09-03", "reading_level": "6 класс", "approved_text": "Сердечная недостаточность означает, что сердце не качает кровь так хорошо, как должно. После возвращения домой: взвешивайтесь каждое утро... Позвоните вашей медицинской команде, если вы набрали 3 фунта за один день или 5 фунтов за неделю..." }

Три правила обеспечивают безопасность этой записи для отправки:

  • Никакой PHI (защищённой медицинской информации), никогда. Ни имён, ни медицинских номеров, ни дат рождения, ни дат приёма, ни чего-либо, описывающего конкретного человека. Перед каждой отправкой запускается проверка регулярными выражениями на MRN и даты, и при неудаче задача блокируется.
  • Только утверждённый текст. Задача читает поле approved_text записи со статусом approved. Черновики игнорируются.
  • Простой язык. Fast PPT подгоняет ваш текст под шаблонные заполнители, поэтому текст, написанный на уровне 6-го класса, создаёт слайды на этом же уровне.

Шаг 3: Генерируйте многоязычные материалы для обучения пациентов с Fast PPT

Выберите шаблон один раз. Найдите спокойный, клинический стиль и сохраните возвращённый themeId в конфигурации:

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

Также попробуйте query=medical. Выбирайте высококонтрастные, с крупным шрифтом и без плотных инфографик шаблоны; презентации для пациентов читают на телефонах в залах ожидания и печатают у медсестёр.

Затем сгенерируйте одну презентацию на язык. Исходный английский текст остаётся тем же; меняется только responseLanguage. Используйте 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": "Возвращение домой после госпитализации с сердечной недостаточностью. Сердечная недостаточность означает, что сердце не качает кровь так хорошо, как должно. После возвращения домой: взвешивайтесь каждое утро перед завтраком. Принимайте лекарства точно так, как указано в листе с лекарствами. Ограничьте соль до количества, рекомендованного вашей медицинской командой. Позвоните вашей медицинской команде, если вы набрали 3 фунта за один день или 5 фунтов за неделю, если вам стало труднее дышать или если ноги отекают. Версия источника 2026.09.1, проверено Комитетом по клиническому обучению.", "themeId": "<themeId из themes/search>", "responseLanguage": "Spanish", "mode": "async" }'

Ответ — { "jobId": "..." }. Повторите для "Vietnamese", "Arabic", "Simplified Chinese" и других языков из списка. Передавайте имя языка, а не код; "es" не сработает, "Spanish" — да.

2Slides generate endpoint with responseLanguage and the 20+ supported languages for patient materials

Рисунок 2: Документация endpoint generate с параметром responseLanguage и более чем 20 поддерживаемыми языками вывода.

Опрос выполняйте каждые 5–10 секунд, пока задача не станет success или failed:

curl -s https://2slides.com/api/v1/jobs/<jobId> \ -H "Authorization: Bearer $SLIDES_API_KEY"

Завершённая задача возвращает downloadUrl для PPTX. Ограничение — 6 запросов в минуту на ключ для generate и 10 в минуту для jobs/{id}. Десять языков для одного заболевания — это десять запросов с интервалом 10 секунд, и каждая презентация готовится примерно за 30 секунд.

Шаг 4: Постройте очередь рецензирования на Python (генерация, сохранение, утверждение)

Ниже пример задачи, которая читает одну утверждённую исходную запись, генерирует презентацию на каждый язык, скачивает каждый PPTX и записывает строку в таблицу deck_reviews со статусом pending_review. Ничего не публикуется из этого скрипта. Рецензент — двуязычный клиницист или сертифицированный медицинский переводчик для неанглоязычных версий — вызывает approve() после проверки файла.

import hashlib import json import os import sqlite3 import time import requests API = "https://2slides.com/api/v1" HEADERS = { "Authorization": f"Bearer {os.environ['SLIDES_API_KEY']}", "Content-Type": "application/json", } # Выбран один раз из GET /api/v1/themes/search?query=healthcare, сохранён в конфиге THEME_ID = os.environ["CLINICAL_THEME_ID"] LANGUAGES = ["English", "Spanish", "Vietnamese", "Arabic"] db = sqlite3.connect("patient_education.db") db.execute(""" CREATE TABLE IF NOT EXISTS deck_reviews ( job_id TEXT PRIMARY KEY, condition_slug TEXT, language TEXT, source_version TEXT, source_sha256 TEXT, theme_id TEXT, file_path TEXT, status TEXT, reviewer TEXT, reviewed_at TEXT, created_at TEXT )""") def now(): return time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()) def assert_no_phi(text): # Минимальная защита; расширьте своими паттернами и ручной проверкой выше по потоку. import re if re.search(r"\bMRN\b|\b\d{7,10}\b|\b\d{1,2}/\d{1,2}/\d{2,4}\b", text): raise ValueError("Исходный текст не прошёл проверку на PHI") def submit(source, language): body = { "userInput": source["approved_text"], "themeId": THEME_ID, "responseLanguage": language, "mode": "async", } r = requests.post(f"{API}/slides/generate", headers=HEADERS, json=body, timeout=60) r.raise_for_status() return r.json()["jobId"] def wait(job_id): while True: r = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30) r.raise_for_status() job = r.json() if job["status"] == "success": return job["downloadUrl"] if job["status"] == "failed": raise RuntimeError(f"job {job_id} failed") time.sleep(8) # опрашивать каждые 5–10 секунд def download(url, path): os.makedirs(os.path.dirname(path), exist_ok=True) with requests.get(url, stream=True, timeout=120) as r: r.raise_for_status() with open(path, "wb") as f: for chunk in r.iter_content(65536): f.write(chunk) def enqueue_for_review(source): if source.get("status") != "approved": raise ValueError("Генерировать можно только утверждённые записи") assert_no_phi(source["approved_text"]) digest = hashlib.sha256(source["approved_text"].encode("utf-8")).hexdigest() for language in LANGUAGES: job_id = submit(source, language) url = wait(job_id) path = f"decks/{source['slug']}/{source['version']}/{language}_{job_id}.pptx" download(url, path) db.execute( "INSERT INTO deck_reviews VALUES (?,?,?,?,?,?,?,?,?,?,?)", (job_id, source["slug"], language, source["version"], digest, THEME_ID, path, "pending_review", None, None, now()), ) db.commit() time.sleep(10) # не превышать 6 запросов/мин на ключ def approve(job_id, reviewer): db.execute( "UPDATE deck_reviews SET status='approved', reviewer=?, reviewed_at=? WHERE job_id=?", (reviewer, now(), job_id), ) db.commit() def reject(job_id, reviewer): db.execute( "UPDATE deck_reviews SET status='rejected', reviewer=?, reviewed_at=? WHERE job_id=?", (reviewer, now(), job_id), ) db.commit() if __name__ == "__main__": with open("sources/heart-failure-discharge.json", encoding="utf-8") as f: enqueue_for_review(json.load(f))

Два важных решения. Путь к файлу и строка в базе содержат версию источника и jobId, чтобы рецензент всегда мог ответить: «из каких слов сделан этот слайд?» И в скрипте нет шага публикации: публикация читает только строки со статусом approved.

Шаг 5: Создайте обучающие презентации для клинического персонала с озвучкой

Презентации для пациентов остаются на пути Fast PPT, потому что медсёстры и преподаватели редактируют их в PowerPoint. Обучение персонала обычно требует видео для новых сотрудников, которое можно посмотреть при адаптации, то есть слайды с дизайном изображений плюс голос: цепочка create-pdf-slidesgenerate-narration с тем же ключом и той же границей соответствия.

Отправьте утверждённый текст протокола. page: 0 позволяет планировщику выбрать количество слайдов; resolution: "2K" удерживает стоимость на уровне 100 кредитов за страницу.

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": "Обучение персонала: гигиена рук и последовательность надевания и снятия СИЗ для стационарных отделений. Утверждённая версия протокола 2026.09. <утверждённый текст протокола здесь>", "designStyle": "Спокойный клинический обучающий стиль, мягкий синий и белый, крупный читаемый шрифт, простые линейные иконки, без фотографий пациентов", "aspectRatio": "16:9", "resolution": "2K", "page": 0, "contentDetail": "standard", "responseLanguage": "English" }'

Опрос jobs/{jobId} как раньше. Когда презентация готова (success), запросите озвучку для этой задачи:

curl -s -X POST https://2slides.com/api/v1/slides/generate-narration \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jobId": "<jobId из create-pdf-slides>", "mode": "single", "speakerName": "Clinical Educator", "voice": "Kore", "contentMode": "standard", "includeIntro": true }'

Озвучка доступна только в асинхронном режиме и стоит 210 кредитов за страницу. Когда она завершится, POST /api/v1/slides/download-slides-pages-voices с { "jobId": "..." } вернёт бесплатный ZIP с PNG и WAV по страницам, которые ваша конвейерная система объединит в MP4 с помощью FFmpeg или передаст LMS. Скрипты озвучки проходят ту же проверку рецензентом, что и слайды; неверная доза в аудио — всё равно ошибка. Для структуры контента смотрите как сделать обучающую презентацию с AI; если протокол в PDF, то PDF в слайды покрывает суммирование перед отправкой.

Шаг 6: Публикация, отметка версии и аудит автоматизации слайдов для обучения пациентов

Публикация — это запрос к базе, а не вызов генерации. Издатель выбирает строки со статусом approved, копирует PPTX (или экспортированный PDF) в портал пациента, киоск или LMS и печатает отметку версии на опубликованной странице: версия источника, дата утверждения, язык. Когда исходная запись меняется на 2026.10.1, задача регенерирует все языки, старые строки помечаются как superseded, и очередь рецензирования заполняется заново.

Таблица deck_reviews — ваш журнал аудита. По каждой презентации она отвечает на вопросы, которые задаст команда качества: какая версия источника, какая контрольная сумма, какой шаблон, какой jobId, кто рецензировал и когда. Храните её столько, сколько требует ваша политика хранения данных.

Выбор референсного стиля

Если ни один шаблон Fast PPT не соответствует вашему визуальному стилю, путь с дизайном изображений может вывести дизайн-систему из референса. Галерея 2Slides содержит реальные референсные презентации, которые можно передать как referenceImageUrl в create-like-this или использовать как вдохновение для designStyle в запросе. Это референсные презентации, а не API-выводы из этого рабочего процесса.

The Future of Wellness 2025 reference deck from the 2Slides Gallery, a calm health-sector visual style

Рисунок 3: Титульный слайд "The Future of Wellness 2025 Edition" из Галереи 2Slides, мягкий, низкоконтрастный стиль для здравоохранения, подходящий как referenceImageUrl.

The Future of Wellness 2025 reference deck from the 2Slides Gallery, a calm health-sector visual style

Рисунок 4: Контентный слайд из той же презентации Галереи, показывающий, как сдержанная палитра сохраняет читаемость клинической информации.

2Slides Gallery detail page for a health-sector deck with slide-by-slide preview and PPT/PDF download

Рисунок 5: Страница деталей Галереи с просмотром слайдов и загрузкой PPT/PDF; скопируйте URL изображения слайда сюда для использования как референса.

Для большинства больничных команд лучшим референсом будет ваш собственный утверждённый брендовый слайд: разместите его по публичному URL, передайте как referenceImageUrl, и каждая презентация персонала унаследует эту дизайн-систему.

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

Два реалистичных ежемесячных объёма. Презентации для пациентов — это 8-страничные Fast PPT-файлы; обучающие презентации для персонала — 10-страничные 2K слайды с озвучкой.

ПозицияКредиты за единицуУровень A: 20 презентаций для пациентов + 2 озвученных обучающихУровень B: 500 презентаций для пациентов + 10 озвученных обучающих
Презентация для пациента, 8 страниц, Fast PPT801,60040,000
Презентация для персонала, 10 страниц, 2K изображения1,0102,02010,100
Озвучка, 10 страниц2,1004,20021,000
Итого кредитов7,82071,100
Приблизительно в USD$19.55 при $0.0025/кредит (пакет $22.50 за 10,000)$142.20 при $0.002/кредит (пакеты $80 за 40,000)

Уровень A — это библиотека из 10 заболеваний на 2 языках плюс два обучающих видео в месяц. Уровень B — библиотека из 50 заболеваний на 10 языках плюс десять видео, примерно для многопрофильной системы. Кредиты оплачиваются по факту; опциональный план Pro добавляет 10,000 кредитов в месяц, но не обязателен для доступа к API.

Fast PPT или слайды с дизайном изображений для этого кейса?

ПотребностьИспользоватьПочему
Раздаточные материалы для пациентов, которые медсёстры будут редактировать и печататьgenerate (Fast PPT)Нативный редактируемый PPTX, 10 кредитов/страница, около 30 секунд на презентацию
Тот же контент на 10 языкахgenerate с responseLanguageОдин источник, одно изменение параметра на язык
Видео для адаптации персоналаcreate-pdf-slides, затем generate-narrationТолько слайды с дизайном изображений можно озвучивать; ZIP с PNG + WAV для сборки MP4
Презентации, которые должны соответствовать фирменному стилю больницыcreate-like-this с referenceImageUrlВыводит дизайн-систему из вашего утверждённого слайда

Fast PPT нельзя озвучивать. Презентация для пациентов с аудио для низкой грамотности идёт по пути с дизайном изображений за 100 кредитов за страницу плюс 210 за страницу озвучки и возвращается в виде PDF и изображений, а не редактируемого PPTX.

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

  • PHI просачивается через второстепенное поле. Абзац с «клиническим примером» в руководстве может содержать реальные данные пациента. Запускайте проверку паттернов на каждом поле, которое вы конкатенируете в userInput, и держите ручную деидентификацию выше по потоку.
  • Превышение лимита запросов при массовой регенерации. generate, create-pdf-slides и generate-narration допускают 6 запросов в минуту на ключ. Отправляйте задачи с интервалом 10 секунд; перестройка 50 заболеваний на 10 языков — это 500 задач и около 84 минут отправки, что подходит для ночной задачи.
  • API-ключ в фронтенде или блокноте. Ключи должны храниться в серверных переменных окружения. Переиздайте ключ, если он когда-либо появился в общем документе.
  • Попытка озвучить Fast PPT задачу. generate-narration отклоняет jobId из generate. Используйте create-pdf-slides или create-like-this для всего, что требует голоса.
  • Язык передан как код. responseLanguage принимает имя, например "Vietnamese" или "Traditional Chinese". Коды вроде "vi" не работают.
  • Вставка целого 40-страничного руководства. Длинные входные данные создают плотные, перегруженные слайды. Сначала суммируйте до 6–10 ключевых пунктов для пациента или установите page: 0 на пути с дизайном изображений, чтобы планировщик выбрал количество.

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

Безопасно ли отправлять контент для обучения пациентов в AI API презентаций?

Это приемлемо, если контент утверждён, предназначен для широкой аудитории и не содержит защищённой медицинской информации. Инструкции при выписке для «пациентов с сердечной недостаточностью» не содержат PHI; заметка с именем пациента — содержит. Автоматизируйте проверку PHI и держите её выше по потоку, привлекая специалиста по конфиденциальности. 2Slides не заявляет о сертификации HIPAA, и эта статья не является юридической консультацией.

На каких языках можно генерировать многоязычные материалы для обучения пациентов?

2Slides поддерживает более 20 языков вывода через responseLanguage, включая английский, испанский, арабский, португальский, вьетнамский, упрощённый и традиционный китайский, хинди, корейский, русский, французский и немецкий. Передавайте имя языка, а не ISO-код. Рассматривайте вывод как первый черновик для проверки двуязычным клиницистом или сертифицированным медицинским переводчиком перед публикацией.

Можно ли озвучивать презентации для пациентов так же, как обучающие для персонала?

Да, но только по пути с дизайном изображений. Генерируйте презентацию для пациента через create-pdf-slides (100 кредитов за страницу при 2K), затем вызывайте generate-narration за 210 кредитов за страницу. Озвученная 6-страничная презентация для пациента стоит 10 + 600 + 1,260 = 1,870 кредитов, около $4.68. Fast PPT задачи озвучить нельзя.

Как обновлять руководство на всех языках?

Повышайте версию исходной записи, помечайте старые строки как superseded и перезапускайте задачу. Каждому языку присваивается новый jobId, путь к файлу с новой версией и новая строка pending_review. Отметка публикации меняется только после утверждения рецензентом, так что пациенты не увидят непроверенное обновление, а журнал аудита покажет, когда каждый язык обновился.

Как это сравнивается с другими API для генерации медицинских презентаций?

API Gamma, описанный на developers.gamma.app, предлагает похожую автоматизацию генерации, но требует Pro-план для выдачи API-ключей, тогда как ключи 2Slides работают на любом аккаунте, включая бесплатный с 500 кредитами. Это даёт возможность пилотного проекта в больнице до покупки. Оба — сторонние сервисы, поэтому одинаковые правила деидентификации применимы к обоим, а это сравнение написано командой 2Slides.

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

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

About 2Slides

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

Try For Free