Media Gen
使用单个 AIsa API 密钥生成图像和视频。该技能涵盖了 AIsa 媒体生成路由,跨三个图像端点和一个异步视频端点。 scripts/media_gen_client.py 中的客户端代码会根据每个支持的模型选择正确的请求形状,包括 Wan 视频变体之间的模式差异。
使用场景:
- 您想要一个中立的技能用于 AIsa 图像和视频生成
- 您需要在 Gemini 图像、Wan 图像、Seedream 和 Wan 视频模型之间切换,而无需重写请求
- 您想要一个简单的 CLI 用于创建图像、提交异步视频作业、轮询任务状态和下载完成的视频输出
兼容性:
- 与任何 agentskills.io 兼容的Harness一起工作,包括:
- Claude Code 和 Claude OpenAI Codex Cursor
- Gemini CLI
- OpenCode、Goose、OpenClaw、Hermes 和其他实现 Agent Skills 规范的工具
- 需要 Python 3、POSIX shell 和来自 aisa.one 的 AISA_API_KEY
您可以做什么:
- 图像 — Gemini(内联 base64)"生成一个赛博朋克风格的城市夜景,霓虹灯,雨夜,电影感"
- 图像 — Wan 2.7(聊天响应中的 URL)"生成一个超详细的产品拍摄图像,红熊猫,工作室灯光,锐利焦点"
- 图像 — Seedream(OpenAI 兼容,大格式)"生成一个 2048×2048 的杂志封面:新黑色侦探肖像,电影颗粒"
- 视频 — 文本到视频(Wan t2v)"生成一个霓虹赛博朋克天际线的全景镜头,5 秒"
- 视频 — 图像到视频(Wan i2v)"从这个参考图像开始,轻柔的摄像机推入,视差"
支持的模型:
- gemini-3-pro-image-preview(Google)POST /v1/models/{model}:generateContent
- wan2.7-image(Alibaba)POST /v1/chat/completions
- wan2.7-image-pro(Alibaba)POST /v1/chat/completions
- seedream-4-5-251128(ByteDance)POST /v1/images/generations
- wan2.6-t2v 文本到视频
- wan2.6-i2v 图像到视频
- wan2.7-t2v 文本到视频
- wan2.7-i2v 图像到视频
重要:wan2.7-i2v 期望在 input.media 中作为数组的参考图像 URL,而不是像 wan2.6-i2v 中的 input.img_url。客户端代码会自动处理这个差异。
快速开始:
- export AISA_API_KEY="您的密钥"
- 任意图像模型 — 客户端会路由到正确的端点
- python3 scripts/media_gen_client.py image --model gemini-3-pro-image-preview --prompt "一个可爱的红熊猫,电影灯光" --out out.png
- python3 scripts/media_gen_client.py image --model wan2.7-image-pro --prompt "超详细的产品拍摄图像,红熊猫" --out out.png
- python3 scripts/media_gen_client.py image --model seedream-4-5-251128 --prompt "新黑色侦探肖像,电影颗粒" --size 2048x2048 --out out.png
- python3 scripts/media_gen_client.py video-create --model wan2.7-t2v --prompt "霓虹赛博朋克天际线的全景镜头"
- python3 scripts/media_gen_client.py video-create --model wan2.7-i2v --prompt "轻柔的摄像机推入,视差" --img-url "https://example.com/reference.jpg" --duration 5
- python3 scripts/media_gen_client.py video-wait --task-id --download --out out.mp4
图像生成 — 端点参考:
- Gemini 家族 → POST /v1/models/{model}:generateContent
- 文档:Google Gemini Chat
- curl -X POST "https://api.aisa.one/v1/models/gemini-3-pro-image-preview:generateContent" -H "Authorization: Bearer $AISA_API_KEY" -H "Content-Type: application/json" -d '{ "contents":[ {"role":"user","parts":[{"text":"一个可爱的红熊猫,电影灯光"}]} ] }'
- Wan 2.7 家族 → POST /v1/chat/completions
- 文档:图像生成通过聊天
- 重要规则:messages[].content 必须是一个类型化的部分数组。一个普通字符串会返回 HTTP 400 无效参数错误。
- curl -X POST "https://api.aisa.one/v1/chat/completions" -H "Authorization: Bearer $AISA_API_KEY" -H "Content-Type: application/json" -d '{ "model": "wan2.7-image", "messages": [ {"role":"user","content":[ {"type":"text","text":"一个可爱的红熊猫,超详细,电影灯光"} ]} ], "n": 1 }'
- Seedream → POST /v1/images/generations
- 文档:OpenAI 兼容图像生成
- curl -X POST "https://api.aisa.one/v1/images/generations" -H "Authorization: Bearer $AISA_API_KEY" -H "Content-Type: application/json"