异步生成 AI 图片与视频的技能。
本技能需要 API Key 授权 才能调用 AI Artist API:
登录后在复制您的 API Key( sk- 开头)。
在使用前,你必须先设置自己的 API Key:
bash
# Linux/macOS/Git Bash (Windows)
export AI_ARTIST_TOKEN="sk-your_api_key_here"
# Windows PowerShell
$env:AI_ARTIST_TOKEN="sk-your_api_key_here"
或在项目根目录放一个 .env 文件(需 pip install python-dotenv,脚本会自动加载):
ini
AI_ARTIST_TOKEN=sk-your_api_key_here
FEISHU_WEBHOOK_URL= # 可选,用于结果通知
验证配置是否正确:
bash
python3 scripts/test_config.py
详细配置说明请查看下方"环境配置"章节。
bash
python3 scripts/generate_image.py "提示词"
调用前必须做的事:当用户的请求涉及参数复杂的模型,或关键信息缺失时, 先向用户提问确认意图,再执行生成,避免浪费配额生成不符合预期的作品。
先分辨媒介:图片 vs 视频(关键词:"画/生成图片/海报/插画" → 图片;"视频/动画/片段/动起来" → 视频)。
判断输入材料:
若用户意图不明确或关键材料缺失,必须提问,不要擅自假设。
所有视频模型通用:
klingV3Omni(最复杂):5 种生成类型 + 多镜头模式,务必确认:
std 标准 / pro 专家级?keep_original_sound yes/no)W2.6r / W2.7r(参考视频模式):
W2.7i(图生视频,支持续写):
first_clip_url)W2.6t / W2.7t(文生视频):
shot_type="multi"(智能分镜)prompt_extend=True,默认 false)?V3.1Fast(V3.1 系列的复杂款):
enhance_prompt)?personGeneration=allow_adult/dont_allow)?resize_mode=pad/crop)?V3.1FB / V3.1PB:时长固定 8 秒,不必问;但要确认比例 / 分辨率。
S1.5Pro(影视级):
图片复杂款 W2.7 / W2.7Pro / N2 / 3.1Nano2-Evo:
Image2(GPTimage-2,OpenAI gpt-image-2 接入):
low(最快)/ medium(平衡,默认)/ high(质量)——用 --ratiocination--nauto(智能比例),可改为 1:1 / 3:4 / 4:3 / 16:9 / 9:16 等( 禁用 1:4 / 4:1 / 1:8 / 8:1)webSearch、不接受 imageSearch;仅 3.1Nano2-Evo 支持 imageSearchklingV3Omni 做参考图生视频,比例 16:9、时长 10s、生成声音。你有几张想作为参考的图片吗?要不要保留原音?"3.1Nano2-Evo 图片模型。当用户提供本地文件作为参考图或参考视频时,需要先调用文件上传 API 转换为可访问的 URL:
bash
curl --location --request POST 'https://ai.deepsop.com/prod-api/system/fileUpload/upload' \
--header 'x-api-key: sk-your_api_key_here' \
--form 'file=@"C:\\Users\\admin\\Downloads\\image.png"'
返回结果:
json
{
"msg": "操作成功",
"fileName": "image.png",
"code": 200,
"url": "https://kocgo-ai-sales-test.oss-cn-hangzhou.aliyuncs.com/material/100/xxx.png"
}
获取到 url 后,可作为 firstImageUrl、 lastImageUrl 或其他图片参数传入生成接口。
生成图片后,直接在回复中使用 Markdown 语法:
markdown

