openvip
Open Voice Interaction Protocol (OpenVIP) HTTP API specification.
This API allows applications to send and receive voice interaction messages.
Base Path
The OpenVIP protocol defines relative paths only. The base path is
implementation-defined — implementations choose where to mount these
endpoints. The recommended base path is /openvip/.
Implementations SHOULD serve this OpenAPI spec at {base_path}/openapi.json
for discovery (e.g. GET /openvip/openapi.json).
Quick Start
# Subscribe to messages (SSE) — this IS the registration
curl http://localhost:8770/openvip/agents/my-agent-id/messages
# Send a message to an agent
curl -X POST http://localhost:8770/openvip/agents/my-agent-id/messages \\
-H \"Content-Type: application/json\" \\
-d '{\"openvip\": \"1.0\", \"type\": \"transcription\", \"id\": \"uuid\", \"timestamp\": \"2026-02-06T10:30:00Z\", \"text\": \"hello\"}'
# Text-to-speech
curl -X POST http://localhost:8770/openvip/speech \\
-H \"Content-Type: application/json\" \\
-d '{\"openvip\": \"1.0\", \"type\": \"speech\", \"id\": \"uuid\", \"timestamp\": \"2026-02-06T10:30:05Z\", \"text\": \"hello world\", \"language\": \"en\"}'
Agent Lifecycle
Agents are ephemeral. An agent exists only while its SSE connection is open. No explicit registration is needed — connecting to the SSE endpoint registers the agent. Disconnecting automatically de-registers it.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 1.0
- Package version: 1.0.0
- Generator version: 7.21.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://openvip.org
Requirements.
Python 3.9+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)
Then import the package:
import openvip
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import openvip
Tests
Execute pytest to run the tests.
Getting Started
Please follow the installation procedure and then run the following:
import openvip
from openvip.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:8770/openvip
# See configuration.py for a list of all supported configuration parameters.
configuration = openvip.Configuration(
host = "http://localhost:8770/openvip"
)
# Enter a context with an instance of the API client
with openvip.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openvip.ControlApi(api_client)
control_request = {"openvip":"1.0","id":"770e8400-e29b-41d4-a716-446655440000","command":"stt.stop"} # ControlRequest |
try:
# Send control command
api_response = api_instance.send_control(control_request)
print("The response of ControlApi->send_control:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling ControlApi->send_control: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to http://localhost:8770/openvip
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ControlApi | send_control | POST /control | Send control command |
| MessagesApi | send_message | POST /agents/{agent_id}/messages | Send message to agent |
| MessagesApi | subscribe_agent | GET /agents/{agent_id}/messages | Subscribe to agent messages (SSE) |
| SpeechApi | stop_speech | POST /speech/stop | Stop TTS playback |
| SpeechApi | text_to_speech | POST /speech | Text-to-speech request |
| StatusApi | get_status | GET /status | Get engine status |
| StatusApi | subscribe_status | GET /status/stream | Subscribe to status changes (SSE) |
Documentation For Models
- ControlRequest
- Error
- Message
- MessageXAgentSwitch
- MessageXInput
- Response
- SpeechRequest
- SpeechResponse
- Status
- StatusStt
- StatusTts
- Transcription
Documentation For Authorization
Endpoints do not require authorization.
Author
Metadata
Release files for openvip 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openvip-1.0.0.tar.gz | 40.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openvip-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 106.0 kB
Release files / openvip-1.0.0.tar.gz
| Download URL | openvip-1.0.0.tar.gz |
|---|---|
| Size | 40.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e9d28547be069e58bfaf9abbd46f6ce67c83ce0f4798f1bbea9223a8bf75531
|
|
BLAKE2b-256 checksum How to use checksums |
b1be469b1a21d9e704e12ff9c8e15d59d9a3f770e969645d225314639c3e05ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency logRelease files / openvip-1.0.0-py3-none-any.whl
| Download URL | openvip-1.0.0-py3-none-any.whl |
|---|---|
| Size | 65.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
262266c874d179a0b82fe06223092745a7f10bb331d122c450256e3ea74eb7f8
|
|
BLAKE2b-256 checksum How to use checksums |
eab6c736b2ff44453c3f4d4d9ad5b9070b611b472a5975968a1aa9cd0a168f28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency log