2Slides Logo
Automatisation des diapositives d'éducation des patients avec une API santé (2026)
2Slides Team
19 min read

Automatisation des diapositives d’éducation des patients avec une API santé (2026)

L’automatisation des diapositives d’éducation des patients signifie qu’un travail backend lit un texte source approuvé et dé-identifié (instructions de sortie, explications de procédures, directives cliniques) depuis votre référentiel de contenu et le transforme en présentations via l’API 2Slides. Fast PPT generate produit un PPTX éditable par pathologie et par langue à 10 crédits par page, donc une présentation de 8 pages coûte 80 crédits, soit environ 0,20 $. create-pdf-slides plus generate-narration produit des présentations de formation du personnel avec narration. Cette solution est conçue pour les équipes d’éducation hospitalière, les entreprises de santé numérique et les agences de communication médicale.

Points clés

  • Un seul document source approuvé devient une présentation par langue en changeant une seule valeur responseLanguage ; 2Slides prend en charge plus de 20 langues, dont l’espagnol, le vietnamien et l’arabe.
  • Une présentation patient Fast PPT de 8 pages coûte 80 crédits, soit environ 0,20 $ avec le pack de démarrage à 5 $ ; 500 présentations par mois représentent 40 000 crédits, soit exactement le pack à 80 $.
  • Une présentation de formation du personnel de 10 pages avec narration coûte 1 010 crédits pour les diapositives conçues en images plus 2 100 crédits pour la narration, soit environ 7,78 $ au total.
  • Seul le texte approuvé et dé-identifié est envoyé dans userInput : aucun nom de patient, numéro de dossier médical (MRN) ou date de naissance. Chaque jobId, version source et décision du réviseur est enregistré dans une table d’audit.
  • 2Slides ne revendique aucune certification HIPAA et cet article ne constitue pas un avis juridique ; les contrôles de conformité sont à mettre en œuvre et documenter par vos soins.

À qui cela s’adresse-t-il

Vous gérez l’éducation des patients dans un système hospitalier, vous êtes responsable du contenu dans une entreprise de santé numérique, ou vous produisez des supports dans une agence de communication médicale. La problématique est la même : une directive change, et 40 présentations spécifiques à une pathologie en 6 langues deviennent soudain obsolètes alors que les personnes qui pourraient les corriger sont en consultation. Un travail backend qui régénère les présentations à partir de la source approuvée et les envoie à un réviseur clinique supprime la reconstruction manuelle sans supprimer la relecture.

N’utilisez pas cette recette si votre texte source n’est pas encore approuvé, ou si des informations spécifiques à un patient doivent être intégrées dans une requête. Elle publie du contenu contrôlé à grande échelle ; elle ne génère pas de plans de soins individualisés.

Le flux de travail en un coup d’œil

ÉtapeOutilCe qui se passeEndpoint 2Slides / crédits
1Gestionnaire de secrets, service backendStocker la clé API côté serveur, définir quel texte peut entrer dans une requêteGET /api/v1/echo (vérification d’authentification gratuite)
2Référentiel de contenu (Git, CMS, DAM)Texte source approuvé, dé-identifié, avec horodatage de version et somme de contrôleaucun
3Travail backendChoisir un modèle clinique calme, générer une présentation par pathologie et par langueGET /api/v1/themes/search (gratuit), POST /api/v1/slides/generate (10 crédits/page)
4Exécuteur de tâches + base de données de revueInterroger, télécharger le PPTX, stocker avec jobId et version source, marquer en attente de revueGET /api/v1/jobs/{id} (gratuit)
5Même travail, piste formationPrésentation de formation du personnel conçue en images, puis narration pour vidéos d’intégrationcreate-pdf-slides (10 + 100/page à 2K), generate-narration (210/page)
6Réviseur clinique, éditeurApprouver ou rejeter, horodater la version, publier sur portail ou LMSdownload-slides-pages-voices (ZIP gratuit de PNG + WAV)

Étape 1 : Définir la limite de conformité et garder la clé API côté serveur

