model_id- baobab-sw
model_version- 2026.10.national
phase- national
status- national_surface_shipped
as_of- 2026-10-23T02:30:03.724Z
tiers
Public demo
id- public_demo
name- Public demo
who- Citizens, press, students (unauthenticated demos)
auth- None — soft abuse controls on demo speech
maps_to_plan- null
residency_preference- null
audit- false
commercial_nc_clean_tts_required- false
endpoints- GET /v1/models/baobab-sw
- GET /v1/baobab/sw/national
- POST /v1/demo/speech
limitstranslate_chars_daily_hint- Authenticated translate required for production MT
demo_speech- 400 requests / 10 minutes / IP (demo controller)
rate_limit_note- Demo speech returns rate_limited when exceeded
controls- honest en-KE remap when speech offline (paired Kenyan / East African English accent)
- spectral_gate_v2 clarity on live neural WAV
- variety headers — sw-ke
Education / free
id- education
name- Education / free
who- Students, UG / KNUST labs, research orgs on Free/Pro plans
auth- Org API key (TranslateAuthGuard) — Free or Pro plan
maps_to_plan- free|pro
residency_preference- KE
audit- true
commercial_nc_clean_tts_required- false
endpoints- POST /v1/translate
- POST /v1/tts/synthesize
- POST /v1/audio/transcriptions (when ASR keyed)
- GET /v1/models/baobab-sw
limitstranslate_chars_daily_hint- Free: BILLING_FREE_TRANSLATE_CHARS_QUOTA (default 50k); Pro: BILLING_PRO_TRANSLATE_CHARS_QUOTA
demo_speech- null
rate_limit_note- RATE_LIMIT_FREE_PER_KEY / RATE_LIMIT_PRO_PER_KEY via existing RateLimitGuard
controls- UsageService metering
- BillingService.assertWithinQuota
Ministry production
id- ministry
name- Ministry production
who- Kenya government services (Nairobi / Kenyan citizen channels)
auth- Ministry-keyed org API key — Business plan mapping
maps_to_plan- business
residency_preference- KE
audit- true
commercial_nc_clean_tts_required- false
endpoints- POST /v1/translate
- POST /v1/tts/synthesize
- MeetingBridge Kenya corridor
- GET /v1/residency
- GET /v1/metrics/translate
limitstranslate_chars_daily_hint- Business translate quota (BILLING_BUSINESS_TRANSLATE_CHARS_QUOTA)
demo_speech- null
rate_limit_note- RATE_LIMIT_BUSINESS_PER_KEY / PER_ORG
controls- AuditService on translate.completed
- Org retention / vendor-training settings
- Residency preference GH (affinity, not hard geo-fence)
Enterprise
id- enterprise
name- Enterprise
who- Banks, telcos, NGOs serving Nairobi / Kenya
auth- Paid Enterprise keys
maps_to_plan- enterprise
residency_preference- AF
audit- true
commercial_nc_clean_tts_required- true
endpoints- POST /v1/translate (+ TM / quality)
- Speech + MeetingBridge
- Fine-tunes / marketplace where plan allows
limitstranslate_chars_daily_hint- Enterprise translate quota
demo_speech- null
rate_limit_note- RATE_LIMIT_ENTERPRISE_PER_KEY / PER_ORG
controls- SLA targets (documented; contractual SLA separate)
- Commercial TTS path must be NC-clean for redistribution of MMS TTS assets
- Audit + retention
residency
serving_today- jnb
serving_today_label- Africa-primary Fly region Johannesburg (jnb)
affinity_target- af-east-1
affinity_city- Nairobi
affinity_country- KE
accra_gpu_island- false
accra_gpu_island_status- deferred
hard_geo_fence- false
preference_model- affinity_not_hard_fence
ministry_affinity_pin- af-east-1
affinity_enforcement- soft_preference_recorded
accra_island_runbook- docs/baobab/NAIROBI_RESIDENCY.md
note- Inference prefers matching person/org residency to nearby model hosting when ready — affinity, not a hard geo-fence. Nairobi is the Kenya residency preference; Africa-east affinity pin remains af-east-1. Live serving for verbalab + lugemi-swahili is jnb today. No Nairobi GPU island fiction is claimed.
sla
status- targets_not_contractual_sla
health- GET /v1/health (API) · speech service /health on lugemi-swahili
translate_latency_metrics- GET /v1/metrics/translate
language_pack_rollback- Pin previous language_pack_version (sw-ke-pack-*) via release rollback — not an automatic mesh canary
note- Figures below are operational targets for national partners, not a signed SLA unless separately contracted.
open_eval
partnership_pack- docs/baobab/PARTNERSHIP_OPEN_EVAL.md
live_model_card- GET /v1/models/baobab-sw
live_national- GET /v1/baobab/sw/national
live_research- GET /v1/baobab/sw/research
corridor_report- en-sw-nairobi
corridor_scripts- apps/api/eval/corridors/en-sw-nairobi/test-scripts.json
native_review_rubric- apps/api/eval/corridors/en-sw-nairobi/native-review-rubric.json
training_leakage- forbidden_while_trainingEligible_false
note- Ministry / UG open-eval: start with PARTNERSHIP_OPEN_EVAL.md + live endpoints. trainingEligible=false until community reconfirm.
partnership_checklist
open_evaluation- Share corridor EVALUATION_REPORT + goldens; keep blind set outside training exports
sovereign_africa_hosting- Document jnb interim + Nairobi af-east-1 affinity; no Nairobi GPU fiction in MoU
student_research- Language Kit workflow + paid Kiswahili (Nairobi / Kenyan) annotation
public_free_tier- Rate-limited POST /v1/demo/speech + Free/Pro translate quotas via UsageService
ministry_production_api- Business-plan org keys, TranslateAuthGuard, AuditService, retention settings, residency preference KE
variety_honesty- Coastal Tanzania (sw-tz-coastal) is a secondary East African variety — not the Kenya national default.
license_warnings
- Kiswahili MMS-TTS (facebook/mms-tts-swh) is CC-BY-NC-4.0 — unrestricted commercial redistribution of those assets is blocked.
- Whisper ASR for Kiswahili corridor — pin versions and attribute per model card.
- Nairobi / Kenyan is the product default via prosody + labels on shared Kiswahili-general weights — not a Kenya-only exclusive speech finetune — coastal TZ / Congo / Uganda varieties are secondary.
- Phrase/lexical Baobab MT covers reviewed corridor domains; neural_nmt is false (no Hausa NLLB national service shipped).
varieties
primary- sw-ke
audio_clean- spectral_gate_v2
interchangeable- false
response_contract
model_id- baobab-sw
note- No invented confidence scores. Nairobi GPU island never claimed live. Clarity: spectral_gate_v2.
fields
- request_id
- model_id
- model_version
- language_pack_version
- variety_id
- status
- license_warnings
- residency
- national_tier