Appearance
HappyHorse 文生视频操作指南
本指南演示如何使用 AI API Gateway 的 HappyHorse 1.0 文生视频功能,将一段文字描述转换为高质量视频。
📋 前置准备
1. 获取 API 密钥
联系管理员获取 Open.OspreyAI 的访问密钥(格式:sk-xxx)。
2. 了解 HappyHorse
HappyHorse 1.0 是新一代文生视频大模型,核心特性:
| 特性 | 说明 |
|---|---|
| 分辨率 | 720P / 1080P 高清 |
| 画面比例 | 16:9(横屏)、9:16(竖屏)、1:1(方形) |
| 视频时长 | 1-10 秒可调 |
| 语言支持 | 中文、英文提示词 |
| 生成时间 | 1-3 分钟(视分辨率和时长而定) |
🎬 生成视频
方法一:AI 助手对话式生成(推荐)
这是最简单的方式,只需将 Skill 文件发送给 AI 助手,然后用自然语言描述需求。
步骤 1:学习 Skill
在 AI 对话中发送以下指令:
学习:https://ai.ospreyai.cn/docs/raw/skills/happyhorse-text-to-video.md,保存为本地的技能 skills📸 查看对话截图
📷 待补充截图:AI 助手确认学习 HappyHorse 文生视频 Skill 的对话截图
步骤 2:用自然语言描述视频
向 AI 助手发送视频生成需求:
请使用刚学习的 HappyHorse 文生视频技能,生成一段视频:
"a white horse running on a beach at sunset"
分辨率 1080P,横屏 16:9,时长 5 秒AI 助手会自动:
- 提交文生视频任务到 HappyHorse 模型
- 轮询任务状态,等待生成完成
- 下载最终视频文件并提供给你
📸 查看生成过程截图

