model_id- baobab-fr-sn
model_version- 2026.10.national
phase- national
status- national_surface_shipped
as_of- 2026-10-23T04:15:41.369Z
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-fr-sn
- GET /v1/baobab/fr-sn/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- regional French offline path (no English remap); paired en-GH for EN listen channels only
- spectral_gate_v2 clarity on live neural WAV
- variety headers — fr-sn
Education / free
id- education
name- Education / free
who- Students, UCAD / ESP labs, research orgs on Free/Pro plans
auth- Org API key (TranslateAuthGuard) — Free or Pro plan
maps_to_plan- free|pro
residency_preference- SN
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-fr-sn
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- Senegal government services (Dakar / Senegal citizen channels)
auth- Ministry-keyed org API key — Business plan mapping
maps_to_plan- business
residency_preference- SN
audit- true
commercial_nc_clean_tts_required- false
endpoints- POST /v1/translate
- POST /v1/tts/synthesize
- MeetingBridge Senegal French corridor (en-fr-sn)
- 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 IN (affinity, not hard geo-fence)
Enterprise
id- enterprise
name- Enterprise
who- Banks, telcos, NGOs serving Dakar / Senegal
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-west-1
affinity_city- Dakar
affinity_country- SN
accra_gpu_island- false
accra_gpu_island_status- deferred
hard_geo_fence- false
preference_model- affinity_not_hard_fence
ministry_affinity_pin- af-west-1
affinity_enforcement- soft_preference_recorded
accra_island_runbook- docs/baobab/ACCRA_RESIDENCY.md
note- Inference prefers matching person/org residency to nearby model hosting when ready — affinity, not a hard geo-fence. Dakar is the Senegal residency preference; Africa-west affinity pin remains af-west-1. Live serving for verbalab is jnb today; Senegalese French neural speech uses the optional shared Echo worker (no dedicated always-on Fly app). No Accra GPU island is deployed.
sla
status- targets_not_contractual_sla
health- GET /v1/health (API) · optional shared Echo speech worker when Senegalese French neural speech is configured
translate_latency_metrics- GET /v1/metrics/translate
language_pack_rollback- Pin previous language_pack_version (fr-sn-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-fr-sn
live_national- GET /v1/baobab/fr-sn/national
live_research- GET /v1/baobab/fr-sn/research
corridor_report- en-fr-sn
corridor_scripts- apps/api/eval/corridors/en-fr-sn/test-scripts.json
native_review_rubric- apps/api/eval/corridors/en-fr-sn/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 + Accra af-west-1 affinity; no Accra GPU fiction in MoU
student_research- Language Kit workflow + paid Senegalese French (Dakar / Senegalese French) 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 GH
variety_honesty- France French (fr-FR) and Ivorian French (fr-CI) are not interchangeable with Dakar Senegalese French — not the national default.
license_warnings
- Senegalese French MMS-TTS (facebook/mms-tts-fra) is CC-BY-NC-4.0 — unrestricted commercial redistribution of those assets is blocked.
- Whisper ASR for Senegalese French corridor — pin versions and attribute per model card.
- Dakar is the product default via prosody + labels on shared Senegalese French-general weights — not a Senegal-wide exclusive speech finetune, and not interchangeable with France French (fr-FR) or Ivorian French (fr-CI).
- Phrase/lexical Baobab MT covers reviewed corridor domains; neural_nmt is false (no dedicated Senegalese French NLLB national service shipped).
varieties
primary- fr-sn
audio_clean- spectral_gate_v2
interchangeable- false
response_contract
model_id- baobab-fr-sn
note- No invented confidence scores. Accra 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