{"id":"4d9c5248-47cb-4077-838d-66809fe6928d","shortId":"f5r86j","kind":"skill","title":"telnyx-video-python","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Video - Python\n\n## Installation\n\n```bash\npip install telnyx\n```\n\n## Setup\n\n```python\nimport os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n    api_key=os.environ.get(\"TELNYX_API_KEY\"),  # This is the default and can be omitted\n)\n```\n\nAll examples below assume `client` is already initialized as shown above.\n\n## Error Handling\n\nAll API calls can fail with network errors, rate limits (429), validation errors (422),\nor authentication errors (401). Always handle errors in production code:\n\n```python\nimport telnyx\n\ntry:\n    result = client.messages.send(to=\"+13125550001\", from_=\"+13125550002\", text=\"Hello\")\nexcept telnyx.APIConnectionError:\n    print(\"Network error — check connectivity and retry\")\nexcept telnyx.RateLimitError:\n    # 429: rate limited — wait and retry with exponential backoff\n    import time\n    time.sleep(1)  # Check Retry-After header for actual delay\nexcept telnyx.APIStatusError as e:\n    print(f\"API error {e.status_code}: {e.message}\")\n    if e.status_code == 422:\n        print(\"Validation error — check required fields and formats\")\n```\n\nCommon error codes: `401` invalid API key, `403` insufficient permissions,\n`404` resource not found, `422` validation error (check field formats),\n`429` rate limited (retry with exponential backoff).\n\n## View a list of room compositions.\n\n`GET /room_compositions`\n\n```python\npage = client.room_compositions.list()\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `completed_at` (date-time), `created_at` (date-time), `download_url` (string), `duration_secs` (integer), `ended_at` (date-time), `format` (enum: mp4), `id` (uuid), `record_type` (string), `resolution` (string), `room_id` (uuid), `session_id` (uuid), `size_mb` (float), `started_at` (date-time), `status` (enum: completed, enqueued, processing), `updated_at` (date-time), `user_id` (uuid), `video_layout` (object), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## Create a room composition.\n\nAsynchronously create a room composition.\n\n`POST /room_compositions`\n\nOptional: `format` (string), `resolution` (string), `session_id` (uuid), `video_layout` (object), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n```python\nroom_composition = client.room_compositions.create()\nprint(room_composition.data)\n```\n\nReturns: `completed_at` (date-time), `created_at` (date-time), `download_url` (string), `duration_secs` (integer), `ended_at` (date-time), `format` (enum: mp4), `id` (uuid), `record_type` (string), `resolution` (string), `room_id` (uuid), `session_id` (uuid), `size_mb` (float), `started_at` (date-time), `status` (enum: completed, enqueued, processing), `updated_at` (date-time), `user_id` (uuid), `video_layout` (object), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## View a room composition.\n\n`GET /room_compositions/{room_composition_id}`\n\n```python\nroom_composition = client.room_compositions.retrieve(\n    \"5219b3af-87c6-4c08-9b58-5a533d893e21\",\n)\nprint(room_composition.data)\n```\n\nReturns: `completed_at` (date-time), `created_at` (date-time), `download_url` (string), `duration_secs` (integer), `ended_at` (date-time), `format` (enum: mp4), `id` (uuid), `record_type` (string), `resolution` (string), `room_id` (uuid), `session_id` (uuid), `size_mb` (float), `started_at` (date-time), `status` (enum: completed, enqueued, processing), `updated_at` (date-time), `user_id` (uuid), `video_layout` (object), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## Delete a room composition.\n\nSynchronously delete a room composition.\n\n`DELETE /room_compositions/{room_composition_id}`\n\n```python\nclient.room_compositions.delete(\n    \"5219b3af-87c6-4c08-9b58-5a533d893e21\",\n)\n```\n\n## View a list of room participants.\n\n`GET /room_participants`\n\n```python\npage = client.room_participants.list()\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `context` (string), `id` (uuid), `joined_at` (date-time), `left_at` (date-time), `record_type` (string), `session_id` (uuid), `updated_at` (date-time)\n\n## View a room participant.\n\n`GET /room_participants/{room_participant_id}`\n\n```python\nroom_participant = client.room_participants.retrieve(\n    \"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(room_participant.data)\n```\n\nReturns: `context` (string), `id` (uuid), `joined_at` (date-time), `left_at` (date-time), `record_type` (string), `session_id` (uuid), `updated_at` (date-time)\n\n## View a list of room recordings.\n\n`GET /room_recordings`\n\n```python\npage = client.room_recordings.list()\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `codec` (string), `completed_at` (date-time), `created_at` (date-time), `download_url` (string), `duration_secs` (integer), `ended_at` (date-time), `id` (uuid), `participant_id` (uuid), `record_type` (string), `room_id` (uuid), `session_id` (uuid), `size_mb` (float), `started_at` (date-time), `status` (enum: completed, processing), `type` (enum: audio, video), `updated_at` (date-time)\n\n## Delete several room recordings in a bulk.\n\n`DELETE /room_recordings`\n\n```python\nresponse = client.room_recordings.delete_bulk()\nprint(response.data)\n```\n\nReturns: `room_recordings` (integer)\n\n## View a room recording.\n\n`GET /room_recordings/{room_recording_id}`\n\n```python\nroom_recording = client.room_recordings.retrieve(\n    \"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(room_recording.data)\n```\n\nReturns: `codec` (string), `completed_at` (date-time), `created_at` (date-time), `download_url` (string), `duration_secs` (integer), `ended_at` (date-time), `id` (uuid), `participant_id` (uuid), `record_type` (string), `room_id` (uuid), `session_id` (uuid), `size_mb` (float), `started_at` (date-time), `status` (enum: completed, processing), `type` (enum: audio, video), `updated_at` (date-time)\n\n## Delete a room recording.\n\nSynchronously delete a Room Recording.\n\n`DELETE /room_recordings/{room_recording_id}`\n\n```python\nclient.room_recordings.delete(\n    \"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\n```\n\n## View a list of room sessions.\n\n`GET /room_sessions`\n\n```python\npage = client.rooms.sessions.list_0()\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `active` (boolean), `created_at` (date-time), `ended_at` (date-time), `id` (uuid), `participants` (array[object]), `record_type` (string), `room_id` (uuid), `updated_at` (date-time)\n\n## View a room session.\n\n`GET /room_sessions/{room_session_id}`\n\n```python\nsession = client.rooms.sessions.retrieve(\n    room_session_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(session.data)\n```\n\nReturns: `active` (boolean), `created_at` (date-time), `ended_at` (date-time), `id` (uuid), `participants` (array[object]), `record_type` (string), `room_id` (uuid), `updated_at` (date-time)\n\n## End a room session.\n\nNote: this will also kick all participants currently present in the room\n\n`POST /room_sessions/{room_session_id}/actions/end`\n\n```python\nresponse = client.rooms.sessions.actions.end(\n    \"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(response.data)\n```\n\nReturns: `result` (string)\n\n## Kick participants from a room session.\n\n`POST /room_sessions/{room_session_id}/actions/kick`\n\nOptional: `exclude` (array[string]), `participants` (object)\n\n```python\nresponse = client.rooms.sessions.actions.kick(\n    room_session_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(response.data)\n```\n\nReturns: `result` (string)\n\n## Mute participants in room session.\n\n`POST /room_sessions/{room_session_id}/actions/mute`\n\nOptional: `exclude` (array[string]), `participants` (object)\n\n```python\nresponse = client.rooms.sessions.actions.mute(\n    room_session_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(response.data)\n```\n\nReturns: `result` (string)\n\n## Unmute participants in room session.\n\n`POST /room_sessions/{room_session_id}/actions/unmute`\n\nOptional: `exclude` (array[string]), `participants` (object)\n\n```python\nresponse = client.rooms.sessions.actions.unmute(\n    room_session_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(response.data)\n```\n\nReturns: `result` (string)\n\n## View a list of room participants.\n\n`GET /room_sessions/{room_session_id}/participants`\n\n```python\npage = client.rooms.sessions.retrieve_participants(\n    room_session_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `context` (string), `id` (uuid), `joined_at` (date-time), `left_at` (date-time), `record_type` (string), `session_id` (uuid), `updated_at` (date-time)\n\n## View a list of rooms.\n\n`GET /rooms`\n\n```python\npage = client.rooms.list()\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `active_session_id` (uuid), `created_at` (date-time), `enable_recording` (boolean), `id` (uuid), `max_participants` (integer), `record_type` (string), `sessions` (array[object]), `unique_name` (string), `updated_at` (date-time), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## Create a room.\n\nSynchronously create a Room.\n\n`POST /rooms`\n\nOptional: `enable_recording` (boolean), `max_participants` (integer), `unique_name` (string), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n```python\nroom = client.rooms.create(\n    unique_name=\"my-meeting-room\",\n    max_participants=10,\n)\nprint(room.data)\n```\n\nReturns: `active_session_id` (uuid), `created_at` (date-time), `enable_recording` (boolean), `id` (uuid), `max_participants` (integer), `record_type` (string), `sessions` (array[object]), `unique_name` (string), `updated_at` (date-time), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## View a room.\n\n`GET /rooms/{room_id}`\n\n```python\nroom = client.rooms.retrieve(\n    room_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(room.data)\n```\n\nReturns: `active_session_id` (uuid), `created_at` (date-time), `enable_recording` (boolean), `id` (uuid), `max_participants` (integer), `record_type` (string), `sessions` (array[object]), `unique_name` (string), `updated_at` (date-time), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## Update a room.\n\nSynchronously update a Room.\n\n`PATCH /rooms/{room_id}`\n\nOptional: `enable_recording` (boolean), `max_participants` (integer), `unique_name` (string), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n```python\nroom = client.rooms.update(\n    room_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(room.data)\n```\n\nReturns: `active_session_id` (uuid), `created_at` (date-time), `enable_recording` (boolean), `id` (uuid), `max_participants` (integer), `record_type` (string), `sessions` (array[object]), `unique_name` (string), `updated_at` (date-time), `webhook_event_failover_url` (uri), `webhook_event_url` (uri), `webhook_timeout_secs` (integer)\n\n## Delete a room.\n\nSynchronously delete a Room. Participants from that room will be kicked out, they won't be able to join that room anymore, and you won't be charged anymore for that room.\n\n`DELETE /rooms/{room_id}`\n\n```python\nclient.rooms.delete(\n    \"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\n```\n\n## Create Client Token to join a room.\n\nSynchronously create an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after `token_ttl_secs`, a Refresh Token is also provided to refresh a Client Token, the Refresh Token expires after `refresh_token_ttl_secs`.\n\n`POST /rooms/{room_id}/actions/generate_join_client_token`\n\nOptional: `refresh_token_ttl_secs` (integer), `token_ttl_secs` (integer)\n\n```python\nresponse = client.rooms.actions.generate_join_client_token(\n    room_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\nprint(response.data)\n```\n\nReturns: `refresh_token` (string), `refresh_token_expires_at` (date-time), `token` (string), `token_expires_at` (date-time)\n\n## Refresh Client Token to join a room.\n\nSynchronously refresh an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after `token_ttl_secs`.\n\n`POST /rooms/{room_id}/actions/refresh_client_token` — Required: `refresh_token`\n\nOptional: `token_ttl_secs` (integer)\n\n```python\nresponse = client.rooms.actions.refresh_client_token(\n    room_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n    refresh_token=\"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ\",\n)\nprint(response.data)\n```\n\nReturns: `token` (string), `token_expires_at` (date-time)\n\n## View a list of room sessions.\n\n`GET /rooms/{room_id}/sessions`\n\n```python\npage = client.rooms.sessions.list_1(\n    room_id=\"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0\",\n)\npage = page.data[0]\nprint(page.id)\n```\n\nReturns: `active` (boolean), `created_at` (date-time), `ended_at` (date-time), `id` (uuid), `participants` (array[object]), `record_type` (string), `room_id` (uuid), `updated_at` (date-time)","tags":["telnyx","video","python","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-video-python","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/telnyx-video-python","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (13,509 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:50.445Z","embedding":null,"createdAt":"2026-04-18T22:08:11.242Z","updatedAt":"2026-04-22T00:54:50.445Z","lastSeenAt":"2026-04-22T00:54:50.445Z","tsv":"'+13125550001':81 '+13125550002':83 '/actions/end':897 '/actions/generate_join_client_token':1483 '/actions/kick':923 '/actions/mute':957 '/actions/refresh_client_token':1566 '/actions/unmute':991 '/participants':1026 '/room_compositions':175,269,380,481 '/room_participants':500,540 '/room_recordings':589,665,681,766 '/room_sessions':785,829,893,919,953,987,1022 '/rooms':1077,1139,1226,1295,1415,1480,1563,1609 '/sessions':1612 '0':181,506,595,789,792,1042,1083,1627 '0ccc7b54':549,690,773,840,902,937,971,1005,1035,1235,1327,1421,1503,1583,1620 '0ccc7b54-4df3-4bca-a65a-3da1ecc777f0':548,689,772,839,901,936,970,1004,1034,1234,1326,1420,1502,1582,1619 '1':109,1616 '10':1174 '3da1ecc777f0':553,694,777,844,906,941,975,1009,1039,1239,1331,1425,1507,1587,1624 '401':67,144 '403':148 '404':151 '422':63,132,155 '429':60,97,161 '4bca':551,692,775,842,904,939,973,1007,1037,1237,1329,1423,1505,1585,1622 '4c08':391,490 '4df3':550,691,774,841,903,938,972,1006,1036,1236,1328,1422,1504,1584,1621 '5219b3af':389,488 '5219b3af-87c6-4c08-9b58-5a533d893e21':388,487 '5a533d893e21':393,492 '87c6':390,489 '9b58':392,491 'a65a':552,693,776,843,905,940,974,1008,1038,1238,1330,1424,1506,1586,1623 'abl':1398 'activ':796,848,1087,1178,1243,1335,1631 'actual':116 'alreadi':43 'also':883,1463 'alway':68 'anymor':1403,1410 'api':23,27,51,124,146 'array':811,863,926,960,994,1108,1199,1264,1356,1646 'assum':40 'asynchron':263 'audio':650,749 'authent':65 'backoff':105,167 'bash':9 'boolean':797,849,1098,1143,1189,1254,1301,1346,1632 'bulk':663,669 'call':52 'charg':1409 'check':91,110,136,158 'client':21,41,1427,1436,1442,1451,1468,1498,1530,1539,1545,1554,1578 'client.messages.send':79 'client.room_compositions.create':297 'client.room_compositions.delete':486 'client.room_compositions.list':178 'client.room_compositions.retrieve':387 'client.room_participants.list':503 'client.room_participants.retrieve':547 'client.room_recordings.delete':668,771 'client.room_recordings.list':592 'client.room_recordings.retrieve':688 'client.rooms.actions.generate':1496 'client.rooms.actions.refresh':1577 'client.rooms.create':1165 'client.rooms.delete':1419 'client.rooms.list':1080 'client.rooms.retrieve':1231 'client.rooms.sessions.actions.end':900 'client.rooms.sessions.actions.kick':932 'client.rooms.sessions.actions.mute':966 'client.rooms.sessions.actions.unmute':1000 'client.rooms.sessions.list':788,1615 'client.rooms.sessions.retrieve':835,1029 'client.rooms.update':1323 'code':73,127,131,143 'codec':599,698 'common':141 'complet':185,232,301,348,397,444,601,646,700,745 'composit':173,262,267,296,378,382,386,474,479,483 'connect':92 'context':510,557,1046 'creat':190,259,264,306,402,606,705,798,850,1091,1131,1135,1182,1247,1339,1426,1434,1633 'current':887 'date':188,193,204,228,238,304,309,320,344,354,400,405,416,440,450,517,522,533,564,569,580,604,609,620,642,655,703,708,719,741,754,801,806,822,853,858,874,1053,1058,1069,1094,1116,1185,1207,1250,1272,1342,1364,1519,1527,1600,1636,1641,1657 'date-tim':187,192,203,227,237,303,308,319,343,353,399,404,415,439,449,516,521,532,563,568,579,603,608,619,641,654,702,707,718,740,753,800,805,821,852,857,873,1052,1057,1068,1093,1115,1184,1206,1249,1271,1341,1363,1518,1526,1599,1635,1640,1656 'default':32 'delay':117 'delet':471,476,480,657,664,756,761,765,1379,1383,1414 'download':195,311,407,611,710 'durat':198,314,410,614,713 'e':121 'e.message':128 'e.status':126,130 'enabl':1096,1141,1187,1252,1299,1344 'end':201,317,413,617,716,803,855,876,1638 'enqueu':233,349,445 'enum':207,231,323,347,419,443,645,649,744,748 'error':48,57,62,66,70,90,125,135,142,157 'event':247,252,282,287,363,368,459,464,1119,1124,1151,1156,1210,1215,1275,1280,1309,1314,1367,1372 'exampl':38 'except':86,95,118 'exclud':925,959,993 'expir':1454,1473,1516,1524,1557,1597 'exponenti':104,166 'eyjhbgcioijiuzuxmiisinr5cci6ikpxvcj9.eyjhdwqioij0zwxuexhfdgvszxbob255iiwizxhwijoxntkwmdewmtqzlcjpyxqioje1odc1ota5ndmsimlzcyi6inrlbg55ef90zwxlcghvbnkilcjqdgkioijiogm3ndgzny1kodllltrhnjutownmmi0zngm3ytzmytywyzgilcjuymyioje1odc1ota5ndisinn1yii6ijvjn2fjn2qwlwrinjutngyxms05oguxlwvlyzbkmwq1yzzhzsisinrlbf90b2tlbii6injqx1pra1pvt1pnefppzk9tthbfvuizc2lvn3u2umparmvnoxmtz2jfeensntzxrktgqupptxlgmlq2q0jsbwxox1n5mglfbgz5vdlbsthzrwlmoe1usulzenl6u2xfyururzq4yu81mhlhsed1ulnzylviu1ltovdjavewzz09iiwidhlwijoiywnjzxnzin0.gnewztow5mllplqenytca7pun79pmpj6fyqzww06zeemesxypwkh0xrta0tzlh6cdyirhri8seofoo0yfgdhpq':1590 'f':123 'fail':54 'failov':248,283,364,460,1120,1152,1211,1276,1310,1368 'field':138,159 'float':224,340,436,638,737 'format':140,160,206,271,322,418 'found':154 'get':174,379,499,539,588,680,784,828,1021,1076,1225,1608 'handl':49,69 'header':114 'hello':85 'id':209,217,220,241,276,325,333,336,357,383,421,429,432,453,484,512,528,543,559,575,622,625,631,634,684,721,724,730,733,769,808,817,832,838,860,869,896,922,935,956,969,990,1003,1025,1033,1048,1064,1089,1099,1180,1190,1228,1233,1245,1255,1297,1325,1337,1347,1417,1482,1501,1565,1581,1611,1618,1643,1652 'import':15,19,75,106 'initi':44 'instal':8,11 'insuffici':149 'integ':200,258,293,316,374,412,470,616,675,715,1103,1130,1146,1162,1194,1221,1259,1286,1304,1320,1351,1378,1489,1493,1574 'invalid':145 'join':514,561,1050,1400,1430,1439,1447,1497,1533,1542,1550 'key':24,28,147 'kick':884,912,1392 'layout':244,279,360,456 'left':519,566,1055 'limit':59,99,163 'list':170,495,584,780,1017,1073,1604 'max':1101,1144,1172,1192,1257,1302,1349 'mb':223,339,435,637,736 'meet':1170 'mp4':208,324,420 'mute':947 'my-meeting-room':1168 'name':1111,1148,1167,1202,1267,1306,1359 'necessari':1445,1548 'network':56,89 'note':880 'object':245,280,361,457,812,864,929,963,997,1109,1200,1265,1357,1647 'omit':36 'option':270,924,958,992,1140,1298,1484,1570 'os':16 'os.environ.get':25 'page':177,179,502,504,591,593,787,790,1028,1040,1079,1081,1614,1625 'page.data':180,505,594,791,1041,1082,1626 'page.id':183,508,597,794,1044,1085,1629 'particip':498,538,542,546,624,723,810,862,886,913,928,948,962,982,996,1020,1030,1102,1145,1173,1193,1258,1303,1350,1386,1645 'patch':1294 'permiss':150 'pip':10 'post':268,892,918,952,986,1138,1479,1562 'present':888 'print':88,122,133,182,298,394,507,554,596,670,695,793,845,907,942,976,1010,1043,1084,1175,1240,1332,1508,1591,1628 'process':234,350,446,647,746 'product':72 'provid':1464 'python':4,7,14,74,176,294,384,485,501,544,590,666,685,770,786,833,898,930,964,998,1027,1078,1163,1229,1321,1418,1494,1575,1613 'rate':58,98,162 'record':211,327,423,524,571,587,627,660,674,679,683,687,726,759,764,768,813,865,1060,1097,1104,1142,1188,1195,1253,1260,1300,1345,1352,1648 'refresh':1460,1466,1471,1475,1485,1511,1514,1529,1537,1568,1588 'requir':137,1567 'resolut':214,273,330,426 'resourc':152 'respons':667,899,931,965,999,1495,1576 'response.data':671,908,943,977,1011,1509,1592 'result':78,910,945,979,1013 'retri':94,102,112,164 'retry-aft':111 'return':184,300,396,509,556,598,672,697,795,847,909,944,978,1012,1045,1086,1177,1242,1334,1510,1593,1630 'room':172,216,261,266,295,332,377,381,385,428,473,478,482,497,537,541,545,586,630,659,673,678,682,686,729,758,763,767,782,816,826,830,836,868,878,891,894,916,920,933,950,954,967,984,988,1001,1019,1023,1031,1075,1133,1137,1164,1171,1224,1227,1230,1232,1289,1293,1296,1322,1324,1381,1385,1389,1402,1413,1416,1432,1441,1450,1481,1500,1535,1544,1553,1564,1580,1606,1610,1617,1651 'room.data':1176,1241,1333 'room_composition.data':299,395 'room_participant.data':555 'room_recording.data':696 'sec':199,257,292,315,373,411,469,615,714,1129,1161,1220,1285,1319,1377,1458,1478,1488,1492,1561,1573 'session':219,275,335,431,527,574,633,732,783,827,831,834,837,879,895,917,921,934,951,955,968,985,989,1002,1024,1032,1063,1088,1107,1179,1198,1244,1263,1336,1355,1607 'session.data':846 'setup':13 'sever':658 'shown':46 'size':222,338,434,636,735 'skill' 'skill-telnyx-video-python' 'source-team-telnyx' 'start':225,341,437,639,738 'status':230,346,442,644,743 'string':197,213,215,272,274,313,329,331,409,425,427,511,526,558,573,600,613,629,699,712,728,815,867,911,927,946,961,980,995,1014,1047,1062,1106,1112,1149,1197,1203,1262,1268,1307,1354,1360,1513,1522,1595,1650 'synchron':475,760,1134,1290,1382,1433,1536 'telnyx':2,5,12,18,20,22,26,76,1449,1552 'telnyx-video-python':1 'telnyx.apiconnectionerror':87 'telnyx.apistatuserror':119 'telnyx.ratelimiterror':96 'text':84 'time':107,189,194,205,229,239,305,310,321,345,355,401,406,417,441,451,518,523,534,565,570,581,605,610,621,643,656,704,709,720,742,755,802,807,823,854,859,875,1054,1059,1070,1095,1117,1186,1208,1251,1273,1343,1365,1520,1528,1601,1637,1642,1658 'time.sleep':108 'timeout':256,291,372,468,1128,1160,1219,1284,1318,1376 'token':1428,1437,1443,1452,1456,1461,1469,1472,1476,1486,1490,1499,1512,1515,1521,1523,1531,1540,1546,1555,1559,1569,1571,1579,1589,1594,1596 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'tri':77 'ttl':1457,1477,1487,1491,1560,1572 'type':212,328,424,525,572,628,648,727,747,814,866,1061,1105,1196,1261,1353,1649 'uniqu':1110,1147,1166,1201,1266,1305,1358 'unmut':981 'updat':235,351,447,530,577,652,751,819,871,1066,1113,1204,1269,1287,1291,1361,1654 'uri':250,254,285,289,366,370,462,466,1122,1126,1154,1158,1213,1217,1278,1282,1312,1316,1370,1374 'url':196,249,253,284,288,312,365,369,408,461,465,612,711,1121,1125,1153,1157,1212,1216,1277,1281,1311,1315,1369,1373 'user':240,356,452 'uuid':210,218,221,242,277,326,334,337,358,422,430,433,454,513,529,560,576,623,626,632,635,722,725,731,734,809,818,861,870,1049,1065,1090,1100,1181,1191,1246,1256,1338,1348,1644,1653 'valid':61,134,156 'video':3,6,243,278,359,455,651,750 'view':168,375,493,535,582,676,778,824,1015,1071,1222,1602 'wait':100 'webhook':246,251,255,281,286,290,362,367,371,458,463,467,1118,1123,1127,1150,1155,1159,1209,1214,1218,1274,1279,1283,1308,1313,1317,1366,1371,1375 'won':1395,1406","prices":[{"id":"e18a85cc-1708-4e03-9df2-5e42700c5df3","listingId":"4d9c5248-47cb-4077-838d-66809fe6928d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:08:11.242Z"}],"sources":[{"listingId":"4d9c5248-47cb-4077-838d-66809fe6928d","source":"github","sourceId":"team-telnyx/ai/telnyx-video-python","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-video-python","isPrimary":false,"firstSeenAt":"2026-04-18T22:08:11.242Z","lastSeenAt":"2026-04-22T00:54:50.445Z"}],"details":{"listingId":"4d9c5248-47cb-4077-838d-66809fe6928d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-video-python","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"ee1e0dc804e6fa3cc175ae3abdf60ef6499d02ca","skill_md_path":"skills/telnyx-video-python/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-video-python"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-video-python","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-video-python"},"updatedAt":"2026-04-22T00:54:50.445Z"}}