AI 助手调用 HappyHorse API 生成视频后的返回界面
步骤 3:获取视频
生成完成后(通常需要 1-3 分钟),AI 助手会提供视频文件的下载链接和播放。
方法二:API 直接调用
适合开发者集成到自己的应用中。详细参数说明请参考 HappyHorse 文生视频 Skill。
快速示例
bash
export GW="https://open.ospreyai.cn"
export API_KEY="sk-your-api-key"
# 1. 提交文生视频任务
curl -s -X POST "$GW/v1/video/generations" \
-H "X-DashScope-Async: enable" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.0-t2v",
"prompt": "a white horse running on a beach at sunset",
"resolution": "1080P",
"ratio": "16:9",
"duration": 5
}'
# 返回: {"task_id": "task_xxx", "status": "queued"}
# 2. 查询任务状态(替换 task_id)
curl -s "$GW/v1/video/generations/{task_id}" \
-H "Authorization: Bearer $API_KEY"
# 3. 下载视频(从响应中的 result_url 获取)
curl -sL "{result_url}" -o white_horse.mp4Python 示例
python
import requests
import time
GW = "https://open.ospreyai.cn"
API_KEY = "sk-your-api-key"
# 提交任务
resp = requests.post(f"{GW}/v1/video/generations",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"X-DashScope-Async": "enable"
},
json={
"model": "happyhorse-1.0-t2v",
"prompt": "a white horse running on a beach at sunset",
"resolution": "1080P",
"ratio": "16:9",
"duration": 5
})
task = resp.json()
task_id = task["task_id"]
print(f"任务已提交: {task_id}")
# 轮询状态
while True:
resp = requests.get(f"{GW}/v1/video/generations/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"})
data = resp.json().get("data", {})
status = data.get("status", "")
if status == "SUCCESS":
video_url = data.get("result_url")
print(f"视频已就绪: {video_url}")
break
elif status == "FAILED":
print(f"生成失败: {data.get('fail_reason')}")
break
print(f"状态: {status} ({data.get('progress', '')})")
time.sleep(5)
# 下载视频
if status == "SUCCESS":
resp = requests.get(video_url)
with open("white_horse.mp4", "wb") as f:
f.write(resp.content)
print(f"下载完成: white_horse.mp4 ({len(resp.content)} bytes)")🎥 效果演示
以下是使用本指南生成的「白马海滩」视频:
🎬 HappyHorse 文生视频(1080P, 16:9, 5 秒)
提示词
a white horse running on a beach at sunset视频参数
| 参数 | 值 |
|---|---|
| 模型 | happyhorse-1.0-t2v |
| 分辨率 | 1080P |
| 画面比例 | 16:9 |
| 时长 | 5 秒 |
| 格式 | MP4 |
💡 提示词技巧
好的提示词是生成高质量视频的关键。以下是提示词编写建议:
提示词结构
推荐按以下结构组织提示词:
场景 + 主体 + 动作 + 光影 + 氛围/风格示例对比
| 类型 | 提示词 | 效果 |
|---|---|---|
| ❌ 过于简单 | "一匹马" | 画面单调,缺乏氛围 |
| ⚠️ 基本描述 | "一匹白马在海滩上跑" | 有场景但缺乏细节 |
| ✅ 详细描述 | "a white horse running on a beach at sunset, waves gently lapping the shore, cinematic lighting" | 画面丰富,光影自然 |
更多提示词示例
自然风光:
A serene mountain lake at dawn, mist rising from the water surface, a lone canoe drifting slowly, golden sunlight breaking through clouds城市夜景:
一座由硬纸板和瓶盖搭建的微型城市,在夜晚焕发出生机。一列硬纸板火车缓缓驶过,小灯点缀其间,照亮前路。动物特写:
A golden retriever puppy playing in autumn leaves, slow motion, warm afternoon light filtering through trees科幻场景:
A massive space station orbiting a gas giant planet, small ships docking and departing, nebula in the background中文 vs 英文
| 语言 | 优势 | 建议 |
|---|---|---|
| 中文 | 文学化表达、成语、意境 | 适合写意、诗意场景 |
| 英文 | 细节描述、专业术语 | 适合精确控制画面元素 |
💡 技巧:两种语言可以混合使用,HappyHorse 均能理解。
📐 参数选择指南
分辨率
| 场景 | 推荐分辨率 | 原因 |
|---|---|---|
| 快速预览/测试 | 720P | 生成更快(~1-2 分钟) |
| 最终输出/展示 | 1080P | 画质更高(~2-3 分钟) |
画面比例
| 比例 | 适用场景 | 示例 |
|---|---|---|
| 16:9 | PC/电视/YouTube | 电影感、风景 |
| 9:16 | 手机/短视频/TikTok | 竖屏社交媒体 |
| 1:1 | Instagram/朋友圈 | 方形展示 |
时长
| 时长 | 适用场景 |
|---|---|
| 1-3 秒 | 简短动效、转场 |
| 5 秒 | 默认值,平衡质量和时间 |
| 8-10 秒 | 完整叙事、产品展示 |
⚠️ 时长越长,生成时间越久,消耗配额越多。
🔄 HappyHorse 模型家族
除了文生视频(T2V),HappyHorse 还提供多种视频生成模型:
| 模型 | 类型 | 输入 | 适用场景 |
|---|---|---|---|
happyhorse-1.0-t2v | 文生视频 | 文字提示词 | 创意视频、营销素材 |
happyhorse-1.0-i2v | 图生视频 | 图片 + 文字 | 图片动态化、产品动画 |
happyhorse-1.0-r2v | 参考视频 | 参考视频 + 文字 | 风格迁移、视频重制 |
happyhorse-1.0-video-edit | 视频编辑 | 视频 + 文字 | 视频内容修改、增强 |
📚 其他模型的使用方式与 T2V 类似,参数细节请参考 阿里云 HappyHorse API 文档。
❓ 常见问题
Q: 生成时间太长怎么办? A: 1080P 视频生成通常需要 2-3 分钟,这是正常的。可以:
- 降低分辨率为 720P 以加快生成速度
- 减少视频时长
- 避开高峰时段
Q: 提示词应该用中文还是英文? A: HappyHorse 同时支持中文和英文。英文在细节描述和专业术语方面表现更好,中文在文学化表达方面更有优势。建议先用英文测试,确认满意后再尝试中文版本。
Q: 视频 URL 过期了怎么办? A: 视频 URL 是阿里云 OSS 临时链接,有效期约 24 小时。过期后只需重新查询任务状态(GET /v1/video/generations/{task_id}),即可获取新的下载链接。
Q: 生成失败是什么原因? A: 常见原因包括:
- 提示词包含违规内容(检查
fail_reason字段) - 模型服务暂时过载(稍后重试)
- API 密钥无效或配额不足
Q: 可以生成更长的视频吗? A: 当前单次生成最长 10 秒。如需更长视频,可以:
- 分段生成后用 ffmpeg 拼接
- 使用 HappyHorse video-edit 模型进行续写
Q: 与 ComfyUI 视频生成有什么区别?
| 特性 | HappyHorse | ComfyUI |
|---|---|---|
| 输入 | 纯文字 | 需要图片 |
| 分辨率 | 最高 1080P | 640×720 |
| 适合 | 创意生成、快速原型 | 精确控制、图驱动 |
| 模型 | 闭源大模型 | 开源 Wan 2.2 |
📚 延伸阅读
- HappyHorse 文生视频 Skill - 完整 API 文档
- ComfyUI 视频生成 Skill - 图生视频
- ComfyUI Fun Inpaint 视频 - 首尾帧视频
- 6 关键帧视频生成教程 - 多关键帧过渡
- API 参考 - 所有可用 API 端点
🔗 相关资源
- Skill 文件下载:happyhorse-text-to-video.md
- 示例视频下载:white_horse.mp4
- 阿里云 API 文档:HappyHorse 文生视频 API