Avant tout code, définissez la limite : quel texte peut sortir de votre réseau sous forme de userInput. Pour l’éducation des patients, il s’agit de contenu approuvé, destiné au grand public, décrivant une pathologie, une procédure ou une consigne. Il ne décrit jamais un patient spécifique. La règle HIPAA sur la confidentialité, documentée sur hhs.gov/hipaa, régit les informations de santé protégées ; votre responsable de la confidentialité décide comment un service tiers de génération s’intègre à vos politiques. Rien dans cet article ne remplace cette revue.

Ensuite, obtenez une clé API sur 2slides.com/api. Les clés sont émises dans l’onglet API Keys avec 500 crédits gratuits, suffisants pour environ six présentations test de 8 pages. La clé doit être stockée dans un gestionnaire de secrets ou une variable d’environnement côté serveur, jamais dans un navigateur, une application mobile ou un carnet partagé.

Référence API 2Slides avec la note de sécurité pour garder les clés API côté serveur

Figure 1 : La page de référence API sur 2slides.com, incluant la note de sécurité indiquant que les clés doivent rester côté serveur.

Vérifiez la clé depuis le serveur qui exécutera le travail :

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

Une réponse authentifiée signifie que les identifiants sont en place et que vous pouvez passer au contenu.

Étape 2 : Préparer un contenu source approuvé et dé-identifié avec horodatage de version

Le travail de génération lit depuis un enregistrement, pas depuis une fenêtre de chat. Un enregistrement source minimal contient le texte approuvé, une version et l’organe approbateur, afin que chaque présentation puisse être retracée jusqu’aux mots exacts dont elle est issue.

{ "slug": "heart-failure-discharge", "title": "Retour à domicile après une hospitalisation pour insuffisance cardiaque", "version": "2026.09.1", "approved_by": "Comité d’éducation clinique", "approved_on": "2026-09-03", "reading_level": "Niveau 6ème", "approved_text": "L’insuffisance cardiaque signifie que le cœur ne pompe pas aussi bien qu’il le devrait. Après votre retour à domicile : pesez-vous chaque matin... Appelez votre équipe soignante si vous prenez 3 livres en un jour ou 5 livres en une semaine..." }

Trois règles garantissent que cet enregistrement est sûr à envoyer :

  • Jamais de PHI. Aucun nom, MRN, date de naissance, date de rendez-vous, ni aucune information décrivant une personne. Un passage regex pour MRN et les formats de date est effectué avant chaque soumission, et un contrôle échoué bloque le travail.
  • Texte approuvé uniquement. Le travail lit le champ approved_text d’un enregistrement dont le statut est approved. Les brouillons sont ignorés.
  • Source en langage clair. Fast PPT adapte votre formulation aux espaces réservés du modèle, donc un texte écrit à un niveau de lecture de 6ème produit des diapositives à ce niveau.

Étape 3 : Générer des supports d’éducation des patients multilingues avec Fast PPT

Choisissez le modèle une fois. Recherchez un style calme et clinique et stockez le themeId retourné en configuration :

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

Essayez aussi query=medical. Choisissez un contraste élevé, une grande taille de police, et pas d’infographies denses ; les présentations patients sont lues sur téléphone en salle d’attente et imprimées à la station des infirmières.

Puis générez une présentation par langue. La source anglaise reste la même ; seul responseLanguage change. Utilisez mode: "async" car vous soumettez plusieurs travaux en lot.

curl -s -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Retour à domicile après une hospitalisation pour insuffisance cardiaque. L’insuffisance cardiaque signifie que le cœur ne pompe pas aussi bien qu’il le devrait. Après votre retour à domicile : pesez-vous chaque matin avant le petit-déjeuner. Prenez vos médicaments exactement comme indiqué sur votre feuille de médicaments. Limitez le sel à la quantité indiquée par votre équipe soignante. Appelez votre équipe si vous prenez 3 livres en un jour ou 5 livres en une semaine, si vous êtes plus essoufflé, ou si vos jambes gonflent. Version source 2026.09.1, revue par le Comité d’éducation clinique.", "themeId": "<themeId from themes/search>", "responseLanguage": "Spanish", "mode": "async" }'

La réponse est { "jobId": "..." }. Répétez avec "Vietnamese", "Arabic", "Simplified Chinese", et toute autre langue de la liste prise en charge. Passez le nom de la langue, pas un code ; "es" ne fonctionnera pas, "Spanish" oui.

