AI图像与视频生成
基于 Azure OpenAI 的 gpt-image-1 和 Sora 模型,实现图像生成和视频生成能力。
概述
团队在 Azure Foundry 上部署了 gpt-image-1.5(后实际可用的是 gpt-image-1)模型,用于 AI 图像生成。Dora-kids 基于提供的参考代码,创建了 azure-image-gen skill,封装了 Azure OpenAI 画图 API 的调用逻辑。
该技能最初用于为 Mattermost 平台上的多个 Bot 批量生成个性化头像。后来发现 skill 中配置的模型名称 gpt-image-1.5 与 Azure 实际部署的 gpt-image-1 不匹配,导致 skill 报错。目前图像生成通过直接调用 API(curl 请求)来实现,绕过了损坏的 skill。
关键点
- 部署位置:
resley-sweden-extAzure Foundry - 模型:
gpt-image-1(Azure 端实际可用的模型名称) - Skill 路径:
skills/azure-image-gen/ - Skill 状态: 已标记为 broken,因模型名称配置错误(写死了
gpt-image-1.5) - 替代方案: 直接通过 curl/HTTP 请求调用 Azure API
- 主要用途: 生成 Bot 头像、卡通图像
技术细节
参考代码(Python SDK 调用方式)
import base64
from openai import OpenAI
endpoint = "https://resley-sweden-ext.openai.azure.com/openai/v1/"
deployment_name = "gpt-image-1.5"
api_key = "<your-api-key>"
client = OpenAI(base_url=endpoint, api_key=api_key)
img = client.images.generate(
model=deployment_name,
prompt="A cute baby polar bear",
n=1,
size="1024x1024",
)
image_bytes = base64.b64decode(img.data[0].b64_json)
with open("output.png", "wb") as f:
f.write(image_bytes)直接 API 调用方式
POST https://resley-sweden.openai.azure.com/openai/deployments/gpt-image-1/images/generations...注意:Azure 的认证方式使用 api-key header,而不是 Bearer token。
已知问题
- Skill 内写死模型名
gpt-image-1.5,但 Azure 只有gpt-image-1 - 建议修复:将代码中的 1.5 改成 1 即可恢复 Skill 功能
时间线
- 2026-03-17: 在
resley-sweden-ext上部署gpt-image-1.5模型 - 2026-03-17: 创建
azure-image-genskill,生成 Quokka 和 Axolotl 头像 - 2026-03-17: 批量为 6 个 Bot 生成个性化头像(channelbot、webbot、gatewaybot 等)
- 2026-03-22: 发现 skill 因模型名不匹配已 broken,标记为 Legacy
相关页面
- bot-inventory
- openclaw-skills-inventory
- model-provider-config
- giraffe — Sora 视频生成的主要使用者
- shutiao-world — 魔法画室功能集成
Azure Sora 视频生成(sora-video 技能)
概述
giraffe Bot 创建了 sora-video 自定义技能,用于将静态图片(涂鸦/画作)通过 Azure Sora 模型转化为短视频动画。该功能已集成到薯条世界的「魔法画室」模块。
部署信息
| 属性 | 值 |
|---|---|
| Endpoint | https://resley-sweden-ext.cognitiveservices.azure.com/ |
| 模型部署名 | sora-2 |
| API 路径 | /openai/v1/videos |
| SDK | OpenAI Python SDK client.videos.create() |
| 技能路径 | ~/.openclaw/skills/sora-video/ |
支持的风格
| 风格 | 描述 |
|---|---|
| 🖍️ 涂鸦风 | 保持白板原画风格动画 |
| 🌟 破次元壁 | 2D 平面弹出变 3D |
| 🚀 太空冒险 | 画中角色飞向星空 |
| 🌧️ 雨天场景 | 雨中行驶,车轮溅起水花 |
| 🎬 定格动画 | 黏土动画手工感 |
| ✏️ 涂鸦大战 | 更多元素从白板冒出 |
踩坑记录
- 音频采样率: Sora 输出 96kHz 音频,大部分播放器不支持 → 用 ffmpeg 转码到 44.1kHz
- 纵横比扭曲: 横版原图被强行拉成竖版 720×1280 → 必须按原图比例选择输出尺寸
- faststart: MP4 需要
-movflags +faststart才能流式播放 - 内容审核: Azure Sora 对真实儿童照片会触发
moderation_blocked,只能使用涂鸦/画作 - API 格式变更: 旧版 multipart form upload 方式已不兼容,需使用 OpenAI SDK
client.videos.create(input_reference=file) - 生成时间: 约 1-2 分钟,需异步轮询状态