Documentation Portal
Invalid access code

Dashboard

All systems operational
v4.9
Munin Articulate™
Updated today
59,459
Training Examples
+640 last 24 hours
99.94%
Uptime (30 days)
SLA target: 99.9%
18
Active Languages
incl. Northern Sami
PASS
Munin Deploy Gate™
1,500/1,500 tests passed
34
Available Voices
Nora, Erik production voices

Platform Improvements

Munin Huginn™ continuously improves the platform. The chart shows the growth of training data and model quality over time.

60K 55K 50K 45K 40K v4.1 v4.2 v4.3 v4.4 v4.5 v4.6 v4.7 v4.8 v4.9 Training examples Response time (ms)

Recent Updates

9 June
Full Genesys TTS Connector verification — 129/129 tests passed, 16 languages, 34 voices
8 June
Munin Articulate™ v4.9 deployed — 59,459 training examples, 1,500/1,500 Deploy Gate™ PASS
7 June
Genesys TTS Connector (BYOT-A) implemented — ready for integration
5 June
Documentation portal, status page and admin panel launched
3 June
New language: Northern Sami (davvisamegiella)
2 June
Munin Deploy Gate™ v4.8 passed: 0 regressions

Key Metrics

Munin Accelerate™ hit rate53%
Response time with Accelerate™3 ms
Average response time~300 ms
Pronunciation corrections (nb)73 rules
Pronunciation languages supported13
Stress test passed63,000+ requests
Latest deploy gatePASS

Platform Overview

Munin Labs operates a fully isolated infrastructure within AWS EU regions. All processing takes place within the customer's chosen AWS region. Data never leaves the EU.

Production Architecture

Genesys Cloud TTS Connector / HTTPS TLS 1.3 PRODUCTION (api.muninlabs.io) Munin Gateway Munin Voice Engine™ Munin Articulate™ Munin Accelerate™ Munin Sentinel™ Munin Refine™ EU Data Residency (encrypted, per-customer isolation) FAILOVER (automatic LB retry) Identical configuration, separate hardware, different AZ DEVELOPMENT api.dev.muninlabs.io Identical to production Munin Huginn™ Continuous improvement 24/7 Munin Deploy Gate™ 1,500 automated tests Network Isolation • All services run in a private VPC (no public IPs except gateway) • TLS 1.3 end-to-end. Certificates renewed automatically • Customer data encrypted at rest (AES-256) and in transit. Munin Accelerate™ optimised. No permanent storage • Per-customer segregation (Munin Accelerate™ isolation) • No third-party services in the data processing chain • AWS EU region, GDPR-compliant

Language Endpoints

Each language has a dedicated endpoint. No language detection required — the endpoint enforces the correct language. This eliminates misclassification and delivers the highest possible quality.

HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io
HTTPSapi.muninlabs.io

Customer-Isolated Endpoints

For enterprise customers we provide fully isolated endpoints with dedicated data storage, individual SLA targets and segregated reporting.

Example: Customer-isolated setup Upon onboarding, the customer's own endpoints are provisioned automatically: nb.{customer}.api.muninlabs.io
sv.{customer}.api.muninlabs.io
da.{customer}.api.muninlabs.io
Each customer receives isolated Munin Accelerate™, dedicated logging, and full GDPR deletion with a single command.
CapabilityDescription
Data isolationFully separated data storage per customer. No cross-contamination possible
Munin Accelerate™Dedicated per customer. No sharing of optimised data
GDPR deletionA single API command permanently and irreversibly deletes all customer data
Per-customer SLAIndividual uptime monitoring and reporting
LoggingSegregated logging — each customer sees only their own data

Security Overview

Munin Labs is built with security as a foundational principle. All data processing takes place in AWS EU regions, with encryption at every layer and no third-party services involved in data processing.

Encryption

In transitTLS 1.3
At restAES-256
Certificate managementAutomatic renewal
API key hashingbcrypt (cost 14)
HTTPSTLS 1.3 (encrypted)