Endpoint generate de 2Slides avec responseLanguage et les 20+ langues supportées pour les supports patients

Figure 2 : Documentation de l’endpoint generate montrant responseLanguage et les plus de 20 langues de sortie supportées.

Interrogez toutes les 5 à 10 secondes jusqu’à ce que le travail soit success ou failed :

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

Un travail terminé retourne une downloadUrl pour le PPTX. La limite de requêtes est de 6 par minute par clé sur generate et 10 par minute sur jobs/{id}. Dix langues pour une pathologie signifient dix soumissions espacées de 10 secondes, et chaque présentation revient en environ 30 secondes.

Étape 4 : Construire la file d’attente de revue en Python (générer, stocker, approuver)

Le script ci-dessous lit un enregistrement source approuvé, génère une présentation par langue, télécharge chaque PPTX, et écrit une ligne dans une table deck_reviews avec le statut pending_review. Rien n’est publié depuis ce script. Un réviseur, un clinicien bilingue ou un traducteur médical certifié pour les versions non anglaises, appelle approve() après vérification du fichier.

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", } # Choisi une fois depuis GET /api/v1/themes/search?query=healthcare, stocké en config 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): # Garde minimale ; étendez avec vos propres motifs et une vérification humaine en amont. 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("Le texte source a échoué au contrôle des motifs 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) # interroger toutes les 5 à 10 secondes 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("Seuls les enregistrements source approuvés peuvent être générés") 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) # rester sous 6 requêtes/min par clé 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))

Deux choix de conception sont importants. Le chemin du fichier et la ligne de base de données portent la version source et le jobId, ainsi un réviseur peut toujours répondre à la question « quels mots ont produit cette diapositive ? ». Et le script ne comporte pas d’étape de publication : la publication ne lit que les lignes où status = 'approved'.

Étape 5 : Produire des présentations de formation du personnel clinique avec narration

Les présentations patients restent sur la voie Fast PPT car les infirmières et éducateurs les modifient dans PowerPoint. La formation du personnel nécessite souvent une vidéo qu’un nouveau collaborateur peut regarder lors de son intégration, ce qui signifie des diapositives conçues en images plus une voix : la chaîne create-pdf-slides puis generate-narration, avec la même clé et la même limite de conformité.

Soumettez le texte du protocole approuvé. page: 0 laisse le planificateur choisir le nombre de diapositives ; resolution: "2K" maintient le coût à 100 crédits par page.

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": "Formation : hygiène des mains et séquence de mise et retrait des EPI pour les unités hospitalières. Version du protocole approuvée 2026.09. <texte du protocole approuvé ici>", "designStyle": "Présentation de formation clinique calme, bleu doux et blanc, grande police lisible, icônes linéaires simples, pas de photos de patients", "aspectRatio": "16:9", "resolution": "2K", "page": 0, "contentDetail": "standard", "responseLanguage": "English" }'

Interrogez jobs/{jobId} comme avant. Quand la présentation est success, demandez la narration pour ce job :

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 from create-pdf-slides>", "mode": "single", "speakerName": "Clinical Educator", "voice": "Kore", "contentMode": "standard", "includeIntro": true }'

La narration est uniquement asynchrone et coûte 210 crédits par page. À la fin, POST /api/v1/slides/download-slides-pages-voices avec { "jobId": "..." } renvoie un ZIP gratuit de fichiers PNG et WAV par page que votre pipeline assemble en MP4 avec FFmpeg ou transmet à votre LMS. Les scripts de narration passent par le même réviseur que les diapositives ; une erreur dans l’audio reste une erreur. Pour structurer le contenu lui-même, voir comment créer une présentation de formation avec l’IA ; si le protocole est en PDF, le flux PDF vers diapositives couvre son résumé avant soumission.

Étape 6 : Publier, horodater et auditer votre automatisation des diapositives d’éducation des patients

La publication est une requête base de données, pas un appel de génération. L’éditeur sélectionne les lignes avec status = 'approved', copie le PPTX (ou un PDF exporté) vers le portail patient, un kiosque ou un LMS, et imprime le tampon de version sur la page publiée : version source, date d’approbation, langue. Quand l’enregistrement source change en 2026.10.1, le travail régénère toutes les langues, les anciennes lignes sont marquées superseded, et la file de revue se remplit à nouveau.