平台支持情况:
使用 --download 参数下载图片,然后通过 message 工具发送:
bash
python3 scripts/generate_image.py "风景画" --download
然后在代码中读取图片并发送:
python
from scripts.generate_image import generate_image
import base64
result = generate_image(prompt="风景画", download=True)
if result and result["status"] == "SUCCESS":
# 方式 A: 使用 data URI
image_uri = result["data_uri"] # data:image/png;base64,...
# 方式 B: 读取本地文件
with open(result["local_path"], "rb") as f:
image_data = f.read()
base64_data = base64.b64encode(image_data).decode()
参数默认值说明prompt必填生成提示词(图片或视频描述)--model自动推断生成模型。 未指定时根据 prompt 关键词自动推断:包含 视频/动画/短片/动起来/镜头/clip/motion/video 等 → V3.1FB;其余 → 3.1Nano2-Evo。图片: 3.1Nano2-Evo、 S5.0L、 N2、 W2.7、 W2.7Pro、 Nano2-Beta-Evo;视频: V3.1FB、 S1.5Pro、 V3.1PB、 V3.1Fast、 W2.6t、 W2.6i、 W2.6r、 klingV3Omni、 W2.7t、 W2.7i、 W2.7r``--list-models-列出当前服务端激活的模型(hiddenState=0)后退出,不需 prompt--dry-run-仅构建并打印最终 payload,不提交任务(调试用)--json-output-以单行 JSON 向 stdout 输出最终结果 {status,url,message,local_path?},便于 openclaw 等编排器解析--interval``5轮询间隔(秒)--max-wait图片 600 / 视频 1200任务轮询最长等待秒数
stdout:任务完成后 恰好一行 最终结果
URL,失败时留空--json-output:始终输出一行 JSON,形如 {"status":"SUCCESS","url":"https://...","message":"..."}--markdown-output:成功时输出 stderr:所有人类可读进度日志( [auto]、 [upload]、预估费用、任务 ID、轮询状态变化、 ⚠️ 警告、错误说明)
退出码: 0 = 成功, 1 = 失败/超时
脚本会 始终轮询到终态(SUCCESS / FAILED / TIMEOUT)才退出,无需调用方自己再查询结果。
参数默认值说明--quality``2K图片质量 (2K/4K)--size模型默认值图片尺寸。 S5.0L / W2.7 / W2.7Pro: 2048x2048, N2 / 3.1Nano2-Evo / Nano2-Beta-Evo: 1:1``--download-下载图片到本地--output-dir``workspace/images图片保存目录--markdown-output-以 Markdown 格式输出图片链接--reference-image-参考图本地路径,自动上传后作为 image-to-image 参考--reference-image-url-已上传的参考图 URL(跳过上传流程)--web-search / --no-web-search-启用/关闭联网搜索(仅 S5.0L、 3.1Nano2-Evo)--image-search / --no-image-search-启用/关闭图像搜索(仅 3.1Nano2-Evo)--ratiocination``medium渲染质量预设(仅 Image2): low / medium / high``--n``1生成数量(图片 Image2 1–10;视频 V3.1Fast 1–4)
参数默认值说明--ratio``16:9画面比例,如 16:9、 9:16、 1:1``--resolution``720p视频分辨率,如 720p、 1080p``--duration``10视频时长(秒)--first-image-url-首帧参考图 URL--last-image-url-尾帧参考图 URL--first-image-首帧参考图本地路径,自动上传后转换为 URL--last-image-尾帧参考图本地路径,自动上传后转换为 URL--generate-audio-开启音频生成(按模型能力生效)--no-audio-关闭音频生成(按模型能力生效)
模型sourceNamemethodType默认尺寸特点S5.0LDeepSop·S5.0L4``2048x2048默认模型,质量 2K/3K,支持联网,像素尺寸 WxHN2DeepSop·Nano1 Pro2``1:1多模态输入,精细参数调节,卓越文字渲染与角色一致性(比例格式;服务端已重命名为 Nano1 Pro)W2.7DeepSop.W2.76``2048*2048文生图/图生图多模态输入,质量 1K/2K,size 用 * 分隔W2.7ProDeepSop.W2.7Pro7``2048*2048精准控图与风格迁移,质量 1K/2K,size 用 * 分隔3.1Nano2-EvoDeepSop·Nano28``1:1N2 Evo 版(服务端称 Nano2),支持 imageSearch 与 webSearch``Nano2-Beta-EvoDeepSop·Nano2 Beta-Evo9``1:1N2 Beta Evo 版,多模态输入、文字渲染与角色一致性Image2DeepSop·Image210``autoGPTimage-2 接入;支持 ratiocination(low/medium/high)、 n(1–10);提示词 16000 字;参考图 ≤50MB×16 张;禁用 1:4/4:1/1:8/8:1
模型sourceNamemethodType默认比例默认分辨率默认时长特点S1.5ProDeepSop·S1.5Pro2``16:9``720p10s影视级连贯叙事,音画同步与精准口型对齐V3.1FBDeepSop·V3.1FB3``16:9``1080p8s快速生成, 时长固定 8 秒V3.1PBDeepSop·V3.1PB4``adaptive``720p8sV3.1Pro 多图参考, 时长固定 8 秒V3.1FastDeepSop·V3.1Fast5``16:9``720p8s快速生成,音画同步,时长 4s/8sW2.6tDeepSop·W2.6t7``16:9``720p10s文生视频,3-15s,size 用 * 像素,15s 1080PW2.6iDeepSop·W2.6i8``16:9``720p10s图生视频,3-15s,size 用 ratio,无尾帧支持W2.6rDeepSop·W2.6r9``16:9``720p10s参考视频, 3-10s,size 用 * 像素klingV3OmniDeepSop.klingV3Omni10``16:9``720p10s多模态融合, 3-15s,按张计费,支持分镜W2.7iDeepSop·W2.7i14``16:9``720p10s图生视频,首尾帧平滑过渡,动作延展与视频续写W2.7tDeepSop.W2.7t15``16:9``720p10s文生视频,智能多镜头剪辑,自动配音,2K 高清W2.7rDeepSop.W2.7r16``16:9``720p10s参考视频生成,保留角色音色,多模态融合编辑
V3.1 系列时长(来自前端 matchVideoDurationInfo):
V3.1FB / V3.1PB: 时长固定为 8 秒V3.1Fast:4 秒 或 8 秒WAN2.6 / WAN2.7 / klingV3Omni 系列:
*t:纯文生视频 · *i:首帧图生视频 · *r:参考图/视频生成W2.6r 为 3-10s;其余(包含 klingV3Omni)为 3-15ssize 序列化规则: 仅 W2.6t / W2.6r 使用 宽*高 像素格式; W2.6i / W2.7t/i/r / klingV3Omni 的 size 为比例字符串(如 16:9)klingV3Omni 无分辨率选项)W2.6t / W2.6r / W2.7t / W2.7r 支持 1:1 / 3:4 / 4:3 / 16:9 / 9:16; W2.6i / W2.7i 不可选比例(由首帧决定); klingV3Omni 仅 1:1 / 16:9 / 9:16W2.6i / Sora2 系列不支持尾帧图片(仅 W2.7i 支持)W2.6t / W2.6i / W2.7* 支持传入自定义音频( audioUrl)bash
# 查看当前服务端激活的模型
python3 scripts/generate_image.py --list-models
# 基础用法 - 默认图片模型 3.1Nano2-Evo
python3 scripts/generate_image.py "一匹狼"
# 使用 N2 模型(比例尺寸)
python3 scripts/generate_image.py "生成一只狗" --model N2 --size "16:9"
# W2.7 图片模型
python3 scripts/generate_image.py "复古海报" --model W2.7 --quality "4K"
# W2.7Pro 精准控图
python3 scripts/generate_image.py "角色三视图" --model W2.7Pro
# 3.1Nano2-Evo / Nano2-Beta-Evo(N2 进化版)
python3 scripts/generate_image.py "赛博朋克街景" --model 3.1Nano2-Evo --size "16:9"
python3 scripts/generate_image.py "少女肖像" --model Nano2-Beta-Evo --size "3:4"
# Image2(GPTimage-2)—— 默认 auto 比例,medium 渲染质量
python3 scripts/generate_image.py "一只可爱的柯基犬坐在草地上" --model Image2
# Image2 出 4 张高质量图片
python3 scripts/generate_image.py "产品宣传图 4 种风格" --model Image2 --n 4 --ratiocination high --size "1:1"
# 3.1Nano2-Evo 启用图像搜索 + 联网搜索
python3 scripts/generate_image.py "帮我画一种雨季仅出现三天的菌菇" --model 3.1Nano2-Evo --image-search --web-search
# 下载图片
python3 scripts/generate_image.py "风景画" --download
# 高质量生成(S5.0L)
python3 scripts/generate_image.py "风景画" --quality "4K" --size "4096x4096"
# 直接输出 Markdown 图片链接
python3 scripts/generate_image.py "一只可爱的猫" --markdown-output
# 使用参考图生成(自动上传本地图片并转换为 URL)
python3 scripts/generate_image.py "基于这张图生成变体" --reference-image "./reference.png"
# 生成视频 - 默认 V3.1FB(快速、固定 8 秒)
python3 scripts/generate_image.py "现代轻奢吊灯" --model V3.1FB
# 生成视频 - S1.5Pro(默认 16:9 / 720p / 10s)
python3 scripts/generate_image.py "小骏马祝福大家新年快乐" --model S1.5Pro
# 生成视频 - 指定比例和分辨率
python3 scripts/generate_image.py "海边日落风景" --model S1.5Pro --ratio "9:16" --resolution "1080p"
# V3.1FB - 快速基础(8 秒)
python3 scripts/generate_image.py "现代轻奢吊灯" --model V3.1FB --ratio "16:9" --resolution "1080p" --duration 8
# V3.1PB - 自适应比例(8 秒)
python3 scripts/generate_image.py "水晶灯特写" --model V3.1PB --ratio "adaptive" --resolution "720p" --duration 8
# V3.1Fast - 首帧图生视频(4 秒)
python3 scripts/generate_image.py "灯具展示" --model V3.1Fast --first-image "./lamp.jpg" --duration 4
# klingV3Omni - 多模态融合(按张计费)
python3 scripts/generate_image.py "多模态融合镜头" --model klingV3Omni --ratio "16:9" --duration 8
# W2.6t / W2.7t - 文生视频(10 秒)
python3 scripts/generate_image.py "现代轻奢吊灯宣传" --model W2.6t --ratio "16:9" --resolution "1080p" --duration 10
python3 scripts/generate_image.py "品牌短片自动配音 2K" --model W2.7t --ratio "16:9" --resolution "1080p" --duration 10
# W2.6i / W2.7i - 首帧图生视频(8 秒)
python3 scripts/generate_image.py "水晶灯展示" --model W2.6i --first-image "./lamp.jpg" --ratio "9:16" --resolution "720p" --duration 8
python3 scripts/generate_image.py "角色动作延展" --model W2.7i --first-image "./char.jpg" --last-image "./char_end.jpg" --duration 8
# W2.6r / W2.7r - 参考视频生成(CLI 需传已上传 URL,或使用程序化调用)
python3 scripts/generate_image.py "参考素材风格生成" --model W2.6r --ratio "16:9" --resolution "720p" --duration 10
python3 scripts/generate_image.py "保留角色音色迁移场景" --model W2.7r --ratio "16:9" --resolution "720p" --duration 10
python
from scripts.generate_image import generate_image, generate_video
# 图片 - 默认 3.1Nano2-Evo
result = generate_image(prompt="一只可爱的猫咪")
# 查询当前激活模型(预览用)
from scripts.generate_image import list_active_models
print(list_active_models())
# 图片 - N2(比例尺寸)
result = generate_image(prompt="生成一只狗", model="N2", size="16:9")
# 图片 - W2.7Pro 精准控图
result = generate_image(prompt="角色三视图", model="W2.7Pro", quality="4K")
# 图片 - 下载到本地
result = generate_image(prompt="风景画", model="S5.0L", download=True, output_dir="./images")
# V3.1FB - 文生视频
result = generate_video(
prompt="现代轻奢吊灯",
model="V3.1FB",
ratio="16:9",
resolution="1080p",
duration=8
)
# V3.1Fast - 首帧图生视频
result = generate_video(
prompt="灯具展示",
model="V3.1Fast",
first_image_url="https://example.com/lamp.jpg",
ratio="9:16",
resolution="1080p",
duration=8
)
# V3.1PB - 首尾帧控制
result = generate_video(
prompt="灯具变形动画",
model="V3.1PB",
first_image_url="https://example.com/start.jpg",
last_image_url="https://example.com/end.jpg",
ratio="16:9",
resolution="1080p",
duration=8
)
# W2.7r - 参考视频生成(多模态融合)
result = generate_video(
prompt="保留角色音色迁移到新场景",
model="W2.7r",
image_url_list=["https://example.com/ref1.jpg", "https://example.com/ref2.jpg"],
video_url_list=["https://example.com/ref.mp4"],
ratio="16:9",
resolution="720p",
duration=10
)
# klingV3Omni - 多模态融合(按张计费)
result = generate_video(
prompt="镜头一致性多图融合",
model="klingV3Omni",
image_url_list=["https://example.com/scene1.jpg", "https://example.com/scene2.jpg"],
ratio="16:9",
duration=8
)
if result and result["status"] == "SUCCESS":
print(f"链接: {result['url']}")
# 视频 - 默认 V3.1FB
result = generate_video(prompt="小骏马祝福大家新年快乐")
# 视频 - 指定比例、分辨率、时长
result = generate_video(
prompt="海边日落风景",
model="S1.5Pro",
ratio="9:16",
resolution="1080p",
duration=5
)
if result and result["status"] == "SUCCESS":
print(f"视频链接: {result['url']}")
字段说明statusSUCCESS / FAILED / TIMEOUTurl图片URLmessage状态描述local_path本地保存路径(需 --download)data_uriBase64 Data URI(需 --download)image_data原始图片字节(需 --download)
重要:使用前必须设置你自己的 API Key!
本技能需要 API Key 授权:
sk-xxxxxx...)复制 .env.example 为 .env:
bash
cp .env.example .env
编辑 .env 文件,填入你的 API Key:
bash
AI_ARTIST_TOKEN=sk-your_api_key_here
在运行脚本前加载环境变量: bash
# Linux/macOS/Git Bash
source .env
# 或使用 export
export $(cat .env | xargs)
bash
export AI_ARTIST_TOKEN="sk-your_api_key_here"
为了永久生效,将上述命令添加到 ~/.bashrc 或 ~/.zshrc 文件中。
powershell
$env:AI_ARTIST_TOKEN="sk-your_api_key_here"
永久设置(系统级):
powershell
[System.Environment]::SetEnvironmentVariable('AI_ARTIST_TOKEN', 'sk-your_api_key_here', 'User')
cmd
set AI_ARTIST_TOKEN=sk-your_api_key_here
运行以下命令验证 API Key 是否设置成功:
bash
# Linux/macOS/Git Bash
echo $AI_ARTIST_TOKEN
# Windows PowerShell
echo $env:AI_ARTIST_TOKEN
# Windows CMD
echo %AI_ARTIST_TOKEN%
如果输出为空或显示默认值,说明环境变量未正确设置。
运行配置测试脚本,验证 API Key 是否正确设置:
bash
python3 scripts/test_config.py
该脚本会检查:
bash
export FEISHU_WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
scripts/generate_image.py - 主脚本references/api.md - API 详细文档