Access Control

AuthenticationAPI key (Bearer token)
AuthorisationPer-customer isolation (RLS)
Admin accessAuthenticated access controls
Network accessOnly port 443 open externally
Internal communicationPrivate VPC, no public IPs

Data Residency

Guaranteed EU Processing All data processing takes place in AWS EU regions (Ireland/Frankfurt/Stockholm). No data leaves the EU region. No US access. No third-party services in the data processing chain.
Data TypeStorageRetention
Audio (speech)RAM only during processingMunin Accelerate™ optimised, no permanent storage
TranscriptionsEncrypted, per-customer isolationConfigurable
MetadataEncrypted database in EUConfigurable
Model dataEncrypted in EU regionPermanent (not customer data)

Munin Sentinel™ — Continuous Monitoring

Munin Sentinel™ monitors the entire platform in real time, 24/7/365. Anomalies trigger automatic remediation to maintain service quality.

CheckFrequencyAction on anomaly
Service healthEvery 10 secondsAutomatic restart within 30 seconds
Response timeEvery 10 secondsBuffer flush + escalation
CapacityEvery 10 secondsScale-up available on demand
SecurityContinuousBlocking + alerting
CertificatesDailyAutomatic renewal

Security Policies

PolicyStatusStandard
Information Security PolicyAlignedISO 27001
Acceptable UseAlignedSOC2 CC1
Access Control PolicyAlignedSOC2 CC6
Incident ResponseAlignedSOC2 CC7
Change ManagementAlignedSOC2 CC8
Risk ManagementAlignedSOC2 CC3
Privacy PolicyAlignedGDPR
Backup PolicyAlignedSOC2 CC9

GDPR & Privacy

Munin Labs is designed from the ground up for GDPR compliance. We act as a data processor on behalf of the customer. No personal data leaves the customer's chosen EU region.

Data Flow Diagram

Caller PSTN Genesys Cloud WSS/TLS 1.3 MUNIN LABS — EU REGION (encrypted) Munin Gateway Voice Engine™ Articulate™ Accelerate™ Per-customer isolation | Encrypted | No permanent audio storage No permanent storage Audio after processing

Privacy Guarantees

Audio: no permanent storageGuaranteed
No third-party servicesGuaranteed
EU data residencyGuaranteed
Per-customer data isolationGuaranteed
Right to erasureAPI available
Data Processing AgreementAvailable

Compliance Roadmap

StandardStatus
GDPRCompliant
NIS2Aligned
DORA (finance/insurance)Aligned
SOC2 Type IRoadmap
ISO 27001Planned Q4
Schrems IINot applicable
Schrems II Because all data processing occurs in the EU using EU-based infrastructure, Schrems II concerns are eliminated. No data is transferred to third countries.

Customer Data Deletion (GDPR Art. 17)

Upon termination of a customer relationship or upon request, all customer data is permanently deleted:

Request received
Identity verification
Deletion from all systems
Munin Accelerate™ purged
Confirmation sent

Maximum processing time: 72 hours. Typical: under 24 hours.

SLA — Service Level Agreement

Munin Labs commits to 99.9% uptime for the production environment. In the event of an SLA breach, credits are issued according to the agreed compensation model.

99.9%
Uptime Target
Max 43 min downtime/month
From 3 ms
Munin Accelerate™
Time to first byte
3 ms
Munin Accelerate™
Known requests

Failover Architecture

DNS api.muninlabs.io Health-based routing Primary Node EU region, AZ-a ● Active Failover Node EU region, AZ-b ○ Standby Munin Sentinel™ ● Health check: 10s ● LB failover: instant ● Alerting: 60s cron ● Automatic retry (lb_retries) ● Dual-server active-active ● Automatic failover between nodes Auto failover

SLA Tiers

