{"id":"4b0e3aa6-5287-4d93-9a7f-61cb5903287e","shortId":"c7rFMq","kind":"skill","title":"chanjing-tts-voice-clone","tagline":">-","description":"# Chanjing TTS Voice Clone\n\n## 功能说明\n\n基于用户提供的**参考音频公网 URL**（由蝉镜服务端拉取）创建音色并合成语音；轮询任务并从接口返回 URL 下载结果。脚本**不**依赖 ffmpeg/ffprobe。凭据、令牌写回与权限见 **`manifest.yaml`**；**`access_token` / `expire_in` 刷新时会覆盖同文件字段**，勿将凭证提交版本库。\n\n## 运行依赖\n\n- **python3** 与同仓库 `scripts/*.py`\n- **无** ffmpeg/ffprobe 门控\n\n## 环境变量与机器可读声明\n\n- 环境变量键名与说明：**`manifest.yaml`**（`environment` 段）及本文\n- 变量、凭据、**`permissions.userContent`**（含参考音公网 URL 由蝉镜拉取）：**`manifest.yaml`**\n\n## 使用命令\n\n- **ClawHub**（slug 以注册表为准）：`clawhub run chanjing-tts-voice-clone`\n- **本仓库**：`python skills/chanjing-tts-voice-clone/scripts/create_voice.py …`（见正文 **How to Use**）\n\n---\n\n## 登记与审稿（单一事实来源）\n\n主凭据、**`expire_in`** 写回与覆盖行为、用户参考音 URL 边界等：**以 `manifest.yaml` 为准**。本篇 **How to Use** 起为 API 步骤与英文接口说明。\n\n## When to Use This Skill\n\nUse this skill when the user needs to generate speech from text, with a user-provided reference voice. The reference audio needs to be provided as a publicly accessible url.\n\nThis TTS service supports:\n\n* bilingual Chinese and English\n* adjustment of speech rate\n* sentence-level timestamp\n\n## How to Use This Skill\n\n**前置条件（权限验证）**：执行本 Skill 前，必须先通过 **chanjing-credentials-guard** 完成 AK/SK 与 Token 校验。脚本与 guard 使用同一套凭证；无凭证时会执行 `open_login_page.py` 打开注册/登录页。凭据与审稿对表见 **`manifest.yaml`**。\n\n### Security & credentials（引用）\n\n**Purpose / Credentials / user-supplied reference URL / downloads**：见 **`manifest.yaml`** 中 **`credentials`** 与 **`clientPermissions`**（及合规 **`permissions`**）；勿与本节以下 API 文档重复维护表格。\n\nChanjing-TTS-Voice-Clone provides an asynchronous speech synthesis API.\nHostname for all APIs is: \"https://open-api.chanjing.cc\".\nAll requests communicate using json.\nYou should use utf-8 to encode and decode text throughout this task.\n\n1. Obtain an access\\_token, which is required for subsequent requests\n2. Call the Create Voice API, which accepts a url to an audio file as reference voice\n3. Poll the Query Voice API until the result is success; keep the voice ID\n4. Call the Create Speech Generation Task API, using the voice ID, record the `task_id`\n5. Poll the Query Speech Generation Task Status API until the result is success\n6. When the task status is complete, use the corresponding url in API response to download the generated audio file\n\n### Get Access Token API\n\n从 `~/.chanjing/credentials.json` 读取 `app_id` 和 `secret_key`，若无有效 Token 则调用：\n\n```http\nPOST /open/v1/access_token\nContent-Type: application/json\n```\n\n请求体（使用本地配置的 app_id、secret_key）：\n\n```json\n{\n  \"app_id\": \"<从 credentials.json 读取>\",\n  \"secret_key\": \"<从 credentials.json 读取>\"\n}\n```\n\nResponse example:\n\n```json\n{\n  \"trace_id\": \"8ff3fcd57b33566048ef28568c6cee96\",\n  \"code\": 0,\n  \"msg\": \"success\",\n  \"data\": {\n    \"access_token\": \"1208CuZcV1Vlzj8MxqbO0kd1Wcl4yxwoHl6pYIzvAGoP3DpwmCCa73zmgR5NCrNu\",\n    \"expire_in\": 1721289220\n  }\n}\n```\n\nResponse field description:\n\n| First-level Field | Second-level Field | Description |\n|---|---|---|\n| code | | Response status code |\n| msg | | Response message |\n| data | | Response data |\n| | access\\_token | Valid for one day, previous token will be invalidated |\n| | expire\\_in | Token expiration time |\n\nResponse status code description:\n\n| code | Description |\n|---|---|\n| 0 | Success |\n| 400 | Parameter format error |\n| 40000 | Parameter error |\n| 50000 | System internal error |\n\n### Create Voice API\n\nPost to the following endpoint to create a voice.\n\n```http\nPOST /open/v1/create_customised_audio\naccess_token: {{access_token}}\nContent-Type: application/json\n```\n\nRequest body example:\n\n```json\n{\n  \"name\": \"example\",\n  \"url\": \"https://example.com/abc.mp3\"\n}\n```\n\nRequest field description:\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| name | string | Yes | A name for this voice |\n| url | string | Yes | url to the reference audio file, format must be one of mp3, wav or m4a. Supported mime: audio/x-wav, audio/mpeg, audio/m4a, video/mp4. Size must not exceed 100MB. Recommended audio length: 30s-5min |\n| model\\_type | string | Yes | Use \"Cicada3.0-turbo\" |\n| language | string | No | Either \"cn\" or \"en\", default to \"cn\" |\n\nResponse example:\n\n```json\n{\n  \"trace_id\": \"2f0f50951d0bae0a3be3569097305424\",\n  \"code\": 0,\n  \"msg\": \"success\",\n  \"data\": \"C-Audio-53e4e53ba1bc40de91ffaa74f20470fc\"\n}\n```\n\nResponse field description:\n\n| Field | Description |\n|---|---|\n| code | Status Code |\n| msg | Message |\n| data | Voice ID, to be used in following steps |\n\nResponse status code description:\n\n| Code  | Description |\n|---|---|\n| 0 | Success |\n| 400 | Parameter Format Error |\n| 10400 | AccessToken Error |\n| 40000 | Parameter Error |\n| 40001 | QPS Exceeded |\n| 50000 | Internal System Error |\n\n### Poll Voice API\n\nSend a GET request to the following endpoint to query whether the voice is ready to be used, voice ID is obtained in the previous step.\nThe polling process may take a few minutes, keep polling until the status indicates the voice is ready.\n\n```http\nGET /open/v1/customised_audio?id={{voice_id}}\naccess_token: {{access_token}}\n```\n\nResponse example:\n\n```json\n{\n  \"trace_id\": \"7994cedae0f068d1e9e4f4abdf99215b\",\n  \"code\": 0,\n  \"msg\": \"success\",\n  \"data\": {\n    \"id\": \"C-Audio-53e4e53ba1bc40de91ffaa74f20470fc\",\n    \"name\": \"声音克隆\",\n    \"type\": \"cicada1.0\",\n    \"progress\": 0,\n    \"audio_path\": \"\",\n    \"err_msg\": \"不支持的音频格式，请阅读接口文档\",\n    \"status\": 2\n  }\n}\n```\n\nResponse field description:\n\n| First-level Field | Second-level Field | Description |\n|---|---|---|\n| code | | Status Code |\n| msg | | Response Message |\n| data | | |\n| | id | Voice ID |\n| | progress | Progress: range 0-100 |\n| | type | |\n| | name | |\n| | err\\_msg | Error Message |\n| | audio\\_path | |\n| | status | 0-queued; 1-in progress; 2-done; 3-expired; 4-failed; 99-deleted |\n\nResponse status code description:\n\n| Code | Description |\n|---|---|\n| 0 | Success |\n| 10400 | AccessToken Error |\n| 40000 | Parameter Error |\n| 40001 | QPS Exceeded |\n| 50000 | Internal System Error |\n\n### Create Speech Generation Task API\n\nPost to the following endpoint to submit a speech generation task:\n\n```http\nPOST /open/v1/create_audio_task\naccess_token: {{access_token}}\nContent-Type: application/json\n```\n\nRequest body example:\n\n```json\n{\n  \"audio_man\": \"C-Audio-53e4e53ba1bc40de91ffaa74f20470fc\",\n  \"speed\": 1,\n  \"pitch\": 1,\n  \"text\": {\n    \"text\": \"Hello, I am your AI assistant.\"\n  }\n}\n```\n\nRequest field description:\n\n| Parameter Name | Type | Nested Key | Required | Example | Description |\n|---|---|---|---|---|---|\n| audio\\_man | string | | Yes | C-Audio-53e4e53ba1bc40de91ffaa74f20470fc | Voice ID, obtained from previous step |\n| speed | number | | Yes | 1 | Speech rate, range: 0.5 (slow) to 2 (fast) |\n| pitch | number | | Yes | 1 | Pitch (always set to 1) |\n| text | object | text | Yes | Hello, I am your Cicada digital human | Rich text, text length limit less than 4,000 characters |\n| aigc\\_watermark | bool | | No | false | Whether to add visible watermark to audio, default is false |\n\nResponse field description:\n\n| Field | Description |\n|---|---|\n| code | Response status code |\n| msg | Response message |\n| task\\_id | Speech synthesis task ID |\n\nExample Response\n\n```json\n{\n  \"trace_id\": \"dd09f123a25b43cf2119a2449daea6de\",\n  \"code\": 0,\n  \"msg\": \"success\",\n  \"data\": {\n    \"task_id\": \"88f635dd9b8e4a898abb9d4679e0edc8\"\n  }\n}\n```\n\nResponse status code description:\n\n| code | Description |\n|---|---|\n| 0 | Success |\n| 400 | Incoming parameter format error |\n| 10400 | AccessToken verification failed |\n| 40000 | Parameter error |\n| 40001 | Exceeds QPS limit |\n| 40002 | Production duration reached limit |\n| 50000 | System internal error |\n\n#### Query Speech Generation Task Status API\n\nPost a request to the following endpoint:\n\n```http\nPOST /open/v1/audio_task_state\naccess_token: {{access_token}}\nContent-Type: application/json\n```\n\nRequest body example:\n\n```json\n{\n  \"task_id\": \"88f635dd9b8e4a898abb9d4679e0edc8\"\n}\n```\n\nRequest field description:\n\n| Parameter Name | Type | Required | Example | Description |\n|---|---|---|---|---|\n| task\\_id | string | Yes | 88f789dd9b8e4a121abb9d4679e0edc8 | Task ID obtained in previous step |\n\nResponse body example:\n\n```json\n{\n  \"trace_id\": \"ab18b14574bbcc31df864099d474080e\",\n  \"code\": 0,\n  \"msg\": \"success\",\n  \"data\": {\n    \"id\": \"9546a0fb1f0a4ae3b5c7489b77e4a94d\",\n    \"type\": \"tts\",\n    \"status\": 9,\n    \"text\": [\n      \"猫在跌落时能够在空中调整身体，通常能够四脚着地，这种”猫右自己“反射显示了它们惊人的身体协调能力和灵活性。核磁共振成像技术通过利用人体细胞中氢原子的磁性来生成详细的内部图像，为医学诊断提供了重要工具。\"\n    ],\n    \"full\": {\n      \"url\": \"https://cy-cds-test-innovation.cds8.cn/chanjing/res/upload/tts/2025-04-08/093a59021d85a72d28a491f21820ece4.wav\",\n      \"path\": \"093a59013d85a72d28a491f21820ece4.wav\",\n      \"duration\": 18.81\n    },\n    \"slice\": null,\n    \"errMsg\": \"\",\n    \"errReason\": \"\",\n    \"subtitles\": [\n      {\n        \"key\": \"20c53ff8cce9831a8d9c347263a400a54d72be15\",\n        \"start_time\": 0,\n        \"end_time\": 2.77,\n        \"subtitle\": \"猫在跌落时能够在空中调整身体\"\n      },\n      {\n        \"key\": \"e19f481b6cd2219225fa4ff67836448e054b2271\",\n        \"start_time\": 2.77,\n        \"end_time\": 4.49,\n        \"subtitle\": \"通常能够四脚着地\"\n      },\n      {\n        \"key\": \"140beae4046bd7a99fbe4706295c19aedfeeb843\",\n        \"start_time\": 4.49,\n        \"end_time\": 5.73,\n        \"subtitle\": \"这种，猫右自己\"\n      },\n      {\n        \"key\": \"e851881271876ab5a90f4be754fde2dc6b5498fd\",\n        \"start_time\": 5.73,\n        \"end_time\": 7.97,\n        \"subtitle\": \"反射显示了它们惊人的身体\"\n      },\n      {\n        \"key\": \"fbb0b4138bad189b9fc02669fe1f95116e9991b4\",\n        \"start_time\": 7.97,\n        \"end_time\": 9.45,\n        \"subtitle\": \"协调能力和灵活性\"\n      },\n      {\n        \"key\": \"f73404d135feaf84dd8fbea13af32eac847ac26d\",\n        \"start_time\": 9.45,\n        \"end_time\": 12.49,\n        \"subtitle\": \"核磁共振成像技术通过利用人体\"\n      },\n      {\n        \"key\": \"e18827931223962e477b14b2b8046947039ac222\",\n        \"start_time\": 12.49,\n        \"end_time\": 14.77,\n        \"subtitle\": \"细胞中氢原子的磁性来生成\"\n      },\n      {\n        \"key\": \"d137bf2b0c8b7a39e3f6753b7cf5d92bd877d2d9\",\n        \"start_time\": 14.77,\n        \"end_time\": 15.97,\n        \"subtitle\": \"详细的内部图像\"\n      },\n      {\n        \"key\": \"0773911ae0dbaa763a64352abdb6bdac3ff8f149\",\n        \"start_time\": 15.97,\n        \"end_time\": 18.41,\n        \"subtitle\": \"为医学诊断提供了重要工具\"\n      }\n    ]\n  }\n}\n```\n\nResponse field description:\n\n| First-level Field | Second-level Field | Third-level Field | Description |\n|---|---|---|---|\n| code | | | Response status code |\n| msg | | | Response message |\n| data | id | | Audio ID |\n| | type | | Speech type |\n| | status | | Status: 1 - in progress, 9 - done |\n| | text | | Speech text |\n| | full | url | url to download generated audio file |\n| | | path | |\n| | | duration | Audio duration |\n| | slice | | |\n| | errMsg | | Error message |\n| | errReason | | Error reason |\n| | subtitles(array type) | key | Subtitle ID |\n| | | start\\_time | Subtitle start time point |\n| | | end\\_time | Subtitle end time point |\n| | | subtitle | Subtitle text |\n\nResponse field description:\n\n| Code | Description |\n|---|---|\n| 0 | Response successful |\n| 10400 | AccessToken verification failed |\n| 40000 | Parameter error |\n| 50000 | System internal error |\n\n## Scripts\n\n本 Skill 提供脚本（`skills/chanjing-tts-voice-clone/scripts/`），与 **chanjing-credentials-guard** 使用同一配置文件；无 AK/SK 时会**执行 `open_login_page.py` 脚本**打开注册/登录页。\n\n| 脚本 | 说明 |\n|------|------|\n| `create_voice.py` | 提交定制声音任务（参考音频 URL），输出 voice_id |\n| `poll_voice.py` | 轮询定制声音直到就绪（status=2），输出 voice_id |\n| `create_task.py` | 使用定制声音创建 TTS 任务，输出 task_id |\n| `poll_task.py` | 轮询 TTS 任务直到完成，输出音频下载 URL |\n\n示例（在项目根或 skill 目录下执行）：\n\n```bash\n# 1. 创建定制声音（参考音频需为公开 URL）\nVOICE_ID=$(python skills/chanjing-tts-voice-clone/scripts/create_voice.py --name \"我的声音\" --url \"https://example.com/ref.mp3\")\n\n# 2. 轮询直到声音就绪\npython skills/chanjing-tts-voice-clone/scripts/poll_voice.py --voice-id \"$VOICE_ID\"\n\n# 3. 创建 TTS 任务\nTASK_ID=$(python skills/chanjing-tts-voice-clone/scripts/create_task.py --audio-man \"$VOICE_ID\" --text \"Hello, I am your AI assistant.\")\n\n# 4. 轮询到完成，得到音频下载链接\npython skills/chanjing-tts-voice-clone/scripts/poll_task.py --task-id \"$TASK_ID\"\n```","tags":["chanjing","tts","voice","clone","chan","skills","chanjing-ai","agent-skills","claude-code-skills","openclaw-skills"],"capabilities":["skill","source-chanjing-ai","skill-chanjing-tts-voice-clone","topic-agent-skills","topic-claude-code-skills","topic-openclaw-skills","topic-skills"],"categories":["chan-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/chanjing-ai/chan-skills/chanjing-tts-voice-clone","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add chanjing-ai/chan-skills","source_repo":"https://github.com/chanjing-ai/chan-skills","install_from":"skills.sh"}},"qualityScore":"0.457","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 14 github stars · SKILL.md body (11,959 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-22T13:03:31.246Z","embedding":null,"createdAt":"2026-04-19T00:41:01.242Z","updatedAt":"2026-04-22T13:03:31.246Z","lastSeenAt":"2026-04-22T13:03:31.246Z","tsv":"'-100':705 '-8':219 '/.chanjing/credentials.json':326 '/abc.mp3':466 '/chanjing/res/upload/tts/2025-04-08/093a59021d85a72d28a491f21820ece4.wav':1026 '/open/v1/access_token':338 '/open/v1/audio_task_state':960 '/open/v1/create_audio_task':767 '/open/v1/create_customised_audio':448 '/open/v1/customised_audio':641 '/ref.mp3':1292 '0':367,421,540,573,656,670,704,715,734,905,918,1004,1040,1212 '0.5':830 '000':863 '0773911ae0dbaa763a64352abdb6bdac3ff8f149':1118 '093a59013d85a72d28a491f21820ece4.wav':1028 '1':228,717,787,789,826,838,843,1159,1279 '100mb':510 '10400':579,736,925,1215 '12.49':1094,1101 '1208cuzcv1vlzj8mxqbo0kd1wcl4yxwohl6pyizvagop3dpwmcca73zmgr5ncrnu':373 '14.77':1104,1111 '140beae4046bd7a99fbe4706295c19aedfeeb843':1057 '15.97':1114,1121 '1721289220':376 '18.41':1124 '18.81':1030 '2':239,678,720,833,1257,1293 '2.77':1043,1050 '20c53ff8cce9831a8d9c347263a400a54d72be15':1037 '2f0f50951d0bae0a3be3569097305424':538 '3':256,722,1302 '30s':515 '30s-5min':514 '4':271,724,862,1322 '4.49':1053,1060 '400':423,575,920 '40000':427,582,739,929,1219 '40001':585,742,932 '40002':936 '5':287 '5.73':1063,1071 '50000':430,588,745,941,1222 '53e4e53ba1bc40de91ffaa74f20470fc':547,664,785,816 '5min':516 '6':301 '7.97':1074,1081 '7994cedae0f068d1e9e4f4abdf99215b':654 '88f635dd9b8e4a898abb9d4679e0edc8':911,975 '88f789dd9b8e4a121abb9d4679e0edc8':989 '8ff3fcd57b33566048ef28568c6cee96':365 '9':1013,1162 '9.45':1084,1091 '9546a0fb1f0a4ae3b5c7489b77e4a94d':1009 '99':726 'ab18b14574bbcc31df864099d474080e':1002 'accept':246 'access':26,124,231,322,371,399,449,451,645,647,768,770,961,963 'accesstoken':580,737,926,1216 'add':872 'adjust':134 'ai':796,1320 'aigc':865 'ak/sk':158,1238 'alway':840 'api':88,191,203,207,244,261,278,295,313,324,436,594,753,950 'app':328,345,350 'application/json':342,456,775,968 'array':1187 'assist':797,1321 'asynchron':200 'audio':116,251,319,489,512,546,663,671,712,780,784,809,815,876,1152,1173,1177,1311 'audio-man':1310 'audio/m4a':504 'audio/mpeg':503 'audio/x-wav':502 'bash':1278 'bilingu':130 'bodi':458,777,970,997 'bool':867 'c':545,662,783,814 'c-audio-53e4e53ba1bc40de91ffaa74f20470fc':544,661,782,813 'call':240,272 'chanj':2,6,60,154,194,1233 'chanjing-credentials-guard':153,1232 'chanjing-tts-voice-clon':1,59,193 'charact':864 'chines':131 'cicada':852 'cicada1.0':668 'cicada3.0-turbo':522 'clawhub':54,57 'clientpermiss':187 'clone':5,9,63,197 'cn':527,532 'code':366,389,392,417,419,539,553,555,569,571,655,691,693,730,732,885,888,904,914,916,1003,1143,1146,1210 'communic':212 'complet':307 'content':340,454,773,966 'content-typ':339,453,772,965 'correspond':310 'creat':242,274,434,443,749 'create_task.py':1261 'create_voice.py':1247 'credenti':155,172,175,185,1234 'credentials.json':353,358 'cy-cds-test-innovation.cds8.cn':1025 'cy-cds-test-innovation.cds8.cn/chanjing/res/upload/tts/2025-04-08/093a59021d85a72d28a491f21820ece4.wav':1024 'd137bf2b0c8b7a39e3f6753b7cf5d92bd877d2d9':1108 'data':370,396,398,543,558,659,697,908,1007,1150 'day':404 'dd09f123a25b43cf2119a2449daea6de':903 'decod':223 'default':530,877 'delet':727 'descript':379,388,418,420,469,473,550,552,570,572,681,690,731,733,800,808,882,884,915,917,978,984,1129,1142,1209,1211 'digit':853 'done':721,1163 'download':181,316,1171 'durat':938,1029,1176,1178 'e18827931223962e477b14b2b8046947039ac222':1098 'e19f481b6cd2219225fa4ff67836448e054b2271':1047 'e851881271876ab5a90f4be754fde2dc6b5498fd':1068 'either':526 'en':529 'encod':221 'end':1041,1051,1061,1072,1082,1092,1102,1112,1122,1198,1201 'endpoint':441,602,758,957 'english':133 'environ':43 'err':673,708 'errmsg':1033,1180 'error':426,429,433,578,581,584,591,710,738,741,748,924,931,944,1181,1184,1221,1225 'errreason':1034,1183 'exampl':361,459,462,534,650,778,807,898,971,983,998 'example.com':465,1291 'example.com/abc.mp3':464 'example.com/ref.mp3':1290 'exceed':509,587,744,933 'expir':28,74,374,410,413,723 'f73404d135feaf84dd8fbea13af32eac847ac26d':1088 'fail':725,928,1218 'fals':869,879 'fast':834 'fbb0b4138bad189b9fc02669fe1f95116e9991b4':1078 'ffmpeg/ffprobe':22,38 'field':378,383,387,468,470,549,551,680,685,689,799,881,883,977,1128,1133,1137,1141,1208 'file':252,320,490,1174 'first':381,683,1131 'first-level':380,682,1130 'follow':440,565,601,757,956 'format':425,491,577,923 'full':1022,1167 'generat':103,276,292,318,751,763,947,1172 'get':321,597,640 'guard':156,163,1235 'hello':792,848,1316 'hostnam':204 'http':336,446,639,765,958 'human':854 'id':270,282,286,329,346,351,364,537,560,614,642,644,653,660,698,700,818,893,897,902,910,974,986,991,1001,1008,1151,1153,1191,1253,1260,1267,1284,1299,1301,1307,1314,1329,1331 'incom':921 'indic':634 'intern':432,589,746,943,1224 'invalid':409 'json':214,349,362,460,535,651,779,900,972,999 'keep':267,629 'key':332,348,356,805,1036,1046,1056,1067,1077,1087,1097,1107,1117,1189 'languag':523 'length':513,858 'less':860 'level':140,382,386,684,688,1132,1136,1140 'limit':859,935,940 'm4a':499 'man':781,810,1312 'manifest.yaml':25,42,52,81,170,183 'may':624 'messag':395,557,696,711,891,1149,1182 'mime':501 'minut':628 'model':517 'mp3':496 'msg':368,393,541,556,657,674,694,709,889,906,1005,1147 'must':492,507 'name':461,474,478,665,707,802,980,1287 'need':101,117 'nest':804 'null':1032 'number':824,836 'object':845 'obtain':229,616,819,992 'one':403,494 'open-api.chanjing.cc':209 'open_login_page.py':166,1241 'paramet':424,428,576,583,740,801,922,930,979,1220 'path':672,713,1027,1175 'permiss':189 'permissions.usercontent':48 'pitch':788,835,839 'point':1197,1203 'poll':257,288,592,622,630 'poll_task.py':1268 'poll_voice.py':1254 'post':337,437,447,754,766,951,959 'previous':405,619,821,994 'process':623 'product':937 'progress':669,701,702,719,1161 'provid':111,120,198 'public':123 'purpos':174 'py':36 'python':65,1285,1295,1308,1325 'python3':33 'qps':586,743,934 'queri':259,290,604,945 'queu':716 'rang':703,829 'rate':137,828 'reach':939 'readi':609,638 'reason':1185 'recommend':511 'record':283 'refer':112,115,179,254,488 'request':211,238,457,467,598,776,798,953,969,976 'requir':235,472,806,982 'respons':314,360,377,390,394,397,415,533,548,567,649,679,695,728,880,886,890,899,912,996,1127,1144,1148,1207,1213 'result':264,298 'rich':855 'run':58 'script':35,1226 'second':385,687,1135 'second-level':384,686,1134 'secret':331,347,355 'secur':171 'send':595 'sentenc':139 'sentence-level':138 'servic':128 'set':841 'size':506 'skill':94,97,146,150,1228,1276 'skill-chanjing-tts-voice-clone' 'skills/chanjing-tts-voice-clone/scripts':1230 'skills/chanjing-tts-voice-clone/scripts/create_task.py':1309 'skills/chanjing-tts-voice-clone/scripts/create_voice.py':66,1286 'skills/chanjing-tts-voice-clone/scripts/poll_task.py':1326 'skills/chanjing-tts-voice-clone/scripts/poll_voice.py':1296 'slice':1031,1179 'slow':831 'slug':55 'source-chanjing-ai' 'speech':104,136,201,275,291,750,762,827,894,946,1155,1165 'speed':786,823 'start':1038,1048,1058,1069,1079,1089,1099,1109,1119,1192,1195 'status':294,305,391,416,554,568,633,677,692,714,729,887,913,949,1012,1145,1157,1158,1256 'step':566,620,822,995 'string':475,483,519,524,811,987 'submit':760 'subsequ':237 'subtitl':1035,1044,1054,1064,1075,1085,1095,1105,1115,1125,1186,1190,1194,1200,1204,1205 'success':266,300,369,422,542,574,658,735,907,919,1006,1214 'suppli':178 'support':129,500 'synthesi':202,895 'system':431,590,747,942,1223 'take':625 'task':227,277,285,293,304,752,764,892,896,909,948,973,985,990,1266,1306,1328,1330 'task-id':1327 'text':106,224,790,791,844,846,856,857,1014,1164,1166,1206,1315 'third':1139 'third-level':1138 'throughout':225 'time':414,1039,1042,1049,1052,1059,1062,1070,1073,1080,1083,1090,1093,1100,1103,1110,1113,1120,1123,1193,1196,1199,1202 'timestamp':141 'token':27,160,232,323,334,372,400,406,412,450,452,646,648,769,771,962,964 'topic-agent-skills' 'topic-claude-code-skills' 'topic-openclaw-skills' 'topic-skills' 'trace':363,536,652,901,1000 'tts':3,7,61,127,195,1011,1263,1270,1304 'type':341,455,471,518,667,706,774,803,967,981,1010,1154,1156,1188 'url':13,17,50,78,125,180,248,311,463,482,485,1023,1168,1169,1250,1273,1282,1289 'use':70,86,92,95,144,213,217,279,308,521,563,612 'user':100,110,177 'user-provid':109 'user-suppli':176 'utf':218 'valid':401 'verif':927,1217 'video/mp4':505 'visibl':873 'voic':4,8,62,113,196,243,255,260,269,281,435,445,481,559,593,607,613,636,643,699,817,1252,1259,1283,1298,1300,1313 'voice-id':1297 'watermark':866,874 'wav':497 'whether':605,870 'yes':476,484,520,812,825,837,847,988 '下载结果':18 '不':20 '不支持的音频格式':675 '与':159,186,1231 '与同仓库':34 '中':184 '为准':82 '为医学诊断提供了重要工具':1021,1126 '主凭据':73 '从':325,352,357 '令牌写回与权限见':24 '以':80 '以注册表为准':56 '任务':1264,1305 '任务直到完成':1271 '使用同一套凭证':164 '使用同一配置文件':1236 '使用命令':53 '使用定制声音创建':1262 '使用本地配置的':344 '依赖':21 '写回与覆盖行为':76 '凭据':23,47 '凭据与审稿对表见':169 '则调用':335 '创建':1303 '创建定制声音':1280 '创建音色并合成语音':15 '刷新时会覆盖同文件字段':30 '前':151 '前置条件':147 '功能说明':10 '勿与本节以下':190 '勿将凭证提交版本库':31 '协调能力和灵活性':1086 '单一事实来源':72 '参考音频':1249 '参考音频公网':12 '参考音频需为公开':1281 '及合规':188 '及本文':45 '反射显示了它们惊人的身体':1076 '反射显示了它们惊人的身体协调能力和灵活性':1019 '变量':46 '含参考音公网':49 '和':330 '在项目根或':1275 '基于用户提供的':11 '声音克隆':666 '完成':157 '引用':173 '得到音频下载链接':1324 '必须先通过':152 '我的声音':1288 '打开注册':167,1243 '执行':1240 '执行本':149 '提交定制声音任务':1248 '提供脚本':1229 '文档重复维护表格':192 '无':37,1237 '无凭证时会执行':165 '时会':1239 '本':1227 '本仓库':64 '本篇':83 '权限验证':148 '校验':161 '核磁共振成像技术通过利用人体':1096 '核磁共振成像技术通过利用人体细胞中氢原子的磁性来生成详细的内部图像':1020 '步骤与英文接口说明':89 '段':44 '猫右自己':1018,1066 '猫在跌落时能够在空中调整身体':1015,1045 '环境变量与机器可读声明':40 '环境变量键名与说明':41 '用户参考音':77 '由蝉镜拉取':51 '由蝉镜服务端拉取':14 '登录页':168,1244 '登记与审稿':71 '目录下执行':1277 '示例':1274 '细胞中氢原子的磁性来生成':1106 '脚本':19,1242,1245 '脚本与':162 '若无有效':333 '见':182 '见正文':67 '详细的内部图像':1116 '说明':1246 '请求体':343 '请阅读接口文档':676 '读取':327,354,359 '起为':87 '轮询':1269 '轮询任务并从接口返回':16 '轮询到完成':1323 '轮询定制声音直到就绪':1255 '轮询直到声音就绪':1294 '输出':1251,1258,1265 '输出音频下载':1272 '边界等':79 '运行依赖':32 '这种':1017,1065 '通常能够四脚着地':1016,1055 '门控':39","prices":[{"id":"f783d47a-9ee1-43f0-8dba-27c8d9e92e6f","listingId":"4b0e3aa6-5287-4d93-9a7f-61cb5903287e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"chanjing-ai","category":"chan-skills","install_from":"skills.sh"},"createdAt":"2026-04-19T00:41:01.242Z"}],"sources":[{"listingId":"4b0e3aa6-5287-4d93-9a7f-61cb5903287e","source":"github","sourceId":"chanjing-ai/chan-skills/chanjing-tts-voice-clone","sourceUrl":"https://github.com/chanjing-ai/chan-skills/tree/main/skills/chanjing-tts-voice-clone","isPrimary":false,"firstSeenAt":"2026-04-19T00:41:01.242Z","lastSeenAt":"2026-04-22T13:03:31.246Z"}],"details":{"listingId":"4b0e3aa6-5287-4d93-9a7f-61cb5903287e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"chanjing-ai","slug":"chanjing-tts-voice-clone","github":{"repo":"chanjing-ai/chan-skills","stars":14,"topics":["agent-skills","claude-code-skills","openclaw-skills","skills"],"license":null,"html_url":"https://github.com/chanjing-ai/chan-skills","pushed_at":"2026-03-28T05:19:27Z","description":"蝉系openclaw 技能库，聚焦电商内容创作，提供实用的 AI 工具及技能包","skill_md_sha":"9f593daad3d3a6e6a575b61ecf790092b7f6414d","skill_md_path":"skills/chanjing-tts-voice-clone/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/chanjing-ai/chan-skills/tree/main/skills/chanjing-tts-voice-clone"},"layout":"multi","source":"github","category":"chan-skills","frontmatter":{"name":"chanjing-tts-voice-clone","description":">-"},"skills_sh_url":"https://skills.sh/chanjing-ai/chan-skills/chanjing-tts-voice-clone"},"updatedAt":"2026-04-22T13:03:31.246Z"}}