> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slng.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SLNG: the execution layer for voice

> Text-to-speech, speech-to-text, and voice agents through one API. Your orchestrator stays, your models stay. Every turn is routed and optimized for lower cost and lower latency.

<div className="lp-root">
  <section className="lp-hero">
    <div className="lp-hero__inner">
      <span className="lp-hero__eyebrow">● Unmuted</span>

      <h1 className="lp-hero__title">
        The global execution layer for <span className="lp-mark">real-time voice</span>
      </h1>

      <p className="lp-hero__sub">
        Keep your models. Keep your orchestrator. The execution layer sits between them and cuts cost and latency on every turn.
      </p>

      <div className="lp-cta-row">
        <a className="lp-btn lp-btn--primary" href="/sdks/skills">Install the skills</a>
        <a className="lp-btn lp-btn--ghost" href="/getting-started">Read the quickstart →</a>
      </div>

      <div className="lp-cmd"><span className="lp-cmd__prompt">\$</span> npx skills add slng-ai/skills</div>
      <p className="lp-cmd__cap">Teach your coding agent to build with SLNG, or send your first request by hand.</p>
    </div>
  </section>

  <section className="lp-stats">
    <div className="lp-wrap">
      <div className="lp-stats__grid">
        <div className="lp-stat">
          <div className="lp-stat__num">39<small>%</small></div>
          <div className="lp-stat__label">less turn latency, end to end</div>
        </div>

        <div className="lp-stat">
          <div className="lp-stat__num">53<small>%</small></div>
          <div className="lp-stat__label">less model cost</div>
        </div>

        <div className="lp-stat">
          <div className="lp-stat__num">+16<small>%</small></div>
          <div className="lp-stat__label">better call outcomes</div>
        </div>

        <div className="lp-stat">
          <div className="lp-stat__num">30<small>+</small></div>
          <div className="lp-stat__label">models behind one API</div>
        </div>
      </div>
    </div>
  </section>

  <section className="lp-section">
    <div className="lp-wrap">
      <div className="lp-split">
        <div>
          <div className="lp-section__eyebrow">Drop-in</div>
          <h2 className="lp-section__title">Plug in the endpoints. Nothing else changes</h2>

          <p className="lp-section__intro">
            Your orchestrator, your prompts, and your tools stay exactly as they are. Repoint your speech calls at SLNG, and routing, caching, and failover happen behind the endpoint.
          </p>

          <div style={{ marginTop: "1.5rem" }}>
            <a className="lp-btn lp-btn--ghost" href="/integrations/gateway">How integration works →</a>
          </div>
        </div>

        <div className="lp-code">
          <span className="lp-code__comment"># keep your orchestrator and prompts. repoint two calls.</span>
          <span className="lp-code__del">- stt: [https://your-current-provider/…](https://your-current-provider/…)</span>
          <span className="lp-code__add">+ stt: [https://api.slng.ai/v1/stt/](https://api.slng.ai/v1/stt/)<span className="lp-rotate"><span className="lp-rotate__list lp-rotate__list--stt"><span className="lp-rotate__item">slng/deepgram/nova:3-en</span><span className="lp-rotate__item">slng/deepgram/nova:3-multi</span><span className="lp-rotate__item">soniox/soniox:latest</span><span className="lp-rotate__item">slng/deepgram/nova:3-en</span></span></span></span>
          <span className="lp-code__del">- tts: [https://your-current-provider/…](https://your-current-provider/…)</span>
          <span className="lp-code__add">+ tts: [https://api.slng.ai/v1/tts/](https://api.slng.ai/v1/tts/)<span className="lp-rotate"><span className="lp-rotate__list lp-rotate__list--tts"><span className="lp-rotate__item">slng/deepgram/aura:2-en</span><span className="lp-rotate__item">slng/rime/arcana:3-en</span><span className="lp-rotate__item">slng/rime/arcana:3-es</span><span className="lp-rotate__item">slng/deepgram/aura:2-en</span></span></span></span>
        </div>
      </div>
    </div>
  </section>

  <section className="lp-section lp-section--tight">
    <div className="lp-wrap">
      <div className="lp-section__eyebrow">What runs on it</div>
      <h2 className="lp-section__title">Three primitives for real-time speech</h2>

      <div className="lp-grid-3">
        <a className="lp-tile" href="/tts/overview">
          <span className="lp-tile__icon">
            <Icon icon="audio-lines" color="#15120D" />
          </span>

          <h3 className="lp-tile__title">Text-to-Speech</h3>
          <p className="lp-tile__desc">Text in, audio out. Multiple voices and languages, over HTTP or streaming WebSocket.</p>
        </a>

        <a className="lp-tile" href="/stt/overview">
          <span className="lp-tile__icon">
            <Icon icon="ear" color="#15120D" />
          </span>

          <h3 className="lp-tile__title">Speech-to-Text</h3>
          <p className="lp-tile__desc">Transcribe audio files or live streams. Single-language or auto-detect across 10+ languages.</p>
        </a>

        <a className="lp-tile" href="/voice-agents">
          <span className="lp-tile__icon">
            <Icon icon="bot" color="#15120D" />
          </span>

          <h3 className="lp-tile__title">Voice Agents</h3>
          <p className="lp-tile__desc">An LLM paired with STT and TTS that takes and makes phone calls or runs in the browser.</p>
        </a>
      </div>
    </div>
  </section>

  <section className="lp-section lp-section--tight">
    <div className="lp-wrap">
      <div className="lp-section__eyebrow">How it works</div>
      <h2 className="lp-section__title">Every turn takes the path it actually needs</h2>

      <p className="lp-section__intro">
        A 16-turn call makes 48 model calls. By default each one runs from scratch, even for a greeting you have synthesized a thousand times. The execution layer changes that across three stages.
      </p>

      <div className="lp-grid-3">
        <a className="lp-tile" href="/execution-layer/stt-routing">
          <div className="lp-tile__step">STAGE 01</div>
          <h3 className="lp-tile__title">STT routing</h3>
          <p className="lp-tile__desc">Route input to the right transcription model, based on language, accent, noise, and cost.</p>
        </a>

        <a className="lp-tile" href="/execution-layer/tiered-decisioning">
          <div className="lp-tile__step">STAGE 02</div>
          <h3 className="lp-tile__title">Tiered decisioning</h3>
          <p className="lp-tile__desc">Decide whether a turn needs full LLM reasoning, local inference, or no inference at all.</p>
        </a>

        <a className="lp-tile" href="/execution-layer/output-assembly">
          <div className="lp-tile__step">STAGE 03</div>
          <h3 className="lp-tile__title">Output assembly</h3>
          <p className="lp-tile__desc">Assemble TTS output from cache and synthesis. Don't generate what already exists.</p>
        </a>
      </div>
    </div>
  </section>

  <section className="lp-section lp-section--tight">
    <div className="lp-wrap">
      <div className="lp-grid-2">
        <a className="lp-tile" href="/region-override">
          <span className="lp-tile__icon">
            <Icon icon="globe" color="#15120D" />
          </span>

          <h3 className="lp-tile__title">Select your region per request</h3>
          <p className="lp-tile__desc">Pin execution to any of 11 sovereign hubs with a single <code>X-Region</code> header. Data stays in-jurisdiction.</p>
        </a>

        <a className="lp-tile" href="/execution-layer/adaptive">
          <span className="lp-tile__icon">
            <Icon icon="trending-up" color="#15120D" />
          </span>

          <h3 className="lp-tile__title">Gets faster with every call</h3>
          <p className="lp-tile__desc">Each call improves routing decisions and cache coverage for the next. Cost and latency fall as usage grows.</p>
        </a>
      </div>
    </div>
  </section>

  <section className="lp-section lp-section--tight">
    <div className="lp-wrap">
      <div className="lp-section__eyebrow">Integrations</div>
      <h2 className="lp-section__title">Drops into your orchestrator</h2>

      <p className="lp-section__intro">
        Run SLNG inside the agent framework you already use. Same endpoints, native adapters.
      </p>

      <div className="lp-grid-2">
        <a className="lp-tile" href="/agents/livekit-plugin">
          <span className="lp-tile__logo">
            <img src="https://mintcdn.com/slng/LujG4G8gXFrAV3XP/images/providers/livekit.svg?fit=max&auto=format&n=LujG4G8gXFrAV3XP&q=85&s=5ae1614bbad360d24b36276e04bbc0ea" alt="LiveKit" width="256" height="256" data-path="images/providers/livekit.svg" />
          </span>

          <h3 className="lp-tile__title">LiveKit</h3>
          <p className="lp-tile__desc">Use SLNG models inside LiveKit Agents with the <code>livekit-plugins-slng</code> adapter.</p>
        </a>

        <a className="lp-tile" href="/agents/pipecat-plugin">
          <span className="lp-tile__logo">
            <img src="https://mintcdn.com/slng/HUXme6ATYhzzt7mD/images/providers/pipecat.svg?fit=max&auto=format&n=HUXme6ATYhzzt7mD&q=85&s=f0ff456ad8aa57cfedc6291d915bd330" alt="Pipecat" width="80" height="80" data-path="images/providers/pipecat.svg" />
          </span>

          <h3 className="lp-tile__title">Pipecat</h3>
          <p className="lp-tile__desc">Use SLNG STT and TTS in a Pipecat pipeline with the <code>pipecat-slng</code> plugin.</p>
        </a>
      </div>

      <div style={{ marginTop: "1.5rem" }}>
        <a className="lp-btn lp-btn--ghost" href="/integrations/overview">See all integrations →</a>
      </div>
    </div>
  </section>

  <section className="lp-section">
    <div className="lp-wrap" style={{ textAlign: "center" }}>
      <div className="lp-section__eyebrow">Bring your own keys</div>
      <h2 className="lp-section__title">Works with the models you already use</h2>

      <p className="lp-section__intro" style={{ margin: "0 auto" }}>
        Bring your own provider keys and route across 30+ speech models over standard HTTP and WebSocket, without changing your integration.
      </p>

      <div className="lp-logos">
        <a href="/api-reference/tts/deepgram-aura-2/aura-2-english-ws">
          <img src="https://mintcdn.com/slng/CdBTrLNh-1JX8cv6/images/providers/deepgram.svg?fit=max&auto=format&n=CdBTrLNh-1JX8cv6&q=85&s=e202d83655428b80684abdf7766a2309" alt="Deepgram" width="321" height="321" data-path="images/providers/deepgram.svg" />
        </a>

        <a href="/api-reference/tts/cartesia-sonic-3/cartesia-sonic-3-ws">
          <img src="https://mintcdn.com/slng/-M4diEjNjygZHegH/images/providers/cartesia.jpeg?fit=max&auto=format&n=-M4diEjNjygZHegH&q=85&s=ee4af5467fda6cee5178a34363f496ff" alt="Cartesia" width="400" height="400" data-path="images/providers/cartesia.jpeg" />
        </a>

        <a href="/api-reference/tts/rime-arcana-v3/arcana-v3-english-ws">
          <img src="https://mintcdn.com/slng/dfmiEue01ykm71vP/images/providers/rime.png?fit=max&auto=format&n=dfmiEue01ykm71vP&q=85&s=1d8b09127d77c7790f8a724685b79cb4" alt="Rime" width="320" height="320" data-path="images/providers/rime.png" />
        </a>

        <a href="/api-reference/tts/murf-falcon/murf-falcon-ws">
          <img src="https://mintcdn.com/slng/Huk-xqG8QIWj6eh3/images/providers/murf.svg?fit=max&auto=format&n=Huk-xqG8QIWj6eh3&q=85&s=a3b50a7a1e5c1c4830549ffff031889b" alt="Murf" width="36" height="33" data-path="images/providers/murf.svg" />
        </a>

        <a href="/api-reference/tts/sarvam-ai-bulbul-v3/bulbul-v3-ws">
          <img src="https://mintcdn.com/slng/CdBTrLNh-1JX8cv6/images/providers/sarvam.svg?fit=max&auto=format&n=CdBTrLNh-1JX8cv6&q=85&s=4ba4b6d4b14f1e4c5771b67361c673df" alt="Sarvam" width="344" height="341" data-path="images/providers/sarvam.svg" />
        </a>

        <a href="/api-reference/stt/soniox-speech-ai-real-time-v4/speech-ai-real-time-v4-ws">
          <img src="https://mintcdn.com/slng/dfmiEue01ykm71vP/images/providers/soniox.jpeg?fit=max&auto=format&n=dfmiEue01ykm71vP&q=85&s=ad6f818b353cfd8f9e2e515617bbdd27" alt="Soniox" width="400" height="400" data-path="images/providers/soniox.jpeg" />
        </a>
      </div>

      <p className="lp-trust">ISO 27001 certified. HIPAA and GDPR compliant. <a href="https://trust.slng.ai">trust.slng.ai</a></p>
    </div>
  </section>

  <section className="lp-section lp-section--tight">
    <div className="lp-wrap">
      <div className="lp-cta-band">
        <div className="lp-cta-row">
          <a className="lp-btn lp-btn--primary" href="/sdks/skills">Install the skills</a>
          <a className="lp-btn lp-btn--ghost" href="/getting-started">Read the quickstart</a>
          <a className="lp-btn lp-btn--ghost" href="/execution-layer">Execution layer</a>
        </div>
      </div>
    </div>
  </section>
</div>