ComponentTargetMax downtime/monthAlerting
API availability99.9%43 minutesImmediate
TTS time to first byteFrom 3 msN/AOn threshold breach
TTS with Munin Accelerate™3 msN/AOn threshold breach
Failover time<60 secondsN/AAutomatic
Planned maintenanceZero-downtime0 minutes48-hour advance notice

Incident Response

SeverityResponse TimeResolution TimeExample
Critical (P1)15 minutes4 hoursTotal service outage
High (P2)1 hour8 hoursDegraded performance
Medium (P3)4 hours24 hoursSingle service failure
Low (P4)Next business day5 business daysCosmetic / minor

SLA Breach Compensation

UptimeCredit
99.0% — 99.9%10% of monthly fee
95.0% — 99.0%25% of monthly fee
<95.0%50% of monthly fee

Development & Deployment Process

Munin Labs follows a strict development process with automated testing, a staging environment and zero-downtime deployments. No code change reaches production without passing Munin Deploy Gate™.

Deployment Pipeline

Code change (Git)
Munin Deploy Gate™
1,500 automated tests
Deploy to DEV
Manual verification
Promote to PROD
Zero-downtime hot-swap

Munin Deploy Gate™

Every update must pass 1,500 automated tests before it can be deployed. The gate test covers:

Text-to-speech quality150 x 10 batches
Norwegian (Bokmål)Tested
Norwegian (Nynorsk)Tested
Regression0 allowed
Automatic rollbackOn failure
Gate failure blocks deployment If a single test fails, production remains unchanged. No manual override is possible. The previous version stays active until the issue is resolved.

Zero-Downtime Deployment

Updates are deployed without any service interruption:

1. New version loaded on parallel environment
2. Health check verifies new version
3. Traffic routed to new version
4. Previous version held on standby (rollback)
5. After 15 min stable operation: previous version removed

Total deployment time: under 5 minutes. Customers notice nothing.

Environments

EnvironmentAddressPurposeStability
PROD api.muninlabs.io Production. Verified releases only 99.9% SLA
DEV api.dev.muninlabs.io Testing and integration. Identical to prod Best effort
DEV is identical to PROD The development environment runs the same configuration and software as production. The only difference is that DEV may be updated more frequently and is used for integration testing without risk to production.

Munin Huginn™ — Continuous Improvement

Munin Huginn™ analyses and improves the platform automatically, around the clock:

TaskFrequencyDescription
Pronunciation analysisEvery 2 hoursAutomatically identifies and corrects pronunciation errors
Training data generationDailyGenerates new training examples for all supported languages
Model optimisationWeeklyEvaluates and improves model quality
Quality reportingDailyAutomatic report on improvements and deviations

API Reference

Munin Labs offers a simple, stable API based on HTTPS (REST API) for real-time speech-to-text and text-to-speech.

Endpoints

Production — TTS https://api.muninlabs.io/v1/speak
Production — REST (TTS) https://api.muninlabs.io/v1/tts/synthesize
Development / Testing https://api.dev.muninlabs.io/v1/speak

Language-Specific Endpoints

For the simplest possible integration, all 16 languages are available via the main API endpoint. The language parameter determines the voice language.

LanguageTTS endpointVoiceISO
Norwegian Bokmålapi.muninlabs.io/v1/tts/synthesizeNora, Eriknb
Norwegian Nynorskapi.muninlabs.io/v1/tts/synthesizeNora, Eriknn
Swedishapi.muninlabs.io/v1/tts/synthesizeAstrid, Larssv
Danishapi.muninlabs.io/v1/tts/synthesizeFreja, Magnusda
Finnishapi.muninlabs.io/v1/tts/synthesizeAino, Mattifi
Icelandicapi.muninlabs.io/v1/tts/synthesizeSaga, Ragnaris
Northern Samiapi.muninlabs.io/v1/tts/synthesizeNora (sme)sme
Englishapi.muninlabs.io/v1/tts/synthesizeEmily, Jamesen
Germanapi.muninlabs.io/v1/tts/synthesizeLena, Felixde
+ 9 more languagesfr, es, it, nl, pl, hu, pt, ja, ar