La table deck_reviews est votre journal d’audit. Par présentation, elle répond aux questions qu’une équipe qualité posera : quelle version source, quelle somme de contrôle, quel modèle, quel jobId, qui a révisé, et quand. Conservez-la aussi longtemps que votre politique de conservation des données l’exige.

Choisir un style de référence

Si aucun modèle Fast PPT ne correspond à votre identité visuelle, la voie image-design peut dériver un système de design à partir d’une référence. La Galerie 2Slides héberge des présentations de référence réelles que vous pouvez passer en referenceImageUrl à create-like-this, ou utiliser comme inspiration pour un prompt designStyle. Ce sont des présentations de référence, pas des sorties API de ce flux.

Présentation de référence The Future of Wellness 2025 de la Galerie 2Slides, style visuel calme secteur santé

Figure 3 : Diapositive de titre de « The Future of Wellness 2025 Edition » de la Galerie 2Slides, un style doux et peu contrasté adapté au secteur santé, utilisable comme referenceImageUrl.

Présentation de référence The Future of Wellness 2025 de la Galerie 2Slides, style visuel calme secteur santé

Figure 4 : Diapositive de contenu de la même présentation de la Galerie, montrant comment une palette restreinte maintient la lisibilité des informations cliniques.

Page de détail Galerie 2Slides pour une présentation secteur santé avec aperçu diapositive par diapositive et téléchargement PPT/PDF

Figure 5 : Page de détail de la Galerie, avec aperçu diapositive par diapositive et téléchargement PPT/PDF ; copiez une URL d’image de diapositive ici pour l’utiliser comme référence.

Pour la plupart des équipes hospitalières, la meilleure référence est votre propre diapositive de marque approuvée : hébergez-la à une URL publique, passez-la en referenceImageUrl, et chaque présentation du personnel hérite de ce système de design.

Coût estimé

Deux volumes mensuels réalistes. Les présentations patients sont des fichiers Fast PPT de 8 pages ; les présentations de formation du personnel sont des présentations image-design de 10 pages en 2K avec narration.

ÉlémentCrédits chacunNiveau A : 20 présentations patients + 2 formations narréesNiveau B : 500 présentations patients + 10 formations narrées
Présentation patient, 8 pages, Fast PPT801 60040 000
Présentation personnel, 10 pages, images 2K1 0102 02010 100
Narration, 10 pages2 1004 20021 000
Total crédits7 82071 100
Approx. USD19,55 $ à 0,0025 $/crédit (pack 22,50 $ pour 10 000)142,20 $ à 0,002 $/crédit (packs 80 $ pour 40 000)

Le niveau A correspond à une bibliothèque de 10 pathologies en 2 langues plus deux vidéos de formation par mois. Le niveau B correspond à une bibliothèque de 50 pathologies en 10 langues plus dix vidéos, soit un système multi-sites. Les crédits sont à la consommation ; le plan Pro optionnel ajoute 10 000 crédits par mois mais n’est pas requis pour l’accès API.

Fast PPT ou diapositives image-design pour ce cas d’usage ?

BesoinUtilisationPourquoi
Documents patients que les infirmières éditeront et imprimerontgenerate (Fast PPT)PPTX natif éditable, 10 crédits/page, environ 30 secondes par présentation
Même contenu en 10 languesgenerate avec responseLanguageUne source, un changement de paramètre par langue
Vidéo d’intégration pour le personnelcreate-pdf-slides puis generate-narrationSeuls les travaux image-design peuvent être narrés ; ZIP de PNG + WAV construit le MP4
Présentations devant correspondre à l’image de marque hospitalièrecreate-like-this avec referenceImageUrlDérive le système de design à partir de votre diapositive approuvée

Fast PPT ne peut pas être narré. Une présentation destinée aux patients nécessitant de l’audio pour les publics à faible alphabétisation passe par la voie image-design à 100 crédits par page plus 210 par page pour la narration, et revient en PDF plus images plutôt qu’en PPTX éditable.

