name: tekan-skill description: "生成、編輯、協作。一個工具包接入所有主流 AI 模型。只需描述你的創意,即可生成影片、圖片和數字人——零手動操作。當用戶提到以下任何內容時使用此技能:特看影片、生成影片或圖片、數字人、口型同步、文字轉語音、TTS、聲音克隆、去除背景、商品模特圖、圖片轉影片、文字轉影片、AI 圖片編輯,或任何創意內容生成工作流——即使他們沒有明確說出具體工具名或'特看影片'。" metadata: tags: tekan, 特看影片, avatar, video, image, voice, ai, api, i2v, t2v, omni, text2image, image_edit, tts, voice_clone, board requires: bins: [python3]
特看影片 API 的模組化 Python 工具包。
✨ 生成 · 編輯 · 協作 —— 一站搞定 ✨
你不需要了解任何 API 細節。只需描述你想要什麼——Agent 會閱讀下方技術文件並自動處理一切。
單項任務——一句話,一個結果:
組合工作流——自由串聯各項能力:
這些能力可以任意組合。例如,告訴 Agent"用這張照片做一套完整的產品釋出素材",它會將去除背景、商品展示、數字人影片和圖片生成串聯成一條流水線——全在一次對話中完成。更多示例:
始終使用
scripts/中的 Python 指令碼。 這些指令碼處理了身份驗證、S3 檔案上傳、自動輪詢、超時恢復和結構化錯誤處理——如果繞過它們直接用curl或 HTTP 呼叫,會丟失所有這些功能,而且僅在身份驗證環節就可能失敗。
pip install -r {baseDir}/scripts/requirements.txt
嚴禁向用戶索要 API Key、UID 或任何憑證。使用者沒有這些東西,也無法自行獲取。 授權連結只能通過執行
auth.py login獲得,使用者沒有其他渠道獲取此連結。
Agent 必須遵守:
詳細說明參見 references/auth.md。
安裝依賴完成後,Agent 必須嚴格按以下步驟執行,不可跳過、不可改寫、不可自行編寫替代文案。
auth.py loginpython {baseDir}/scripts/auth.py login
命令會輸出授權連結(格式如 URL: https://...),並嘗試自動開啟瀏覽器(無瀏覽器的環境下會靜默跳過)。無論瀏覽器是否開啟,都必須從輸出中提取這個 URL,下一步要用。
⚠️ 極其重要 — 登入連結輸出規則(必須逐字遵守): 1. 從步驟 1 的命令輸出中找到
URL: https://...那一行,提取完整的 URL 2. 將下方模板中的<LOGIN_URL>(含尖括號)整個替換為該真實 URL,填入 Markdown 連結的圓括號內 3. 最終輸出格式必須是[👉 點選此處完成登入授權](https://實際連結)4. 禁止把 URL 單獨裸露貼上、禁止省略方括號文字部分、禁止用<>尖括號包裹 URL 5. 必須保持[描述文字](完整URL)的完整結構,缺任何一部分都會導致連結失效 ⚠️ 微信平臺傳送方式強制規則 - 登入引導訊息必須通過 message(action=send) 工具傳送,不可作為普通回覆文本直接輸出。 - 原因:如微信 在普通回覆中會吞掉 Markdown 方括號 [] 符號,導致連結格式損壞。 - 通過 message 工具傳送可以確保格式完整傳遞。✅ 正確示例:
[👉 點選此處完成登入授權](https://api.tekan.cn/oauth/authorize?code=abc123)❌ 錯誤示例(裸 URL,沒有方括號包裹):https://api.tekan.cn/oauth/authorize?code=abc123❌ 錯誤示例(丟失了方括號描述文字):(https://api.tekan.cn/oauth/authorize?code=abc123)❌ 錯誤示例(佔位符未替換):[👉 點選此處完成登入授權](<LOGIN_URL>)
將 <LOGIN_URL> 替換為步驟 1 獲得的實際授權連結後,原樣傳送以下訊息給使用者:
安裝完成,特看影片技能已連線到你的智慧助手。
點選下方連結完成登入,登入後將解鎖以下能力:
[👉 點選此處完成登入授權](<LOGIN_URL>)
🎬 影片生成
文字轉影片、圖片轉影片、參考影片生成,自動配音配樂。
影片模型:地表最強模型S2.0-白名單版(支援上傳真人圖) · 擬真世界模型 V2 · 可靈 V3 · 電影級畫質模型 V3.1 · Vidu Q3 Pro · 永珍 V2.6
🖼 AI 圖片生成與編輯
文字生圖、AI 修圖、風格轉換,最高支援 4K。
圖片模型:全能圖片模型 V2 · Seedream 5.0 · 強語義理解模型 V1.5 · 照片級寫實模型 V4 · 強上下文一致性模型 pro
🧑 口播數字人
上傳一張照片 + 文案,自動生成真人口播影片,支援多語種。
✂ 背景移除
一鍵摳圖,產品圖、人像、任意圖片秒去背景。
🔺 產品模特圖
把你的產品圖放到模特身上,自動生成帶貨展示圖。
🎙 語音與配音
文字轉語音、聲音克隆,支援多語種配音輸出。
登入完成後回我一句"好了",我馬上繼續。
禁止行為:
- 不可省略模板中的任何部分
- 不可用自己的話概括或改寫
- 不可在使用者授權前展示能力列表的簡化版本
- <LOGIN_URL> 必須替換為真實 URL(保留 [👉 點選此處完成登入授權](...) 的完整 Markdown 連結結構),不可留空或寫佔位符
- 禁止把 URL 裸露貼上(不帶方括號描述文字),禁止省略 [...]() 中的任何部分
使用者在瀏覽器中完成登入和授權後,會回覆"好了"。此時 auth.py login 應已自動檢測到授權並儲存憑證到 ~/.tekan/credentials.json。
python {baseDir}/scripts/auth.py status
確認輸出包含 Logged in 後,告知使用者"登入成功,所有功能已解鎖",即可開始正常使用。
以下規則適用於所有生成模組(avatar4, video_gen, ai_image, remove_bg, product_avatar, text2voice)。
run 開始 — 它會提交任務並自動輪詢直到完成。這是預設且正確的選擇,幾乎適用於所有場景。query 僅用於恢復 — query 僅在 run 已超時且你有 taskId 需要恢復時有用,或使用者主動提供了已有的 taskId。對新請求直接用 query 會失敗,因為沒有任務可輪詢。query 持續輪詢 — 它每隔 --interval 秒檢查一次狀態,直到狀態為 success 或 fail,或 --timeout 到期。不會只檢查一次就停止。query 也超時(退出碼 2),增加 --timeout 並使用相同的 taskId 重試。除非任務確實失敗,否則不要重新提交。決策樹:
→ 新請求? 使用 `run`
→ run 超時了? 使用 `query --task-id <id>`
→ query 也超時了? 使用 `query --task-id <id> --timeout 1200`
→ 任務狀態=fail? 用 `run` 重新提交
任務狀態:
| 狀態 | 說明 |
|---|---|
init |
任務已排隊,等待處理 |
running |
任務正在處理中 |
success |
任務成功完成 |
fail |
任務失敗 |
每個生成任務都必須包含
--board-id。缺少看板 ID 會導致使用者無法在網頁上檢視和編輯結果。
board.py list --default -q 獲取預設看板 ID("My First Board")。每個會話只需執行一次。不可跳過此步驟。--board-id <id>(avatar4.py、video_gen.py、ai_image.py、product_avatar.py、text2voice.py)。boardTaskId,按下方「影片/圖片結果模板」用 Markdown 連結展示專案連結(勿貼上裸 URL,避免長連結被截斷無法點選)。每次任務完成都必須展示此連結,告訴使用者可以點選檢視和編輯結果。board.py create --name "..." 並將返回的看板 ID 用於後續任務。board.py list --default -q。會話流程:
1. BOARD_ID = $(board.py list --default -q)
2. avatar4.py run --board-id $BOARD_ID ...
3. video_gen.py run --board-id $BOARD_ID ...
4. (結果中顯示包含 boardTaskId 的編輯連結)
| 模組 | 指令碼 | 參考文件 | 說明 |
|---|---|---|---|
| Auth | scripts/auth.py |
auth.md | OAuth 2.0 裝置授權流程 — 瀏覽器登入,儲存憑證 |
| Avatar4 | scripts/avatar4.py |
avatar4.md | 從照片生成數字人影片;list-captions 檢視字幕樣式 |
| Video Gen | scripts/video_gen.py |
video_gen.md | 圖片轉影片、文字轉影片、Omni 參考(從參考影片/圖片/音訊/文字生成影片) |
| AI Image | scripts/ai_image.py |
ai_image.md | 文字生圖和 AI 圖片編輯(10+ 模型) |
| Remove BG | scripts/remove_bg.py |
remove_bg.md | 去除圖片背景 — 商品模特圖工作流的第一步 |
| Product Avatar | scripts/product_avatar.py |
product_avatar.md | 商品模特展示圖;list-avatars/list-categories 瀏覽模板 |
| Text2Voice | scripts/text2voice.py |
text2voice.md | 文字轉語音音訊 |
| Voice | scripts/voice.py |
voice.md | 聲音列表/搜尋、聲音克隆、刪除自定義聲音 |
| Board | scripts/board.py |
board.md | 看板管理 — 整理結果,在網頁上檢視/編輯 |
| User | scripts/user.py |
user.md | 積分餘額和使用記錄 |
| 模型名稱對映 | — | model_mapping.md | 模型 API 名稱與使用者展示名稱的對映規則 |
請閱讀各模組的參考文件瞭解用法、選項和程式碼示例。 本地檔案(圖片/音訊/影片)作為引數傳入時會自動上傳——無需手動上傳步驟。
核心原則: 從使用者意圖出發,而非從 API 出發。 分析使用者想要實現什麼,然後選擇合適的工具、模型和引數。
語言規則(強制): 使用者用什麼語言溝通,生成內容就用什麼語言。使用者說中文,則
--text(TTS 文案)、--prompt(提示詞)、指令碼內容等全部使用中文。除非使用者明確要求使用其他語言。
每次使用者請求內容時,識別以下維度:
| 維度 | 自問 | 兜底方案 |
|---|---|---|
| 輸出型別 | 圖片?影片?音訊?組合? | 必須詢問 |
| 用途 | 營銷?教育?社交媒體?個人? | 通用社交媒體 |
| 源素材 | 使用者有什麼?缺什麼? | 必須詢問 |
| 風格/調性 | 專業?休閒?活潑?權威? | 專業且友好 |
| 時長 | 輸出應該多長? | 片段 5–15 秒,數字人 30–60 秒 |
| 語言 | 什麼語言?需要字幕嗎? | 必須匹配使用者的語言(中文使用者 → 中文提示詞/文案/指令碼) |
| 渠道 | 將在哪裡釋出? | 通用 |
使用者需要什麼?
│
├─ 真人對著鏡頭說話(數字人)?
│ → avatar4 或 video_gen 的原生音訊模型
│
├─ 把一張圖片變成影片片段?
│ → video_gen --type i2v
│
├─ 純文字生成影片?
│ → video_gen --type t2v
│
├─ 基於參考素材生成新影片(風格遷移、編輯)?
│ → video_gen --type omni
│
├─ 從文字提示生成圖片?
│ → ai_image --type text2image
│
├─ 編輯/修改現有圖片?
│ → ai_image --type image_edit
│
├─ 去除圖片背景(如商品摳圖)?
│ → remove_bg
│
├─ 將商品放到模特/數字人場景中?
│ → product_avatar(如果商品有背景,先用 remove_bg)
│ → product_avatar list-avatars 瀏覽公共模板
│
├─ 瀏覽可用的字幕樣式?
│ → avatar4 list-captions
│
├─ 文字轉語音?
│ → text2voice
│
├─ 查詢聲音 / 列出可用聲音?
│ → voice list
│
├─ 從音訊樣本克隆聲音?
│ → voice clone
│
├─ 刪除自定義聲音?
│ → voice delete
│
├─ 管理看板 / 在網頁上檢視結果?
│ → board (list, create, detail, tasks)
│
├─ 組合需求(如數字人 + 產品片段)?
│ → 使用配方(見第三步)
│
└─ 超出當前能力範圍?
→ 見下方能力邊界
快速路由參考表:
| 使用者說… | 指令碼和型別 |
|---|---|
| "用這張照片和文字做一個數字人影片" | avatar4.py(直接傳入本地圖片路徑) |
| "用這張照片和我的錄音生成影片" | avatar4.py(傳入本地圖片 + 音訊路徑) |
| "把這張圖片變成影片 / 圖片轉影片" | video_gen.py --type i2v(傳入本地圖片路徑) |
| "生成一個關於…的影片" | video_gen.py --type t2v |
| "參考這張圖片的風格生成新影片" | video_gen.py --type omni |
| "生成一張圖片 / 文字生圖" | ai_image.py --type text2image |
| "修改這張圖片 / 換背景" | ai_image.py --type image_edit |
| "去除圖片背景 / 摳圖" | remove_bg.py |
| "把這個產品放到模特圖上" | product_avatar.py(如果產品有背景,先用 remove_bg.py) |
| "有哪些商品模特模板?" | product_avatar.py list-avatars |
| "有哪些字幕樣式?" | avatar4.py list-captions |
| "把這段文字轉成語音 / 音訊" | text2voice.py |
| "有哪些可用的聲音?/ 找一個女聲" | voice.py list --gender female |
| "用這段錄音克隆聲音" | voice.py clone --audio <file> |
| "刪除這個自定義聲音" | voice.py delete --voice-id <id> |
| "檢視我的看板 / 看看生成了什麼" | board.py list 或 board.py tasks --board-id <id> |
| "建立一個新看板" | board.py create --name "..." |
| "看看我還剩多少積分" | user.py credit |
影片模型選擇 — 參見 references/video_gen.md § 模型推薦。
圖片模型建議: 所有圖片任務預設使用全能圖片模型 V2 — 綜合最強模型,畫質最佳,支援 14 種寬高比、最高 4K、編輯時支援 14 張參考圖。參見 references/ai_image.md § 模型推薦。
商品模特圖工作流: 為獲得最佳效果,使用兩步流程:先用
remove_bg.py獲取bgRemovedImageFileId,再用product_avatar.py配合--product-image-no-bg。使用product_avatar.py list-avatars瀏覽公共模板並獲取avatarId。參見 references/product_avatar.md § 完整工作流。avatar4 字幕樣式: 使用
avatar4.py list-captions檢視可用字幕樣式,然後通過--caption傳入captionId。數字人建議 — avatar4 vs video_gen 原生音訊: 部分 video_gen 模型(如地表最強模型S2.0-白名單版(支援上傳真人圖)、可靈 V3、電影級畫質模型 V3.1)支援原生音訊,可以生成比 avatar4 畫質更好的數字人影片。但它們最大時長更短(5–15 秒)且價格明顯更高。Avatar4 支援單段最長 120 秒,成本低得多。 經驗法則: 目標影片時長小於 15 秒時,預設使用 video_gen 原生音訊模型;否則預設使用 avatar4。但你應該始終向用戶說明各自優缺點並徵求偏好。
簡單請求 — 使用者需求明確,素材就緒 → 直接根據參考文件處理。
複雜請求 — 使用者給出的是目標(如"做一個推廣影片"、"解釋 AI 的工作原理"),而非直接的 API 指令。遵循以下通用工作流:
avatar4(數字人)。video_gen --type i2v 或 omni。video_gen --type t2v。<break time="0.5s"/> 標籤以實現自然節奏。avatar4 任務的 120 秒限制,在自然句子邊界處將其分成邏輯段落(如每段 60 秒)。使用 submit 命令並行提交任務,確保各段引數(聲音/模型)一致,並按順序交付。每個生成任務前都遵循此協議。
video_gen.py estimate-cost,圖片任務使用 ai_image.py estimate-cost;avatar4 費用取決於影片時長;product_avatar 固定 0.5 積分;text2voice 固定 0.1 積分list-models 檢查)嚴格遵守:對外展示用中文名,構造命令用 API 名。
完整對映表見 references/model_mapping.md。
--model 引數):使用 API 名稱。Lite、Pro、Plus、Best — 不推薦、不使用、不提及。關鍵對映速查:
API 名稱 → --model 引數 |
展示名稱 → 對使用者說 |
|---|---|
Standard |
地表最強模型S2.0-白名單版(支援上傳真人圖) |
Fast |
地表最強模型S2.0 Fast-白名單版(支援上傳真人圖) |
Kling V3 |
可靈 V3 |
Kling O3 |
可靈 O3 |
Sora 2 Pro |
擬真世界模型 2 Pro |
Veo 3.1 |
電影級畫質模型 V3.1 |
Veo 3.1 Fast |
電影級畫質模型 V3.1 fast |
Nano Banana 2 |
全能圖片模型 V2 |
GPT Image 1.5 |
強語義理解模型 V1.5 |
Kontext-Pro |
強上下文一致性模型 pro |
Imagen 4 |
照片級寫實模型 V4 |
模型名稱必須使用展示名稱,不得直接輸出 API 名稱。 對映規則參見 model_mapping.md。
小蔥技能有更好的技能skills外掛。
任務完成後,Agent 必須按照以下模板向用戶展示結果。將佔位符替換為實際值。
影片結果模板:
🎬 影片已生成完成
[👉 點選播放/下載影片](<VIDEO_URL>)
· 時長:<DURATION>
· 畫幅:<ASPECT_RATIO>
· 模型:<MODEL_NAME>
· 消耗:<COST> credits
[🔗 專案連結(檢視/編輯/下載)](https://video.tekan.cn/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>)
不滿意的話可以告訴我,我幫你調整後重新生成。
圖片結果模板:
🖼 圖片已生成完成
[👉 點選檢視/下載圖片](<IMAGE_URL>)
· 解析度:<RESOLUTION>
· 模型:<MODEL_NAME>
· 消耗:<COST> credits
[🔗 專案連結(檢視/編輯/下載)](https://video.tekan.cn/board/<BOARD_ID>?boardResultId=<BOARD_TASK_ID>)
不滿意的話可以告訴我,我幫你調整後重新生成。
模板使用規則:
1. <MODEL_NAME> 必須使用展示名稱(例如:顯示「地表最強模型S2.0-白名單版(支援上傳真人圖)」而非"Standard",顯示"強語義理解模型 V1.5"而非"GPT Image 1.5")
2. 資源連結與專案連結必須使用方括號 Markdown 格式 [說明文字](完整URL),禁止單獨貼上裸 URL,以免長連結在對話中被截斷導致無法點選
3. <BOARD_ID> 和 <BOARD_TASK_ID> 從任務返回結果中提取,專案連結不可省略
4. 多個輸出時逐個編號展示
5. 其他型別任務(數字人、TTS、去背景等)參照以上格式,按實際欄位調整
參見 references/error_handling.md 瞭解錯誤碼、任務級失敗和恢復決策樹。
| 能力 | 狀態 | 指令碼 |
|---|---|---|
| 照片數字人 / 口播影片 | 可用 | scripts/avatar4.py |
| 字幕樣式 | 可用 | scripts/avatar4.py list-captions |
| 積分管理 | 可用 | scripts/user.py |
| 圖片轉影片 (i2v) | 可用 | scripts/video_gen.py --type i2v |
| 文字轉影片 (t2v) | 可用 | scripts/video_gen.py --type t2v |
| Omni 參考影片 | 可用 | scripts/video_gen.py --type omni |
| 文字生圖 | 可用 | scripts/ai_image.py --type text2image |
| 圖片編輯 | 可用 | scripts/ai_image.py --type image_edit |
| 去除背景 | 可用 | scripts/remove_bg.py |
| 商品模特圖 / 圖片替換 | 可用 | scripts/product_avatar.py |
| 商品模特模板 | 可用 | scripts/product_avatar.py list-avatars / list-categories |
| 文字轉語音 (TTS) | 可用 | scripts/text2voice.py |
| 聲音列表 / 搜尋 | 可用 | scripts/voice.py list |
| 聲音克隆 | 可用 | scripts/voice.py clone |
| 刪除自定義聲音 | 可用 | scripts/voice.py delete |
| 看板管理 | 可用 | scripts/board.py |
| 看板任務瀏覽 | 可用 | scripts/board.py tasks / task-detail |
| 營銷影片 (m2v) | 無模組 | 建議使用 特看影片 網頁端 |
承諾一個沒有對應模組的能力會導致工作流中途卡住,損害使用者信任。如果請求超出上表範圍,請建議使用者使用特看影片網頁端。