6. 配置 key(图片 / 视频 / 音频)

三个方向各用一套凭证,互不通用,别混。

6.1 图片(生图,走 DSH 插件)

在哪填:DSH → 设置 → 插件 → dsh-image-gen → Provider 选 OpenAI / Compatible,填:

字段值
Base URLhttps://api.openlux.ai/v1(必须带 /v1,少了会报 invalid JSON)
模型gpt-image-2.5-sunburst-c(快慢可选:gpt-image-2-c ≈35 秒、gpt-image-2.5-flare-c ≈23 秒)
API Key你自己的 key,粘贴后点「测试连接 / 拉取模型」

key 会存进 E:\llmood\dsh\.credentials.yaml,ref 名是 DSH_IMAGE_GEN_OPENAI_COMPAT_KEY_CHANNEL_MVUOJBII_JT4S2(不要把这个文件发给别人)。

如果保存后仍报 requires a base URL,说明只写了渠道、没写扁平字段——照https://llmood.cn/tutorials/tutorial-mvx6mi0k 第 4 节的 cordis.patch.yml 把 openaiCompatBaseURL / openaiCompatModel / openaiCompatActiveChannel 补上。

验证:插件设置页点「测试连接 / 拉取模型」最省事。想跳过界面直接测,可以读凭据文件里的 key 打一次接口:

$key = (Select-String -Path "E:\llmood\dsh\.credentials.yaml" -Pattern 'MVUOJBII_JT4S2:\s*(\S+)').Matches[0].Groups[1].Value$body = '{"model":"gpt-image-2.5-flare-c","prompt":"a white rice ball on a table","size":"1024x1024"}'[IO.File]::WriteAllText("$env:TEMP\img-test.json", $body, (New-Object System.Text.UTF8Encoding($false)))curl.exe -s -X POST "https://api.openlux.ai/v1/images/generations" -H "Authorization: Bearer $key" -H "Content-Type: application/json" --data-binary "@$env:TEMP\img-test.json" | Select-Object -First 1

返回里带 b64_json 或 url 就是通的;返回 401 是 key 错,404 是 Base URL 少了 /v1。

6.2 视频(出片,走 GPU 云工作流)

两个令牌,分别放:

文件是什么从哪拿用途
_setup\video\studio.keystudio 工作流 API 的 Bearer 令牌studio.aigate.cc/dashboard/token 新建出视频主通道(studio-workflow.mjs / batch-shots.mjs)
_setup\video\aigate.keywaas 算力 / ComfyUI 应用 API 令牌waas.aigate.cc/user/setting → 开发选项 → 令牌管理查实例、ComfyUI 应用、监控任务

填法:第一行只放令牌本身,不要 Bearer 、不要引号、不要中文。脚本会校验,空文件或含空格会直接报错。

验证:

# 1) 令牌是否被接受(返回「数据不存在」= 通过;返回「用户凭证已过期」= 令牌不对)node E:\llmood\dsh\_setup\video\studio-workflow.mjs --task 0
# 2) 列出 ComfyUI 应用和可传参数node E:\llmood\dsh\_setup\video\comfy-video.mjs --list-apps

正式出片用一个最小的镜头试:

node E:\llmood\dsh\_setup\video\batch-shots.mjs E:\llmood\dsh\_setup\video\_plan-shot01.json

计划文件里 image / audio 可以直接写本地路径(如 素材\参考图\角色-大肥鱼-高清.png、素材\音频\大肥鱼-音色.mp3),脚本会自动上传—— studio 的上传文件约 3 天过期,用本地路径就永远不用管。

6.3 音频(配音,豆包音频生成)

文件内容从哪拿
_setup\video\speech.apikey豆包语音 API Key(X-Api-Key)豆包语音控制台 → API Key 管理
_setup\video\speech.appid豆包语音 AppID(X-Api-App-Id,纯数字)同上,应用管理 → 应用详情

注意:控制台里「接入能力」必须是 豆包音频生成模型 1.0。 如果是「语音合成」能力,走 tts.mjs 的 TTS 通道,接口不同(/api/v3/tts/unidirectional)。

验证(4 秒音频,几毛钱):

node E:\llmood\dsh\_setup\video\seed-audio.mjs --prompt "深夜房间,女孩轻声说:测试一下。" --out "$env:TEMP\tts-test.mp3"

6.4 备用(火山方舟)

_setup\video\ark.key 放方舟的 API Key(Bearer),ark.model 放接入点 ID(ep-xxxx)。 注意:豆包语音的两个 key 不能拿去调方舟,会报 The API key doesn't exist。

6.5 一张表看全部

方向文件服务优先级
图片.credentials.yaml(插件页填)openlux OpenAI 兼容必需
视频studio.keystudio 工作流(GPU 云)必需
视频(备)aigate.keywaas / ComfyUI可选
音频speech.apikey + speech.appid豆包音频生成必需(配音)
备用ark.key + ark.model火山方舟可选