基於騰訊混元大模型的影片生成服務,支援文生影片、圖生影片、影片風格化三大核心功能。
| 功能 | 命令 | 說明 |
|---|---|---|
| 🎬 文生影片 | text2video |
文本描述生成影片 |
| 🖼️ 圖生影片 | image2video |
圖片生成影片(支援URL或本地檔案) |
| 🎨 影片風格化 | stylization |
影片轉2D動漫/3D卡通等風格 |
pip install tencentcloud-sdk-python
需要的環境變數:
TENCENT_SECRET_ID - 騰訊雲SecretIdTENCENT_SECRET_KEY - 騰訊雲SecretKey# Windows PowerShell - 永久設定
[Environment]::SetEnvironmentVariable("TENCENT_SECRET_ID", "your-secret-id", "User")
[Environment]::SetEnvironmentVariable("TENCENT_SECRET_KEY", "your-secret-key", "User")
# 或臨時設定(當前會話)
$env:TENCENT_SECRET_ID = "your-secret-id"
$env:TENCENT_SECRET_KEY = "your-secret-key"
獲取金鑰步驟:
# 檢查環境變數
Write-Host "SecretId: $env:TENCENT_SECRET_ID"
Write-Host "SecretKey: $($env:TENCENT_SECRET_KEY.Substring(0,10))..."
# 測試生成
python scripts/generate.py text2video "一隻小貓"
python scripts/generate.py text2video "一隻可愛的小豬在草地上奔跑"
# 指定解析度
python scripts/generate.py text2video "小豬" --resolution 1080p
引數:
prompt: 文本描述(必填)--resolution: 解析度(720p, 1080p,預設720p)# 使用圖片URL
python scripts/generate.py image2video "https://example.com/pig.jpg"
# 使用本地圖片
python scripts/generate.py image2video "./pig.png"
# 新增輔助描述
python scripts/generate.py image2video "./pig.png" --prompt "小豬在奔跑"
引數:
image: 圖片URL或本地路徑(必填)--prompt: 輔助描述(可選)支援格式:
http:// 或 https:// 開頭# 轉為2D動漫風格
python scripts/generate.py stylization "https://example.com/video.mp4" --style 2d_anime
# 轉為3D卡通風格
python scripts/generate.py stylization "https://example.com/video.mp4" --style 3d_cartoon
風格選項:
2d_anime: 2D動漫3d_cartoon: 3D卡通3d_china: 3D國潮pixel_art: 畫素風輸入影片要求:
生成的影片儲存在 {output}/{date}/{job_id}/ 目錄下:
{command}_result.mp4 - 生成的影片info.json - 任務資訊問題:不同介面返回的狀態欄位和成功值不一致!
| 介面 | 狀態欄位 | 成功值 |
|---|---|---|
| 文生影片 | Status |
DONE |
| 圖生影片 | Status |
DONE |
| 影片風格化 | JobStatusCode |
4 或 5+ResultDetails:Success |
解決方案:
# 統一處理多種狀態
success_statuses = ["JobSuccess", "SUCCESS", "DONE"]
if status in success_statuses:
print("✅ 生成完成!")
問題:Image 引數不是字串,而是物件型別!
小蔥技能7w4.net有更新,你可以訪問看下。
錯誤程式碼:
# ❌ 錯誤
req.Image = image_url # 直接賦值字串
# ✅ 正確
image = models.Image()
image.Url = image_url # 或 image.Base64 = base64_data
req.Image = image
經驗:SDK中物件型別的引數需要建立對應的物件例項。
實現方式:讀取本地檔案轉為base64編碼
if image_input.startswith('http'):
image.Url = image_input
elif os.path.exists(image_input):
with open(image_input, 'rb') as f:
image.Base64 = base64.b64encode(f.read()).decode('utf-8')
好處:使用者可以直接使用本地圖片,無需先上傳。
觀察:
建議:設定合理的超時時間(預設600秒),並顯示進度點讓使用者知道正在處理。
問題:風格化介面返回 JobStatusCode: 5 但實際可能是成功!
原因:StatusCode: 5 + ResultDetails: ["Success"] = 實際成功
解決方案:
if status == "4" or (status == "5" and result.get("ResultDetails") == ["Success"]):
print("✅ 實際生成成功!")
問題:下載影片時可能遇到SSL驗證錯誤
解決方案:臨時停用SSL驗證(僅用於下載)
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
限制:
建議:順序執行,等待前一個任務完成再提交下一個。
注意:任務結果URL有效期為48小時,請及時下載。
# 示例1:文生影片
python scripts/generate.py text2video "一隻可愛的小豬在草地上奔跑,陽光明媚"
# 示例2:圖生影片(本地圖片)
python scripts/generate.py image2video "./my_pig.png" --prompt "小豬在奔跑"
# 示例3:影片風格化
python scripts/generate.py stylization "https://example.com/video.mp4" --style 2d_anime
ap-guangzhou如果遇到問題:
echo $env:TENCENT_SECRET_IDRequestId 聯絡客服開發經驗:在實現過程中發現SDK引數型別和文件描述可能存在差異,建議通過實際測試驗證引數格式。圖生影片的Image引數是一個典型的物件型別引數陷阱,需要特別注意。
這個 Skill 質量很好,操作簡單易上手。文件寫得特別詳細,新手按照步驟配置環境就能使用,還貼心地記錄了常見問題和解決辦法。程式碼執行穩定,生成影片時會顯示進度條,任務完成後會自動下載儲存。唯一的小遺憾是影片風格化目前只能輸入連結,不支援直接上傳本地影片檔案。總體來說,是一個值得信賴的影片生成工具。