The Voice Interaction Protocol (VIP) is an open specification that defines a standard interface for integrating voice-driven experiences into any application — the same way the DOM standardizes visual interfaces.
Today, every voice integration is proprietary: tightly coupled to a specific AI model, platform SDK, or device type. VIP breaks that coupling. An application implementing VIP can work with any STT/LLM/TTS provider, run on any device with a microphone and speaker, and be fully controlled by voice — without the application itself knowing or caring which AI is running underneath.
The screen becomes secondary. The voice becomes primary. Any device — browser, mobile app, IoT sensor, or a basic button phone — can be a VIP client.
| Principle | What It Means |
|---|---|
| Model-Agnostic | Swap OpenAI, Gemini, or a local on-device model with no changes to application logic |
| Platform-Agnostic | Identical protocol behaviour across web, iOS, Android, desktop, and embedded |
| Device-Agnostic | Any device with a mic, speaker, and network connection is a valid VIP client |
| Safety-First | The AI can only invoke actions explicitly declared in the app's Action Registry — no hallucinated actions |
| Latency-Conscious | Internal Mode allows direct client-to-provider streaming to minimize round-trip time |
Voice Interaction Tree — The auditory equivalent of the DOM. A structured representation of the application's current state — what's on screen, what can be done — transmitted to the AI before each interaction.
Action Registry — A JSON schema that declares every capability the AI is allowed to invoke: navigation routes, buttons, form inputs, custom functions. The AI cannot execute anything outside this registry.
Interaction State Machine — A strict Finite State Machine that both the client and server must maintain in sync. States: not_connected → connecting → idle → listening → processing → speaking / action.
Two Modes
- Internal Mode: VIP Server handles auth and issues ephemeral tokens; client streams audio directly to the model provider (low latency, recommended for production).
- External Mode: VIP Server acts as a full proxy and orchestrator; enables server-side model chaining without client changes.
This repository contains the specification source, published at voiceinteractionprotocol.io.
| Section | Status |
|---|---|
| §1 Introduction | ✅ Draft |
| §2 Scope & Goals | ✅ Draft |
| §3 Terminology & Definitions | ✅ Draft |
| §4 Protocol Overview | ✅ Draft |
| §5 Core Interaction Model | ✅ Draft |
| §6 Standard Interaction Primitives | ✅ Draft |
| §7 State & Flow Management | ✅ Draft |
| §8 Message Format (JSON Schemas) | 🔲 Planned |
| §9 Transport Layer Spec | 🔲 Planned |
| §10 Authentication Flow | 🔲 Planned |
| Concept Guides | 🔲 Planned |
| Implementation Guides (Web, Mobile, IoT) | 🔲 Planned |
The full specification is published at voiceinteractionprotocol.io/docs/spec/introduction.
To read it locally:
# Clone the repository
git clone https://github.com/voiceinteractionprotocol/docs.git
cd docs
# Install dependencies
npm install
# Start local dev server
npm startThe site will be available at http://localhost:3000.
VIP is an open effort. Contributions, feedback, and discussion are welcome.
- Issues — Report a problem or suggest a change
- Discussions — Ask questions or propose new sections
- Pull Requests — Spec edits, typo fixes, new sections
All specification files are in docs/spec/. The site is built with Docusaurus.
The current v0.1 draft establishes the core interaction model. The next phases will:
- v0.2 — Message format specification (exact JSON schemas for every protocol message)
- v0.3 — Transport layer details (WebSocket event names, WebRTC channel setup, heartbeat rules)
- v0.4 — Authentication flow spec (token exchange, ephemeral credential format)
- Concepts — Developer-facing explainers for the Voice Interaction Tree, Action Registry patterns
- Guides — Implementation walkthroughs for web, React Native, and IoT clients
The specification text (docs/) is licensed under
Creative Commons Attribution 4.0 International (CC BY 4.0) —
anyone can implement, share, and build on the spec with attribution.
The site source code (src/, static/, config files) is licensed under the
Apache License 2.0.
Copyright 2026 Voice Interaction Protocol Contributors.