API-overzicht
Roep Speechdash op vanuit uw eigen applicatie en maak de API-sleutels aan die deze autoriseren.
De Speechdash API stelt uw eigen applicatie in staat om documenten te maken en spraak te genereren met dezelfde stemmen als in de app. Alles wat u via de API maakt, verschijnt ook in uw bibliotheek. Afgeronde audio- en videotranscripties die in de app zijn gemaakt, verschijnen als bibliotheekdocumenten (source is transcription, met een transcript_id). Er is geen /transcripts REST-ressource: gebruik de document-eindpunten. De API start geen transcriptieopdrachten.
Base URL:
https://api.speechdash.com/v1Gezonde status (geen API-sleutel): GET https://api.speechdash.com/health
De machineleesbare contracten zijn gepubliceerd op https://api.speechdash.com/v1/openapi.json, zodat u een client kunt genereren voor uw programmeertaal.
Eindpunten
| Methode | Pad | Doel |
|---|---|---|
GET | /health | Dienststatus (niet onder /v1) |
GET | /v1/openapi.json | OpenAPI 3.1-document |
GET | /v1/me | Account, plan en portemonnee |
GET | /v1/documents | Lijst met bibliotheekdocumenten, inclusief afgeronde transcripties |
POST | /v1/documents | Maak een tekstdocument (source=api) |
GET | /v1/documents/{document_id} | Lees een document en de tekst |
PUT | /v1/documents/{document_id} | Bijwerk titel, tekst, taal, is_archived, of visibility |
DELETE | /v1/documents/{document_id} | Verwijder een document |
POST | /v1/documents/{document_id}/translate | Nieuwe vertaalde versie (zelfde credits als MP3-export) |
GET | /v1/documents/{document_id}/export | Download pdf, docx, txt, csv, srt, of vtt |
POST | /v1/audio/speech | Synthesiseer tot 5.000 tekens (JSON + audio) |
POST | /v1/audio/stream | Stream WAV, tot 20.000 tekens |
POST | /v1/audio/stream/with-timestamps | SSE met per-zin audio en markeringen |
GET | /v1/voices | Stemmencatalogus |
GET | /v1/voices/{voice_id} | Een stemvoorkeur |
Interactieve OpenAPI-pagina's: Account, Documenten, Audio, Stemmen.
MCP-server (voor AI-assistenten)
Als u Cursor, Claude Desktop of een ander MCP-client gebruikt, kunt u de officiële Speechdash MCP-server toevoegen in plaats van zelf HTTP-oproepen te doen. Deze biedt dezelfde bibliotheek (inclusief afgeronde transcripties), vertalen, exporteren, stemmen, account-snapshot en niet-stroomende spraaksynthese als tools die worden ondersteund door dezelfde API-sleutels en facturering als in deze handleiding. Stroomende spraak blijft op REST.
Zie MCP-server voor de volledige lijst met tools en installatie (stdio of Streamable HTTP). U kunt ook de Agents hub op de marketingwebsite lezen voor machineleesbare documentatie gericht op AI-systemen. Eindgebruikers kunnen beginnen met API-sleutels en MCP in deze Help Center.
Maak een API-sleutel aan
Ga naar Instellingen → API.
Klik op Nieuwe sleutel en geef deze een naam die aangeeft waar deze zal worden gebruikt, zoals Productieserver.
Kopieer de sleutel direct. Alleen het voorvoegsel wordt opgeslagen, dus deze wordt slechts één keer getoond en nooit meer.
Een sleutel handelt in uw account. Bewaar deze op uw server, nooit in een browser, een mobiele app of een openbare repository. Als een sleutel lekt, intrek deze via Instellingen → API en maak er een nieuwe aan.
U kunt tot 10 actieve sleutels behouden, deze op elk moment hernoemen en zien wanneer elke sleutel voor het laatst is gebruikt. Intrekken van een sleutel stopt onmiddellijk alle aanvragen met die sleutel.
Authentificeer een aanvraag
Stuur de sleutel op als een beargertoken:
curl https://api.speechdash.com/v1/me \
-H "Authorization: Bearer sh_live_jouw_sleutel"Aanvragen zonder een geldige sleutel antwoorden met 401 en de code unauthorized.
GET /me retourneert uw account-id, e-mail, plan en portemonneebalans (wallet_cents en display_credits), plus metadata over de gebruikte API-sleutel. Gebruik dit om een sleutel te verifiëren na de installatie (bijvoorbeeld in Zapier).
POST /documents en POST /audio/speech accepteren een optionele Idempotency-Key-header. Herhalen van dezelfde sleutel met hetzelfde lichaam herhaalt het eerste succesvolle antwoord gedurende 24 uur, zodat een netwerkblip geen tweede document maakt of spraak tweemaal in rekening brengt. Als een spraakantwoord te groot is om op te slaan, antwoordt een herhaling met dezelfde sleutel met 409 in plaats van het opnieuw te genereren (de oorspronkelijke aanvraag is al gefactureerd). Een clientafsluiting op /audio/speech antwoordt met 204, regelt eventuele al geproduceerde audio en vrijgeeft de sleutel zodat een herhaling het opnieuw kan genereren. Stroomende audio-eindpunten weigeren de header.
Tegoeden
Spraaksynthese gebruikt credits uit dezelfde portemonnee als de app: 0,5 credits (1 portemonnee-cent) per gestarte 30 seconden van gegenereerde audio. Elke aanvraag houdt een schatting (plus een kleine marge) vast voordat de generatie begint, en regelt vervolgens de daadwerkelijk geproduceerde audio. Ongebruikte reserves worden terugbetaald; elke geregeld aanvraag verschijnt in Instellingen → Creditgebruik als API-spraaksynthese. Het veld billed_credits in API-antwoorden is portemonnee-centen (2 centen = 1 weergave-credit). Als een stream wordt onderbroken halverwege, worden de al geleverde zinnen nog steeds in rekening gebracht.
Als uw saldo de reserve niet kan dekken, antwoordt de API met 402 en de code payment_required voordat er iets wordt gegenereerd.
Het maken van documenten verbruikt geen credits, maar het telt mee voor de dagelijkse documentlimiet van uw plan (Gratis: 3 per dag; Unlimited: geen dagelijkse limiet) en uploadduurbeperkingen. Het exporteren van bestanden verbruikt geen credits.
Facturering vs Cloud-afspelen in-app
In-app Cloud-herafspelen hergebruikt per-document zin-cache: het opnieuw afspelen van een zin die al op de server is gegenereerd kan 0 weergave-credits kosten. REST- en MCP-spraakeindpunten genereren altijd frisse audio en factureren per gestarte 30 seconden op hetzelfde tarief wanneer de generatie plaatsvindt. Er is geen herafspeelcache op API- of MCP-synthese.
Limieten
| Limiet | Waarde |
|---|---|
Aanvragen naar /documents | 120 per minuut, per account |
Aanvragen naar /audio/* | 60 per minuut, per account |
| Parallelle spraakaanvragen | 3 per account |
POST /audio/speech input | 5.000 tekens |
POST /audio/stream input | 20.000 tekens |
| Documenttekst | 500.000 tekens |
| Actieve API-sleutels | 10 |
Rate-limits worden per account geteld, niet per sleutel, dus extra sleutels verhogen uw quota niet. Elke respons bevat X-Request-ID, en /documents plus /audio/* geven ook X-RateLimit-Limit, X-RateLimit-Remaining, en X-RateLimit-Reset terug. Quote X-Request-ID als u contact opneemt met de ondersteuning.
Spraakaanvragen hebben ook een parallelismebeperking: een vierde gelijktijdige aanvraag antwoordt met 429 terwijl er nog drie aan het uitvoeren zijn, zodat één integratie synthese niet kan monopoliseren. Herhaal 429 en 503 na de Retry-After-header.
Voor inhoud die langer is dan de spraaklimieten, maakt u een document met POST /v1/documents en exporteert u de audio uit de app.
Documenten: delen, vertalen, exporteren
Geserialiseerde documenten bevatten visibility en share_url (null als privé). PUT /v1/documents/{id} accepteert visibility om een ongelijst leesbare pagina te publiceren op /share/document/{id}, en is_archived om een document te archiveren of te herstellen. Gedeelde pagina's zijn tekst alleen. Ze spelen geen gefactureerde audio af.
POST /v1/documents/{id}/translate maakt een nieuwe vertaalde versie aan. Het factureert dezelfde portemonnee als MP3-export (0,5 credits per gestarte 30 seconden van geschatte spraak) en antwoordt met 402 als de portemonnee te kort is. Het antwoordt met 503 als vertaling niet is geconfigureerd of offline is.
GET /v1/documents/{id}/export?format=pdf|docx|txt|csv|srt|vtt downloadt de huidige versie als bijlage. Voeg timestamps=1 toe om sectietijden op PDF, DOCX, TXT en CSV in te sluiten. SRT en VTT hebben een transcriptie of complete zin-timing nodig. Opgeslagen text op GET /v1/documents/{id} behoudt transcript-tijdstempelkoppen. Het verbergen hiervan is een instelling van de app-lezer.