Gemini Live API Dev
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
Stream call audio in real-time, fork media to external destinations, and transcribe speech live.
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-python --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .claude/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .claude/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-pythonType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-python --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .agents/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .agents/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-python --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .cursor/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .cursor/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/team-telnyx/ai.git --path skills/telnyx-voice-streaming-python--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-python --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .gemini/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .gemini/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-pythonInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .github/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .github/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install team-telnyx/ai telnyx-voice-streaming-python --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/telnyx-voice-streaming-python .opencode/skills/telnyx-voice-streaming-python && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "telnyx-voice-streaming-python" agent skill from https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-streaming-python into .opencode/skills/telnyx-voice-streaming-python/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "telnyx-voice-streaming-python", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
telnyx-voice-streaming-pythonStream call audio in real-time, fork media to external destinations, and transcribe speech live.
Telnyx Voice Streaming Python is an agent skill from team-telnyx/ai. Stream call audio in real-time, fork media to external destinations, and transcribe speech live. Use for real-time analytics and AI integrations. This skill provides Python SDK examples.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Transcription and Webhooks. It works with Python. The repository describes itself as: Official one-stop shop for AI Agents and developers building with Telnyx. The licence is MIT.
Read from SKILL.md and the folder at commit 4d2ace0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developers.telnyx.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TELNYX_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Telnyx Voice Streaming Python loads about 3.3k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,137 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from team-telnyx/ai at commit 4d2ace0, republished under its MIT licence (© team-telnyx). 1,137 words, ~3,277 tokens.
.claude/skills/telnyx-voice-streaming-python/SKILL.md (or your agent's skills folder).<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
pip install telnyximport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)All examples below assume client is already initialized as shown above.
All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
import telnyx
try:
result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
# 429: rate limited — wait and retry with exponential backoff
import time
time.sleep(1) # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
print(f"API error {e.status_code}: {e.message}")
if e.status_code == 422:
print("Validation error — check required fields and formats")Common error codes: 401 invalid API key, 403 insufficient permissions,
404 resource not found, 422 validation error (check field formats),
429 rate limited (retry with exponential backoff).
Call forking allows you to stream the media from a call to a specific target in realtime. This stream can be used to enable realtime audio analysis to support a
variety of use cases, including fraud detection, or the creation of AI-generated audio responses. Requests must specify either the target attribute or the rx and tx attributes.
POST /calls/{call_control_id}/actions/fork_start
Optional: client_state (string), command_id (string), rx (string), stream_type (enum: decrypted), tx (string)
response = client.calls.actions.start_forking(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)Returns: result (string)
Stop forking a call. Expected Webhooks:
call.fork.stoppedPOST /calls/{call_control_id}/actions/fork_stop
Optional: client_state (string), command_id (string), stream_type (enum: raw, decrypted)
response = client.calls.actions.stop_forking(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)Returns: result (string)
Start streaming the media from a call to a specific WebSocket address or Dialogflow connection in near-realtime. Audio will be delivered as base64-encoded RTP payload (raw audio), wrapped in JSON payloads. Please find more details about media streaming messages specification under the link.
POST /calls/{call_control_id}/actions/streaming_start
Optional: client_state (string), command_id (string), custom_parameters (array[object]), dialogflow_config (object), enable_dialogflow (boolean), stream_auth_token (string), stream_bidirectional_codec (enum: PCMU, PCMA, G722, OPUS, AMR-WB, L16), stream_bidirectional_mode (enum: mp3, rtp), stream_bidirectional_sampling_rate (enum: 8000, 16000, 22050, 24000, 48000), stream_bidirectional_target_legs (enum: both, self, opposite), stream_codec (enum: PCMU, PCMA, G722, OPUS, AMR-WB, L16, default), stream_track (enum: inbound_track, outbound_track, both_tracks), stream_url (string)
response = client.calls.actions.start_streaming(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
stream_url="wss://example.com/audio-stream",
)
print(response.data)Returns: result (string)
Stop streaming a call to a WebSocket. Expected Webhooks:
streaming.stoppedPOST /calls/{call_control_id}/actions/streaming_stop
Optional: client_state (string), command_id (string), stream_id (uuid)
response = client.calls.actions.stop_streaming(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)Returns: result (string)
Start real-time transcription. Transcription will stop on call hang-up, or can be initiated via the Transcription stop command. Expected Webhooks:
call.transcriptionPOST /calls/{call_control_id}/actions/transcription_start
Optional: client_state (string), command_id (string), transcription_engine (enum: Google, Telnyx, Deepgram, Azure, xAI, AssemblyAI, Speechmatics, Soniox, Parakeet, A, B), transcription_engine_config (object), transcription_tracks (string)
response = client.calls.actions.start_transcription(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)Returns: result (string)
Stop real-time transcription.
POST /calls/{call_control_id}/actions/transcription_stop
Optional: client_state (string), command_id (string)
response = client.calls.actions.stop_transcription(
call_control_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response.data)Returns: result (string)
Telnyx signs webhooks with Ed25519. Each request includes telnyx-signature-ed25519
and telnyx-timestamp headers. Always verify signatures in production:
# In your webhook handler (e.g., Flask — use raw body, not parsed JSON):
@app.route("/webhooks", methods=["POST"])
def handle_webhook():
payload = request.get_data(as_text=True) # raw body as string
headers = dict(request.headers)
try:
event = client.webhooks.unwrap(payload, headers=headers)
except Exception as e:
print(f"Webhook verification failed: {e}")
return "Invalid signature", 400
# Signature valid — event is the parsed webhook payload
print(f"Received event: {event.data.event_type}")
return "OK", 200The following webhook events are sent to your configured webhook URL.
All webhooks include telnyx-timestamp and telnyx-signature-ed25519 headers for Ed25519 signature verification. Use client.webhooks.unwrap() to verify.
| Event | Description |
|---|---|
callForkStarted | Call Fork Started |
callForkStopped | Call Fork Stopped |
callStreamingFailed | Call Streaming Failed |
callStreamingStarted | Call Streaming Started |
callStreamingStopped | Call Streaming Stopped |
transcription | Transcription |
callForkStarted
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the type of the resource. |
data.event_type | enum: call.fork.started | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
data.payload.call_control_id | string | Unique ID for controlling the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | State received from a command. |
data.payload.stream_type | enum: decrypted | Type of media streamed. |
callForkStopped
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the type of the resource. |
data.event_type | enum: call.fork.stopped | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
data.payload.call_control_id | string | Unique ID for controlling the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | State received from a command. |
data.payload.stream_type | enum: decrypted | Type of media streamed. |
callStreamingFailed
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the resource. |
data.event_type | enum: streaming.failed | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.call_control_id | string | Call ID used to issue commands via Call Control API. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | State received from a command. |
data.payload.failure_reason | string | A short description explaning why the media streaming failed. |
data.payload.stream_id | uuid | Identifies the streaming. |
data.payload.stream_type | enum: websocket, dialogflow | The type of stream connection the stream is performing. |
callStreamingStarted
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the type of the resource. |
data.event_type | enum: streaming.started | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.call_control_id | string | Call ID used to issue commands via Call Control API. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | State received from a command. |
data.payload.stream_url | string | Destination WebSocket address where the stream is going to be delivered. |
callStreamingStopped
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the type of the resource. |
data.event_type | enum: streaming.stopped | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.call_control_id | string | Call ID used to issue commands via Call Control API. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | State received from a command. |
data.payload.stream_url | string | Destination WebSocket address where the stream is going to be delivered. |
transcription
| Field | Type | Description |
|---|---|---|
data.record_type | enum: event | Identifies the type of the resource. |
data.event_type | enum: call.transcription | The type of event being delivered. |
data.id | uuid | Identifies the type of resource. |
data.occurred_at | date-time | ISO 8601 datetime of when the event occurred. |
data.payload.call_control_id | string | Unique identifier and token for controlling the call. |
data.payload.call_leg_id | string | ID that is unique to the call and can be used to correlate webhook events. |
data.payload.call_session_id | string | ID that is unique to the call session and can be used to correlate webhook events. |
data.payload.client_state | string | Use this field to add state to every subsequent webhook. |
data.payload.connection_id | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |
© team-telnyx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/telnyx-voice-streaming-python of team-telnyx/ai.
Open the folder on GitHubat commit 4d2ace0
Telnyx Voice Streaming Python next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Telnyx Voice Streaming Python this skillteam-telnyx/ai | 220 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Deepgram Python Speech-to-Textdeepgram/deepgram-python-sdk | 469 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Azure AI Voicelive Pymicrosoft/skills | 3.1k | 6 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Dingtalk Messageagentscope-ai/ReMe | 3.6k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Stripe Best Practiceskanchengw/cnllm | 175 | 3 repos | ~925 | Automated safety check: Pass | Apache-2.0 |
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
deepgram/deepgram-python-sdk
Covers basic transcription with the Deepgram Python SDK's listen.v1 endpoint, for one-shot REST transcription of a file or URL and live WebSocket streaming with interim results.
microsoft/skills
Build real-time voice AI applications using Azure AI Voice Live SDK (azure-ai-voicelive).
agentscope-ai/ReMe
钉钉消息发送技能。支持企业内部机器人(批量单聊/群聊)和 Webhook 自定义机器人两种接入方式,支持多机器人管理,支持文本、Markdown、链接、ActionCard、FeedCard等多种消息类型。
kanchengw/cnllm
Guides Stripe integration decisions — API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, Treasury financial…
tlgrcli/tlgr
Read and act on a personal Telegram account from the terminal with the tlgr CLI (MTProto user account, not a bot).
team-telnyx/ai
Test VoIP push notifications for Telnyx WebRTC iOS (APNs) and Android (FCM) apps.
team-telnyx/ai
Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.
team-telnyx/ai
Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK.
team-telnyx/ai
End-to-end setup for making a Telnyx AI assistant call a phone number.
team-telnyx/ai
Manage email inboxes, list and search inbound messages, threads, sender filters, and reply to or forward messages.
team-telnyx/ai
A skill your agent uses when an agent must join, observe, react in, transcribe, summarize, or follow up on a Zoom, Google Meet, Microsoft Teams, or Webex meeting with Telnyx Meeting Bot.
Works with
Categories
Stream call audio in real-time, fork media to external destinations, and transcribe speech live. Telnyx Voice Streaming Python is an agent skill from team-telnyx/ai. Stream call audio in real-time, fork media to external destinations, and transcribe speech live.
Telnyx Voice Streaming Python fits situations like: real-time analytics and AI integrations; tasks that involve Transcription; tasks that involve Webhooks.
Run `npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a claude-code`. Or copy the skill folder (skills/telnyx-voice-streaming-python in team-telnyx/ai) into .claude/skills/telnyx-voice-streaming-python in your project. Claude Code loads it when a task matches its description.
Run `npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a codex`. Or copy the skill folder (skills/telnyx-voice-streaming-python in team-telnyx/ai) into .agents/skills/telnyx-voice-streaming-python in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add team-telnyx/ai --skill telnyx-voice-streaming-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telnyx-voice-streaming-python, .gemini/skills/telnyx-voice-streaming-python, .github/skills/telnyx-voice-streaming-python and .opencode/skills/telnyx-voice-streaming-python in your project.
Going by SKILL.md and its folder, Telnyx Voice Streaming Python needs the command-line tools its instructions call (pip) and credentials named TELNYX_API_KEY. Our summary lists: Python 3; A credential in TELNYX_API_KEY.
SKILL.md names 1 domain. As links in the text: developers.telnyx.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Telnyx Voice Streaming Python is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Telnyx Voice Streaming Python: Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars), Deepgram Python Speech-to-Text (deepgram/deepgram-python-sdk, 469 stars), Azure AI Voicelive Py (microsoft/skills, 3.1k stars) and Dingtalk Message (agentscope-ai/ReMe, 3.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
team-telnyx (a GitHub organization) maintains it in team-telnyx/ai, which has 220 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 5, 2026.
Source: team-telnyx/ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.