Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.
The Namu API is plain HTTPS and JSON, so every language can call it. For Python and JavaScript there are official libraries: install one and call client.speech(...), client.transcribe(...), client.translate(...). They read your key from NAMU_API_KEY, retry what is safe to retry, type every response, and raise one error class per status, with its stable code and request id.
None yet. If you build a Namu library for Dart, PHP, Go, Kotlin or another language, tell us and we will list it here. Community libraries are not maintained by Namu: check them before you use them.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Namu API","description":"Speech recognition, speech synthesis, translation and a voice agent for Hausa, Zarma and French.","colors":{"primary":"#15120F","light":"#E8A77B","dark":"#15120F"},"logo":{"light":"https://mintcdn.com/namuai-lab-com/M7AimWNcg1KoQ8GK/assets/logos/namu-docs-logo-dark.svg?fit=max\u0026auto=format\u0026n=M7AimWNcg1KoQ8GK\u0026q=85\u0026s=5f861a6be5ad228db66877aa19336657","dark":"https://mintcdn.com/namuai-lab-com/M7AimWNcg1KoQ8GK/assets/logos/namu-docs-logo-light.svg?fit=max\u0026auto=format\u0026n=M7AimWNcg1KoQ8GK\u0026q=85\u0026s=f2efc7d5261648ad7d7f72080b5d93f0","href":"/"},"favicon":"https://mintcdn.com/namuai-lab-com/M7AimWNcg1KoQ8GK/assets/logos/namu-favicon.svg?fit=max\u0026auto=format\u0026n=M7AimWNcg1KoQ8GK\u0026q=85\u0026s=5d6cd08f286f968c82acaa4d760a01b0","api":{"openapi":"api-reference/openapi.yaml","playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#FFFAF1","dark":"#1C1410"}},"navbar":{"links":[{"href":"https://www.namuai-lab.com","label":"Namu AI Lab"}],"primary":{"type":"button","label":"API dashboard","href":"https://www.namuai-lab.com/account"}},"seo":{"metatags":{"og:site_name":"Namu API"}},"fonts":{"family":"DM Sans"},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"banner":{"content":"The Namu API is in beta: every account gets **30 free minutes of audio a month**. [Get a key →](https://www.namuai-lab.com/account/keys)","dismissible":true},"errors":{"404":{"redirect":false,"title":"This page is not here","description":"It may have moved. Start again from the [overview](/)."}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"namuai-lab-com","hasAudioNarration":false,"actualSubdomain":"namuai-lab-com","customDomains":["developers.namuai-lab.com"],"gitSource":{"type":"github","owner":"namu-ai-lab","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6af0e4c5ddecdf8794beb8c8"},"entitlements":{},"buildId":"6af251aa0ac7ac77801026be","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Overview","count":16},{"language":"default","tag":"Production","count":12},{"language":"default","tag":"API reference","count":11},{"language":"default","tag":"Build","count":7},{"language":"default","tag":"Text to speech","count":6},{"language":"default","tag":"Translation","count":4},{"language":"default","tag":"Voice agent","count":4},{"language":"default","tag":"Models","count":4},{"language":"default","tag":"Resources","count":4},{"language":"default","tag":"SDKs and tools","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--namu-paper: #fffaf1;--namu-surface: #f7f0e3;--namu-surface-2: #f3e7d1;--namu-clay: #edd9b0;--namu-ink: #15120f;--namu-ink-2: #4a453f;--namu-ink-3: #6e675f;--namu-kola: #6b3e1e;--namu-line: #efe4d2;--namu-line-2: rgba(21, 18, 15, 0.12)}.dark{--namu-paper: #1c1410;--namu-surface: #251b15;--namu-surface-2: #2e221b;--namu-clay: #3a2b21;--namu-ink: #fffaf1;--namu-ink-2: #e6d9c6;--namu-ink-3: #b8a48f;--namu-kola: #e8a77b;--namu-line: rgba(255, 250, 241, 0.1);--namu-line-2: rgba(255, 250, 241, 0.16)}.namu-hero{padding:4px 0 8px}.namu-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;font-weight:500;color:var(--namu-kola);letter-spacing:0.01em}.namu-eyebrow::before{content:\"\";width:6px;height:6px;border-radius:999px;background:var(--namu-kola)}.namu-hero h1{margin:0;font-size:clamp(34px, 5vw, 52px);line-height:1.05;letter-spacing:-0.025em;font-weight:600;color:var(--namu-ink)}.namu-hero p{margin:16px 0 0;max-width:620px;font-size:18px;line-height:1.55;color:var(--namu-ink-2)}.namu-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.namu-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font-size:14.5px;font-weight:500;text-decoration:none!important;border:0!important;background:var(--namu-surface-2);color:var(--namu-ink)!important;transition:background 0.15s ease}.namu-btn:hover{background:var(--namu-clay)}.namu-btn--ink{background:var(--namu-ink);color:var(--namu-paper)!important}.namu-btn--ink:hover{background:var(--namu-ink-2)}.namu-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.namu-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;background:var(--namu-surface);color:var(--namu-ink);font-size:13px;font-weight:500}.namu-chip code{background:none!important;border:0!important;padding:0!important;font-size:12px;color:var(--namu-ink-3)}.namu-chip--quiet{background:transparent;box-shadow:inset 0 0 0 1px var(--namu-line-2);color:var(--namu-ink-3)}.namu-section-label{margin:44px 0 12px;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--namu-ink-3)}.namu-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}@media (max-width: 720px){.namu-grid{grid-template-columns:1fr}}.namu-tile{display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;border-radius:16px;background:var(--namu-surface);text-decoration:none!important;border:0!important;color:var(--namu-ink)!important;transition:background 0.15s ease, transform 0.15s ease}.namu-tile:hover{background:var(--namu-surface-2)}.namu-tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.namu-tile-name{font-size:16px;font-weight:600}.namu-tile-text{font-size:14px;line-height:1.5;color:var(--namu-ink-2)}.namu-tile code{font-size:12px;color:var(--namu-ink-3);background:none!important;border:0!important;padding:0!important}.namu-status{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:0.02em;background:var(--namu-paper);color:var(--namu-kola)}.namu-status--research{color:var(--namu-ink-3)}.namu-video-frame{position:relative;aspect-ratio:16 / 9;width:100%;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px;background:radial-gradient(120% 90% at 0% 100%, var(--namu-clay) 0%, transparent 55%),\n linear-gradient(160deg, var(--namu-surface) 0%, var(--namu-surface-2) 100%);box-shadow:inset 0 0 0 1px var(--namu-line);color:var(--namu-ink)}.namu-video-frame{border:0;text-align:left;font:inherit}.namu-video-frame.is-ready{cursor:pointer}.namu-video-frame.is-ready:hover{box-shadow:inset 0 0 0 1.5px var(--namu-kola)}.namu-video-frame:focus-visible{outline:2px solid var(--namu-kola);outline-offset:3px}.namu-video-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.namu-video-pill{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;background:var(--namu-paper);font-size:12px;font-weight:600;color:var(--namu-kola)}.namu-video-duration{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:8px;background:rgba(28, 20, 16, 0.78);color:#fffaf1;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.namu-video-middle{display:flex;align-items:center;gap:16px;color:var(--namu-ink)}.namu-video-title{font-size:clamp(16px, 2.4vw, 22px);font-weight:600;letter-spacing:-0.01em;max-width:80%;line-height:1.25}.namu-video-caption{margin-top:8px;font-size:13px;color:var(--namu-ink-3)}.namu-video-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;margin:16px 0 8px}@media (max-width: 900px){.namu-video-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 560px){.namu-video-grid{grid-template-columns:1fr}}.namu-video-card{display:flex;flex-direction:column;gap:10px;text-decoration:none!important;border:0!important;color:var(--namu-ink)!important}.namu-video-thumb{position:relative;aspect-ratio:16 / 9;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(160deg, var(--namu-surface) 0%, var(--namu-surface-2) 100%);box-shadow:inset 0 0 0 1px var(--namu-line);transition:transform 0.2s ease}.namu-video-card:hover .namu-video-thumb{transform:translateY(-2px)}.namu-video-duration--thumb{position:absolute;right:10px;bottom:10px}.namu-video-card-body{display:flex;flex-direction:column;gap:3px}.namu-video-level{font-size:12px;font-weight:600;color:var(--namu-kola)}.namu-video-card-title{font-size:15px;font-weight:600;line-height:1.35}.namu-video-card-text{font-size:13.5px;line-height:1.5;color:var(--namu-ink-2)}.namu-voice-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin:16px 0}@media (max-width: 900px){.namu-voice-grid{grid-template-columns:1fr}}.namu-voice{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--namu-surface)}.namu-voice-head{display:flex;align-items:center;gap:12px}.namu-voice-play{width:40px;height:40px;flex:none;border-radius:999px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--namu-ink);color:var(--namu-paper)}.namu-voice-play:focus-visible{outline:2px solid var(--namu-kola);outline-offset:2px}.namu-voice-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.namu-voice-name{font-size:15px;font-weight:600;color:var(--namu-ink)}.namu-voice-id{font-size:12px;color:var(--namu-ink-3);background:none!important;border:0!important;padding:0!important}.namu-voice-wave{width:100%;height:34px}.namu-voice-wave rect{fill:var(--namu-ink);opacity:0.22}.namu-voice-wave rect.is-done{fill:var(--namu-kola);opacity:1}.namu-voice-text{margin:0;font-size:13.5px;line-height:1.5;color:var(--namu-ink-2)}.namu-voice-langs{display:flex;flex-wrap:wrap;gap:6px}.namu-voice-langs .namu-chip{background:var(--namu-paper);height:26px;font-size:12.5px}@media (prefers-reduced-motion: reduce){.namu-tile,.namu-video-thumb,.namu-btn{transition:none}.namu-video-card:hover .namu-video-thumb{transform:none}}img.nav-logo{height:34px!important;max-width:none!important}#navbar{background:var(--namu-paper)}#navbar div:has(>.nav-tabs){justify-content:center;background:var(--namu-surface);border-top:1px solid var(--namu-line);border-bottom:1px solid var(--namu-line)}.nav-tabs{gap:30px}.nav-tabs-item{font-size:15px;font-weight:400!important;color:var(--namu-ink-3)!important}.nav-tabs-item:hover{color:var(--namu-ink)!important}.nav-tabs-item[data-active=\"true\"]{color:var(--namu-ink)!important}.nav-tabs-item[data-active=\"true\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--namu-ink)}.nav-tabs-item>div:last-child[class*=\"bottom-0\"]{display:none}#sidebar .sidebar-title{font-size:14.5px;font-weight:600!important;color:var(--namu-ink)!important;padding-left:12px}#sidebar li a svg:not([class*=\"external\"]){display:none}#sidebar li a{border-radius:10px;font-size:14.5px;color:var(--namu-ink-2);padding-left:12px!important}#sidebar li a:hover{background:var(--namu-surface);color:var(--namu-ink)}#sidebar li[data-active=\"true\"]>a{background:var(--namu-surface-2)!important;color:var(--namu-ink)!important;font-weight:500}#sidebar li[data-active=\"true\"]>a::before{display:none!important}#navbar a[class*=\"rounded\"][href*=\"/account\"]{border-radius:999px!important;background:var(--namu-ink)!important;color:var(--namu-paper)!important}#content-area h1,#header h1{font-size:32px!important;letter-spacing:-0.02em;font-weight:600!important}#content-area h2{font-size:22px;letter-spacing:-0.01em}.namu-pill{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none!important;border:0!important;background:var(--namu-surface-2);color:var(--namu-ink)!important}.namu-pill:hover{background:var(--namu-clay)}.namu-pill--ink{background:var(--namu-ink);color:var(--namu-paper)!important}.namu-pill--ink:hover{background:var(--namu-ink-2)}.namu-home-hero{display:grid;grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.4fr);gap:28px;align-items:center;padding:28px;border-radius:24px;background:var(--namu-surface);margin:4px 0 20px}.namu-home-hero h2{margin:0;font-size:22px;font-weight:600;color:var(--namu-ink)}.namu-home-hero-text p{margin:12px 0 0;font-size:15.5px;line-height:1.55;color:var(--namu-ink-2)}.namu-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.namu-home-hero-code>div{margin:0!important}.namu-home-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-radius:20px;box-shadow:inset 0 0 0 1px var(--namu-line-2);margin-bottom:8px}.namu-home-banner p{margin:0;font-size:15px;line-height:1.55;color:var(--namu-ink-2)}.namu-home-banner .namu-home-banner-title{margin-bottom:4px;font-weight:600;color:var(--namu-ink)}.namu-home-banner .namu-pill{flex:none}.namu-home-h{margin:40px 0 14px!important;font-size:26px!important;font-weight:600;letter-spacing:-0.01em}.namu-home-row{display:flex;align-items:baseline;justify-content:space-between}.namu-home-row .namu-home-h{margin-bottom:4px!important}.namu-home-more{font-size:14.5px;color:var(--namu-ink-2)!important;text-decoration:none!important;border:0!important}.namu-home-sub{margin:0 0 14px;font-size:15px;color:var(--namu-ink-3)}.namu-home-paths{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}.namu-home-path{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:20px;text-decoration:none!important;box-shadow:inset 0 0 0 1px var(--namu-line-2);color:var(--namu-ink)!important}.namu-home-path:hover{background:var(--namu-surface)}.namu-home-path-title{font-size:18px;font-weight:600}.namu-home-path-text{font-size:15px;line-height:1.55;color:var(--namu-ink-2)}.namu-home-path-text code{font-size:13px}.namu-home-path-link{margin-top:8px;font-size:14.5px;font-weight:500}.namu-home-path-link::after{content:\" →\"}.namu-home-models{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px}.namu-home-model{display:flex;flex-direction:column;gap:6px;padding:20px;min-height:190px;border-radius:18px;background:var(--namu-surface);text-decoration:none!important;color:var(--namu-ink)!important}.namu-home-model:hover{background:var(--namu-surface-2)}.namu-home-model-id{font:12.5px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--namu-ink-3)}.namu-home-model-name{font-size:17px;font-weight:600}.namu-home-model-text{font-size:14px;line-height:1.5;color:var(--namu-ink-2)}.namu-home-badge{align-self:flex-start;margin-top:auto;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;background:var(--namu-paper);color:var(--namu-ink)}.namu-home-badge--quiet{color:var(--namu-ink-3)}.namu-home-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:4px 24px}.namu-home-item,.namu-home-help a{display:flex;flex-direction:column;gap:3px;padding:14px 12px;border-radius:14px;text-decoration:none!important;border:0!important;color:var(--namu-ink)!important}.namu-home-item:hover,.namu-home-help a:hover{background:var(--namu-surface)}.namu-home-item-title{font-size:15.5px;font-weight:600}.namu-home-item-text{font-size:14px;line-height:1.5;color:var(--namu-ink-3)}.namu-home-help{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:4px 16px;margin-top:36px;padding-top:20px;border-top:1px solid var(--namu-line)}@media (max-width: 1024px){.namu-home-hero{grid-template-columns:1fr}.namu-home-models{grid-template-columns:repeat(2, minmax(0, 1fr))}.namu-home-grid,.namu-home-help{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 640px){.namu-home-hero{padding:20px}.namu-home-banner{flex-direction:column;align-items:flex-start}.namu-home-paths,.namu-home-models,.namu-home-grid,.namu-home-help{grid-template-columns:1fr}}#content-area pre,#content-area [class*=\"code-block\"]{background-color:#fffdf8}.dark #content-area pre,.dark #content-area [class*=\"code-block\"]{background-color:#241a14}"}],"page":{"pagePath":"sdks/overview","slug":"/sdks/overview","pageMetadata":{"title":"SDKs","sidebarTitle":"Overview","description":"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.","icon":"package","href":"/sdks/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const __snippet_BARS_1vsby45=[6,10,16,9,22,30,18,26,38,24,14,28,44,32,20,36,26,12,30,40,22,16,28,18,10,24,14,8];const __snippet_Waveform_1vsby45=({height=44,color=`currentColor`,opacity=.32})=>_jsx(`svg`,{viewBox:`0 0 ${__snippet_BARS_1vsby45.length*6} 48`,height,\"aria-hidden\":`true`,style:{display:`block`,color,opacity},children:__snippet_BARS_1vsby45.map((h,i)=>_jsx(`rect`,{x:i*6+1,y:(48-h)/2,width:`3`,height:h,rx:`1.5`,fill:`currentColor`},i))});const __snippet_PlayMark_1vsby45=({size=56})=>_jsx(`span`,{\"aria-hidden\":`true`,style:{width:size,height:size,borderRadius:`999px`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,background:`#1C1410`,color:`#FFFAF1`,flex:`none`},children:_jsx(`svg`,{width:size*.36,height:size*.36,viewBox:`0 0 24 24`,fill:`currentColor`,children:_jsx(`path`,{d:`M8 5.5v13a1 1 0 0 0 1.5.86l10.4-6.5a1 1 0 0 0 0-1.72L9.5 4.64A1 1 0 0 0 8 5.5Z`})})});const __snippet_embedUrl_1vsby45=src=>{const m=String(src).match(/(?:youtube\\.com\\/(?:watch\\?v=|embed\\/|shorts\\/)|youtu\\.be\\/)([\\w-]{6,})/);if(m)return`https://www.youtube-nocookie.com/embed/${m[1]}?autoplay=1\u0026rel=0`;return src};const VideoSlot=({title,duration,src,caption})=>{const[open,setOpen]=useState(false);if(src\u0026\u0026open){return _jsxs(`figure`,{className:`namu-video not-prose`,style:{margin:`1.5rem 0`},children:[_jsx(`iframe`,{className:`mint-w-full mint-aspect-video mint-rounded-2xl`,src:__snippet_embedUrl_1vsby45(src),title,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,referrerPolicy:`strict-origin-when-cross-origin`,allowFullScreen:true}),caption\u0026\u0026_jsx(`figcaption`,{className:`namu-video-caption`,children:caption})]})}const ready=Boolean(src);const Frame=ready?`button`:`div`;return _jsxs(`figure`,{className:`namu-video not-prose`,style:{margin:`1.5rem 0`},children:[_jsxs(Frame,{type:ready?`button`:undefined,onClick:ready?()=>setOpen(true):undefined,className:`namu-video-frame${ready?` is-ready`:``}`,role:ready?undefined:`img`,\"aria-label\":ready?`Play video: ${title}`:`${title}: video coming soon`,children:[_jsxs(`span`,{className:`namu-video-top`,children:[_jsx(`span`,{className:`namu-video-pill`,children:ready?`Watch`:`Video coming soon`}),duration\u0026\u0026_jsx(`span`,{className:`namu-video-duration`,children:duration})]}),_jsxs(`span`,{className:`namu-video-middle`,children:[_jsx(__snippet_PlayMark_1vsby45,{}),_jsx(__snippet_Waveform_1vsby45,{})]}),_jsx(`span`,{className:`namu-video-title`,children:title})]}),caption\u0026\u0026_jsx(`figcaption`,{className:`namu-video-caption`,children:caption})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Table,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`VideoSlot`,children:_jsx(VideoSlot,{title:`Choosing how to call the Namu API`,duration:`3 min`})}),`\n`,_jsxs(_components.p,{children:[`The Namu API is plain HTTPS and JSON, so every language can call it. For Python and JavaScript there are official libraries: install one and call `,_jsx(_components.code,{children:`client.speech(...)`}),`, `,_jsx(_components.code,{children:`client.transcribe(...)`}),`, `,_jsx(_components.code,{children:`client.translate(...)`}),`. They read your key from `,_jsx(_components.code,{children:`NAMU_API_KEY`}),`, retry what is safe to retry, type every response, and raise one error class per status, with its stable code and request id.`]}),`\n`,_jsx(Heading,{level:`2`,id:`libraries`,children:`Libraries`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Language`}),_jsx(_components.th,{children:`Install`}),_jsx(_components.th,{children:`Depends on`}),_jsx(_components.th,{children:`Runs on`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/sdks/python`,children:`Python`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`pip install namu-ai`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`requests`})}),_jsx(_components.td,{children:`Python 3.9+`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/sdks/javascript`,children:`JavaScript and TypeScript`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`npm install namu-ai`})}),_jsx(_components.td,{children:`nothing`}),_jsx(_components.td,{children:`Node 18+, Deno, Bun, Cloudflare Workers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/sdks/http`,children:`Any language`})}),_jsx(_components.td,{children:`HTTP, or generate a client from our OpenAPI file`}),_jsx(_components.td,{children:`an HTTP library`}),_jsx(_components.td,{children:`everywhere`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`mobile-apps`,children:`Mobile apps`}),`\n`,_jsxs(_components.p,{children:[`Mobile apps talk to `,_jsx(_components.strong,{children:`your server`}),`, and your server talks to Namu: a key inside an app can be extracted. The mobile pages show both halves.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Platform`}),_jsx(_components.th,{children:`Page`}),_jsx(_components.th,{children:`What it shows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Android`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/sdks/android`,children:`Android (Kotlin)`})}),_jsx(_components.td,{children:`Record a voice note, send it to your server, play the answer`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`iOS`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/sdks/ios`,children:`iOS (Swift)`})}),_jsxs(_components.td,{children:[`The same with `,_jsx(_components.code,{children:`AVAudioRecorder`}),` and `,_jsx(_components.code,{children:`URLSession`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`create-and-export-an-api-key`,children:`Create and export an API key`}),`\n`,_jsx(_components.p,{children:`Every client reads the key from the environment:`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`macOS and Linux`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`export`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` NAMU_API_KEY`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"namu_sk_...\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Windows (PowerShell)`,numberOfLines:`1`,language:`powershell`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`powershell`,children:_jsxs(_components.code,{language:`powershell`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`setx NAMU_API_KEY `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"namu_sk_...\"`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Create a key in the `,_jsx(_components.a,{href:`https://www.namuai-lab.com/account/keys`,children:`console`}),`. More in `,_jsx(_components.a,{href:`/guides/api-keys`,children:`API keys`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-same-call-in-each-language`,children:`The same call in each language`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`5`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` namu `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` Namu`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`client `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` Namu()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`audio `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` client.speech(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Sannu da zuwa!\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:`voice`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"nadia\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:`format`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"mp3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`open`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"welcome.mp3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"wb\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`).write(audio)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` { writeFile } `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"node:fs/promises\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` { Namu } `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"namu-ai\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` namu`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` new`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:` Namu`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` audio`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` await`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` namu.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`speech`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Sannu da zuwa!\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, { voice: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"nadia\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, format: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"mp3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` });`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`await`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:` writeFile`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"welcome.mp3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, Buffer.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`from`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(audio));`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`curl`,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` https://api.namuai-lab.com/v1/speech`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$NAMU_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -d`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` '{\"text\": \"Sannu da zuwa!\", \"voice\": \"nadia\", \"format\": \"mp3\"}'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -o`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` welcome.mp3`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`community-libraries`,children:`Community libraries`}),`\n`,_jsxs(_components.p,{children:[`None yet. If you build a Namu library for Dart, PHP, Go, Kotlin or another language, `,_jsx(_components.a,{href:`/resources/support`,children:`tell us`}),` and we will list it here. Community libraries are not maintained by Namu: check them before you use them.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{__snippet_BARS_1vsby45,__snippet_Waveform_1vsby45,__snippet_PlayMark_1vsby45,__snippet_embedUrl_1vsby45,VideoSlot,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"SDKs","sidebarTitle":"Overview","description":"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.","icon":"package","href":"/sdks/overview"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[157,2700,"undefined;const __snippet_Waveform_1vsby45=()=>null;const __snippet_PlayMark_1vsby45=()=>null;const __snippet_embedUrl_1vsby45=()=>null;const VideoSlot=()=>null"]]},"mdxExtracts":{"tableOfContents":[{"title":"Libraries","slug":"libraries","depth":2,"children":[]},{"title":"Mobile apps","slug":"mobile-apps","depth":2,"children":[]},{"title":"Create and export an API key","slug":"create-and-export-an-api-key","depth":2,"children":[]},{"title":"The same call in each language","slug":"the-same-call-in-each-language","depth":2,"children":[]},{"title":"Community libraries","slug":"community-libraries","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-2xl {\n border-radius: 1rem\n}","subdomain":"namuai-lab-com","siteName":"Namu API","title":"SDKs - Namu API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T22:55:42.010Z","originalFileLocation":"sdks/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Namu API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"SDKs - Namu API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Namu API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.namuai-lab.com/sdks/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://namuai-lab-com.mintlify.site/_mintlify/api/og/v2?division=SDKs+and+tools\u0026amp;title=SDKs\u0026amp;description=Use+the+Namu+API+from+Python%2C+JavaScript%2C+Android%2C+iOS+or+any+language+that+speaks+HTTP.\u0026amp;theme=9881078b7c0e70e83b804e84\u0026amp;signature=c36920b5a8d6782f0927531e9f156c313c2eb166b4063f7a8fd4d27e2bfeeeae\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"SDKs - Namu API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://namuai-lab-com.mintlify.site/_mintlify/api/og/v2?division=SDKs+and+tools\u0026amp;title=SDKs\u0026amp;description=Use+the+Namu+API+from+Python%2C+JavaScript%2C+Android%2C+iOS+or+any+language+that+speaks+HTTP.\u0026amp;theme=9881078b7c0e70e83b804e84\u0026amp;signature=c36920b5a8d6782f0927531e9f156c313c2eb166b4063f7a8fd4d27e2bfeeeae\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/namuai-lab-com/nwc94DCgSNJ1Shqn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Namu API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15120F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.namuai-lab.com/sdks/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sdks/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.namuai-lab.com/#organization\",\"name\":\"Namu API\",\"url\":\"https://developers.namuai-lab.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/namuai-lab-com/M7AimWNcg1KoQ8GK/assets/logos/namu-docs-logo-dark.svg?fit=max\u0026auto=format\u0026n=M7AimWNcg1KoQ8GK\u0026q=85\u0026s=5f861a6be5ad228db66877aa19336657\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.namuai-lab.com#website\",\"name\":\"Namu API\",\"url\":\"https://developers.namuai-lab.com\",\"publisher\":{\"@id\":\"https://developers.namuai-lab.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.namuai-lab.com/sdks/overview#webpage\",\"url\":\"https://developers.namuai-lab.com/sdks/overview\",\"name\":\"SDKs\",\"description\":\"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\",\"dateModified\":\"2026-11-09T22:55:42.010Z\",\"isPartOf\":{\"@id\":\"https://developers.namuai-lab.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.namuai-lab.com/sdks/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.namuai-lab.com/sdks/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Namu API\",\"item\":\"https://developers.namuai-lab.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SDKs\",\"item\":\"https://developers.namuai-lab.com/sdks/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.namuai-lab.com/sdks/overview#article\",\"headline\":\"SDKs\",\"name\":\"SDKs\",\"description\":\"Use the Namu API from Python, JavaScript, Android, iOS or any language that speaks HTTP.\",\"url\":\"https://developers.namuai-lab.com/sdks/overview\",\"mainEntityOfPage\":{\"@id\":\"https://developers.namuai-lab.com/sdks/overview#webpage\"},\"dateModified\":\"2026-11-09T22:55:42.010Z\",\"publisher\":{\"@id\":\"https://developers.namuai-lab.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.namuai-lab.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Namu API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Namu API","nav":{"global":null,"tabs":[{"tab":"Overview","groups":[{"group":"Get started","pages":[{"title":"Namu API","sidebarTitle":"Home","mode":"wide","href":""},{"title":"Quickstart","icon":"rocket","href":"/quickstart"},{"title":"Pricing and limits","description":"Free during the beta: 30 minutes of audio a month for every account. Here is how it is counted, and the limits on each request.","icon":"gauge","href":"/pricing-and-limits"}]},{"group":"SDKs and tools","pages":[{"title":"SDKs","sidebarTitle":"Overview","icon":"package","href":"/sdks/overview"},{"title":"Python","description":"The official Python library for the Namu API: speech, transcription, translation and the voice agent.","icon":"code","href":"/sdks/python"},{"title":"JavaScript and TypeScript","icon":"braces","href":"/sdks/javascript"},{"title":"Any language (HTTP)","sidebarTitle":"Any language","icon":"globe","href":"/sdks/http"}]},{"group":"Mobile apps","pages":[{"title":"Android (Kotlin)","sidebarTitle":"Android","icon":"smartphone","href":"/sdks/android"},{"title":"iOS (Swift)","sidebarTitle":"iOS","icon":"tablet-smartphone","href":"/sdks/ios"}]},{"group":"Resources","pages":[{"title":"Changelog","icon":"history","href":"/resources/changelog"},{"title":"Help and support","icon":"life-buoy","href":"/resources/support"},{"title":"Responsible use","icon":"shield-check","href":"/resources/responsible-use"},{"title":"Glossary","icon":"book-a","href":"/resources/glossary"}]}]},{"tab":"Models","pages":[{"title":"Models","href":"/models"}]},{"tab":"Text to speech","pages":[{"title":"Text to speech","href":"/capabilities/text-to-speech"}]},{"tab":"Speech to text","pages":[{"title":"Speech to text","href":"/capabilities/speech-to-text"}]},{"tab":"Translation","pages":[{"title":"Translation","href":"/capabilities/translation"}]},{"tab":"Voice agent","pages":[{"title":"Voice agent","href":"/capabilities/voice-agent"}]},{"tab":"Production","pages":[{"title":"Production","href":"/guides/production-checklist"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"SDKs - Namu API","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DV-WToSZ.js","dist-CBUH0-zX.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-CR-RHrVC.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}