Pièges courants

  • PHI qui s’infiltre via un champ secondaire. Un paragraphe « cas clinique » dans une directive peut contenir un détail patient réel. Passez le contrôle de motifs sur chaque champ concaténé dans userInput, et maintenez une étape humaine de dé-identification en amont.
  • Limite de requêtes atteinte lors d’un pic de régénération. generate, create-pdf-slides et generate-narration autorisent 6 requêtes par minute par clé. Espacer les soumissions de 10 secondes ; une reconstruction 50 pathologies par 10 langues fait 500 travaux et environ 84 minutes de soumissions, adapté à un travail nocturne.
  • Clé API dans un front-end ou carnet. Les clés restent dans des variables d’environnement côté serveur. Faites tourner la clé si elle apparaît dans un document partagé.
  • Essayer de narrer un travail Fast PPT. generate-narration rejette les jobIds de generate. Utilisez create-pdf-slides ou create-like-this pour tout ce qui nécessite une voix.
  • Langue passée en code. responseLanguage prend un nom comme "Vietnamese" ou "Traditional Chinese". Les codes comme "vi" échouent.
  • Une directive de 40 pages collée en entier. Les entrées longues produisent des diapositives denses et surchargées. Résumez d’abord aux 6 à 10 points destinés aux patients, ou mettez page: 0 sur la voie image-design et laissez le planificateur choisir le nombre.

Questions fréquemment posées

Est-il sûr d’envoyer du contenu d’éducation des patients à une API de présentation IA ?

C’est approprié lorsque le contenu est approuvé, destiné au grand public, et ne contient aucune information de santé protégée. Les instructions de sortie pour « patients avec insuffisance cardiaque » ne contiennent pas de PHI ; une note sur un patient nommé en contient. Maintenez le contrôle PHI automatisé et en amont et impliquez votre responsable de la confidentialité. 2Slides ne revendique pas de certification HIPAA, et cet article ne constitue pas un avis juridique.

Dans quelles langues peut-on générer des supports d’éducation des patients multilingues ?

2Slides supporte plus de 20 langues de sortie via responseLanguage, dont l’anglais, l’espagnol, l’arabe, le portugais, le vietnamien, le chinois simplifié, le chinois traditionnel, l’hindi, le coréen, le russe, le français et l’allemand. Passez le nom de la langue, pas un code ISO. Traitez la sortie comme un premier brouillon à faire relire par un clinicien bilingue ou un traducteur médical certifié avant publication.

Les présentations destinées aux patients peuvent-elles être narrées comme les formations du personnel ?

Oui, mais uniquement sur la voie image-design. Générez la présentation patient avec create-pdf-slides (100 crédits par page en 2K) au lieu de Fast PPT, puis appelez generate-narration à 210 crédits par page. Un explainer patient narré de 6 pages coûte 10 + 600 + 1 260 = 1 870 crédits, soit environ 4,68 $. Les travaux Fast PPT ne peuvent pas être narrés.

Comment gérer une mise à jour de directive dans toutes les langues ?

Augmentez la version de l’enregistrement source, marquez les anciennes lignes superseded, et relancez le travail. Chaque langue reçoit un nouveau jobId, un chemin de fichier contenant la nouvelle version, et une nouvelle ligne pending_review. Le tampon publié change uniquement quand un réviseur approuve, donc les patients ne voient jamais une mise à jour non revue, et le journal d’audit montre quand chaque langue a basculé.

Comment cela se compare-t-il aux autres API pour générer des présentations médicales ?

L’API Gamma, documentée sur developers.gamma.app, offre une automatisation similaire mais nécessite un plan Pro pour obtenir des clés API, tandis que les clés 2Slides fonctionnent sur tout compte, y compris la version gratuite avec 500 crédits. Cela rend possible un pilote IT hospitalier avant tout achat. Ce sont deux services tiers, donc les mêmes règles de dé-identification s’appliquent, et cette comparaison est écrite par l’équipe 2Slides.

Prochaines étapes

L’automatisation des diapositives d’éducation des patients est surtout un exercice de gouvernance avec un peu de code : un enregistrement source approuvé, un travail qui génère une présentation par langue, et une file de revue qui contrôle la publication.

About 2Slides

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

Try For Free