Customer-Isolated Endpoints

Enterprise customers receive their own fully isolated endpoints. These are provisioned automatically during onboarding:

Format: api.muninlabs.io (with language parameter) nb.{customer}.api.muninlabs.io — Norwegian Bokmål
sv.{customer}.api.muninlabs.io — Swedish
da.{customer}.api.muninlabs.io — Danish
Provisioned automatically during onboarding. Full data isolation, dedicated Munin Accelerate™, and individual SLA monitoring.

Authentication

All API calls require authentication via API key. The key is provided during onboarding.

# Authentication via Bearer token
Authorization: Bearer mk_your_api_key_here

Genesys TTS Connector (BYOT-A)

For Genesys Cloud integration the TTS Connector is used. Two endpoints are required:

1. List voices

GET/v1/tts/voicesVoice catalogue for Architect
$ curl https://api.muninlabs.io/v1/tts/voices \
-H "Authorization: Bearer mk_..."

# Response:
{
  "voices": [
    {"name": "Nora", "id": "nora", "language": "nb-NO", "gender": "female"},
    {"name": "Erik", "id": "erik", "language": "nb-NO", "gender": "male"},
    {"name": "Astrid", "id": "astrid", "language": "sv-SE", "gender": "female"},
    ...
  ]
}

2. Synthesise speech

POST/v1/tts/synthesizeText to PCM audio
$ curl -X POST https://api.muninlabs.io/v1/tts/synthesize \
-H "Authorization: Bearer mk_..." \
-H "Content-Type: application/json" \
-d '{"text":"Welcome to customer service","voice":"nora","language":"nb-NO","sample_rate":8000,"format":"wav"}' \
--output audio.pcm

# Response: WAV audio (PCM 16-bit, mono, 8kHz)
# Content-Type: audio/wav (PCM 16-bit, mono, 8kHz)
Genesys Configuration Complete Advanced JSON for Genesys Admin is provided during onboarding. Paste into Admin > Integrations > TTS Connector > Advanced. Credentials: "User Defined" with Authorization header.

REST API (Direct Integration)

For customers who do not use Genesys, we offer a simpler REST API:

Text to Speech

GET/v1/speakGenerates WAV audio
$ curl "https://api.muninlabs.io/v1/speak?text=Hello&voice=nora&language=norwegian" \
-H "Authorization: Bearer mk_..." \
--output hello.wav
ParameterTypeRequiredDescription
textstringYesText to be spoken (max 2,000 characters)
voicestringYesVoice ID (e.g. "nora", "erik")
languagestringYesLanguage ("norwegian", "swedish", "danish", etc.)
speedfloatNoSpeech rate 0.8–1.2 (default: 1.0)

Health Check

GET/v1/healthNo authentication required
$ curl https://api.muninlabs.io/v1/health

{"status":"ok","engine":"Munin Voice Engine","version":"5.0","voices":68}

Voice List

GET/v1/voicesAll available voices

Error Codes

CodeMeaningAction
200OK — audio returned
400Invalid request (missing text/voice)Check parameters
401Invalid or missing API keyCheck Authorization header
404Unknown voice or languageCheck /v1/tts/voices for valid values
429Too many requestsWait and retry (rate limit)
500Internal errorContact support
503Service temporarily unavailableAutomatic failover active, retry

Language Codes

LanguageREST APIGenesys (BCP-47)
Norwegian Bokmålnorwegiannb-NO
Norwegian Nynorsknorwegiannn-NO
Swedishswedishsv-SE
Danishdanishda-DK
Finnishfinnishfi-FI
Icelandicicelandicis-IS
Northern Saminorthern samise-NO
Englishenglishen-GB
Germangermande-DE

Rate Limits

LimitValue
Max text length per request2,000 characters
Max requests per minuteDepends on agreement
Max concurrent requestsDepends on agreement

Contact us for customised limits based on your requirements.