

Автоматизация слайдов для обучения пациентов с помощью 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 | Клинический рецензент, издатель | Утверждение или отклонение, отметка версии, публикация на портале или LMS | download-slides-pages-voices (бесплатный ZIP с PNG + WAV) |
Шаг 1: Определите границы соответствия и храните API-ключ на сервере
Перед написанием кода зафиксируйте границу: какой текст может покидать вашу сеть как userInput. Для обучения пациентов это утверждённый, предназначенный для широкой аудитории контент, описывающий заболевание, процедуру или инструкцию. Он никогда не описывает конкретного пациента. Правила конфиденциальности HIPAA, описанные на hhs.gov/hipaa, регулируют защищённую медицинскую информацию; ваш специалист по конфиденциальности решает, как сервис генерации третьей стороны вписывается в ваши политики. Ничто в этой статье не заменяет такую проверку.
Затем получите API-ключ на 2slides.com/api. Ключи выдаются на вкладке API Keys с 500 бесплатными кредитами — достаточно для примерно шести 8-страничных тестовых презентаций. Ключ хранится в менеджере секретов или в переменной окружения на сервере, никогда не в браузере, мобильном приложении или общем блокноте.

Рисунок 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" — да.

Рисунок 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-slides → generate-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-выводы из этого рабочего процесса.

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

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

Рисунок 5: Страница деталей Галереи с просмотром слайдов и загрузкой PPT/PDF; скопируйте URL изображения слайда сюда для использования как референса.
Для большинства больничных команд лучшим референсом будет ваш собственный утверждённый брендовый слайд: разместите его по публичному URL, передайте как referenceImageUrl, и каждая презентация персонала унаследует эту дизайн-систему.
Сколько это стоит
Два реалистичных ежемесячных объёма. Презентации для пациентов — это 8-страничные Fast PPT-файлы; обучающие презентации для персонала — 10-страничные 2K слайды с озвучкой.
| Позиция | Кредиты за единицу | Уровень A: 20 презентаций для пациентов + 2 озвученных обучающих | Уровень B: 500 презентаций для пациентов + 10 озвученных обучающих |
|---|---|---|---|
| Презентация для пациента, 8 страниц, Fast PPT | 80 | 1,600 | 40,000 |
| Презентация для персонала, 10 страниц, 2K изображения | 1,010 | 2,020 | 10,100 |
| Озвучка, 10 страниц | 2,100 | 4,200 | 21,000 |
| Итого кредитов | 7,820 | 71,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.
Следующие шаги
Автоматизация слайдов для обучения пациентов — это в основном задача управления с небольшим количеством кода: утверждённая исходная запись, задача, генерирующая презентацию на каждый язык, и очередь рецензирования, которая контролирует публикацию.
- Получите API-ключ на 2slides.com/api; 500 бесплатных кредитов хватит примерно на шесть 8-страничных тестовых презентаций.
- Ознакомьтесь с другими рецептами по командам в хаб-посте AI presentation API use cases by team.
- Связанные материалы: AI презентации для здравоохранения и медицинских слайдов для ручного рабочего процесса, который заменяет эта задача, и корпоративные обучающие видео с AI озвучкой для производственной стороны озвученных обучающих презентаций.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free