Vue d’ensemble de l’API
Appelez Speechdash depuis votre propre application et créez les clés API qui l’autorisent.
L’API de Speechdash permet à votre propre application de créer des documents et de générer des voix avec les mêmes voix que l’application. Tout ce que vous créez via l’API apparaît également dans votre bibliothèque. Les transcriptions audio et vidéo terminées créées dans l’application apparaissent également comme des documents de bibliothèque (source est transcription, avec un transcript_id). Il n’existe pas de ressource REST /transcripts : utilisez les points de terminaison des documents. L’API ne lance pas de tâches de transcription.
URL de base :
https://api.speechdash.com/v1Vérification de santé (sans clé API) : GET https://api.speechdash.com/health
Le contrat lisible par machine est publié à l’adresse https://api.speechdash.com/v1/openapi.json, afin que vous puissiez générer un client pour votre langage.
Points de terminaison
| Méthode | Chemin | Objectif |
|---|---|---|
GET | /health | État du service (hors /v1) |
GET | /v1/openapi.json | Document OpenAPI 3.1 |
GET | /v1/me | Compte, abonnement et portefeuille |
GET | /v1/documents | Liste des documents de bibliothèque, y compris les transcriptions terminées |
POST | /v1/documents | Crée un document texte (source=api) |
GET | /v1/documents/{document_id} | Lit un document et son texte |
PUT | /v1/documents/{document_id} | Met à jour le titre, le texte, la langue, is_archived, ou visibility |
DELETE | /v1/documents/{document_id} | Supprime un document |
POST | /v1/documents/{document_id}/translate | Nouvelle version traduite (mêmes crédits que l’export en MP3) |
GET | /v1/documents/{document_id}/export | Téléchargez pdf, docx, txt, csv, srt, ou vtt |
POST | /v1/audio/speech | Synthétise jusqu’à 5 000 caractères (JSON + audio) |
POST | /v1/audio/stream | Flux WAV, jusqu’à 20 000 caractères |
POST | /v1/audio/stream/with-timestamps | SSE avec audio par phrase et marques |
GET | /v1/voices | Catalogue des voix |
GET | /v1/voices/{voice_id} | Une présélection de voix |
Pages OpenAPI interactives : Compte, Documents, Audio, Voix.
Serveur MCP (pour les assistants IA)
Si vous utilisez Cursor, Claude Desktop ou un autre client MCP, vous pouvez ajouter le serveur MCP officiel de Speechdash au lieu d’appeler HTTP vous-même. Il expose la même bibliothèque (y compris les transcriptions terminées), la traduction, l’export, les voix, un instantané du compte et la synthèse vocale non en flux comme outils, tous soutenus par les mêmes clés API et facturation que ce guide. La synthèse vocale en flux reste sur REST.
Consultez Serveur MCP pour la liste complète des outils et la configuration (stdio ou Streamable HTTP). Vous pouvez également lire le Hub des Agents sur le site marketing pour des documents lisibles par machine ciblant les systèmes IA. Les utilisateurs finaux peuvent commencer par Clés API et MCP dans ce Centre d’aide.
Créer une clé API
Ouvrez Paramètres → API.
Cliquez sur Nouvelle clé et donnez-lui un nom indiquant où elle sera utilisée, comme Serveur de production.
Copiez la clé immédiatement. Seule sa partie initiale est enregistrée, elle est donc affichée une seule fois et jamais à nouveau.
Une clé agit sur votre compte. Gardez-la sur votre serveur, jamais dans un navigateur, une application mobile ou un dépôt public. Si une clé fuit, révoquez-la depuis Paramètres → API et en créez une nouvelle.
Vous pouvez conserver jusqu’à 10 clés actives, les renommer à tout moment et voir quand chacune a été utilisée pour la dernière fois. La révocation d’une clé arrête immédiatement ses requêtes.
Authentifier une requête
Envoyez la clé en tant que jeton porteur :
curl https://api.speechdash.com/v1/me \
-H "Authorization: Bearer sh_live_votre_clé"Les requêtes sans clé valide répondent par 401 avec le code unauthorized.
GET /me retourne votre identifiant de compte, votre adresse e-mail, votre abonnement et le solde de votre portefeuille (wallet_cents et display_credits), ainsi que des métadonnées sur la clé API utilisée. Utilisez-le pour vérifier une clé après la configuration (par exemple dans Zapier).
POST /documents et POST /audio/speech acceptent un en-tête optionnel Idempotency-Key. La répétition de la même clé avec le même corps rejoue la première réponse réussie pendant 24 heures, de sorte qu’un problème réseau ne crée pas un deuxième document ou ne facture la synthèse vocale deux fois. Si une réponse de synthèse vocale est trop grande pour être stockée, une répétition avec la même clé répond 409 au lieu de régénérer (la requête originale a déjà été facturée). Une déconnexion de client sur /audio/speech répond 204, règle toute l’audio déjà produite et libère la clé pour qu’une répétition puisse régénérer. Les points de terminaison audio en flux rejettent l’en-tête.
Crédits
La synthèse vocale dépense des crédits du même portefeuille que l’application : 0,5 crédits (1 cent de portefeuille) par tranche de 30 secondes d’audio généré démarrée. Chaque requête détient une estimation (plus une petite marge) avant le début de la génération, puis se règle à l’audio qui a effectivement été produit. Le solde non utilisé est remboursé ; chaque requête réglée apparaît dans Paramètres → Utilisation des crédits sous Synthèse vocale API. Le champ billed_credits dans les réponses API est en cents de portefeuille (2 cents = 1 crédit d’affichage). Si un flux est interrompu en cours de route, les phrases déjà livrées sont tout de même facturées.
Si votre solde ne peut pas couvrir le solde provisionnel, l’API répond 402 avec le code payment_required avant de générer quoi que ce soit.
La création de documents ne dépense pas de crédits, mais elle compte dans la limite quotidienne de documents de votre abonnement (Gratuit : 3 par jour ; Unlimited : pas de limite quotidienne) et les limites de durée de téléchargement. L’export de fichiers ne dépense pas de crédits.
Facturation vs lecture en nuage dans l’application
La lecture en nuage dans l’application réutilise le cache par phrase par document : la lecture d’une phrase déjà générée sur le serveur peut coûter 0 crédits d’affichage. Les points de terminaison REST et MCP de synthèse vocale synthétisent toujours un audio frais et facturent par tranche de 30 secondes démarrée au même taux lorsque la génération a lieu. Il n’y a pas de cache de lecture pour la synthèse API ou MCP.
Limites
| Limite | Valeur |
|---|---|
Requêtes vers /documents | 120 par minute, par compte |
Requêtes vers /audio/* | 60 par minute, par compte |
| Requêtes de synthèse vocale parallèles | 3 par compte |
POST /audio/speech input | 5 000 caractères |
POST /audio/stream input | 20 000 caractères |
| Texte du document | 500 000 caractères |
| Clés API actives | 10 |
Les limites de débit sont comptabilisées par compte, et non par clé, donc des clés supplémentaires ne font pas augmenter votre quota. Chaque réponse inclut X-Request-ID, et /documents ainsi que /audio/* retournent également X-RateLimit-Limit, X-RateLimit-Remaining, et X-RateLimit-Reset. Citez X-Request-ID lorsque vous contactez le support.
Les requêtes de synthèse vocale ont également une limite de parallélisme : une quatrième requête simultanée répond 429 tant que trois sont encore en cours, afin qu’une seule intégration ne monopolise pas la synthèse. Retentez 429 et 503 après l’en-tête Retry-After.
Pour du contenu plus long que les limites de synthèse vocale, créez un document avec POST /v1/documents et exportez son audio depuis l’application.
Documents : partager, traduire, exporter
Les documents sérialisés incluent visibility et share_url (null lorsqu’ils sont privés). PUT /v1/documents/{id} accepte visibility pour publier une page en lecture seule non répertoriée à l’adresse /share/document/{id}, et is_archived pour archiver ou restaurer. Les pages partagées sont uniquement textuelles. Elles ne jouent pas d’audio facturé.
POST /v1/documents/{id}/translate crée une nouvelle version traduite. Elle facture le même portefeuille de crédits que l’export en MP3 (0,5 crédits d’affichage / 1 centime de portefeuille par tranche de 30 secondes de synthèse estimée entamée) et répond 402 lorsque le portefeuille est insuffisant. Elle répond 503 lorsque la traduction n’est pas configurée ou indisponible. Les horodatages de transcription (**0:34**, **SPEAKER_00** · 0:34, (0:34)) sont des références de lecture : ils sont recopiés tels quels et ne passent pas par le moteur de traduction.
GET /v1/documents/{id}/export?format=pdf|docx|txt|csv|srt|vtt télécharge la version actuelle en pièce jointe. Ajoutez timestamps=1 pour inclure les temps de section dans le PDF, DOCX, TXT et CSV. SRT et VTT nécessitent une transcription ou des horodatages de phrases complètes. Le texte stocké sur GET /v1/documents/{id} conserve les en-têtes d’horodatage de transcription. Les masquer est un paramètre de bascule uniquement pour le lecteur de l’application.