Skip to content

happyhorse-1.0-i2v 首帧生视频 API 使用文档

HappyHorse 首帧生视频模型以首帧图片为基础,支持通过文本提示词进行引导,生成物理真实、运动流畅的视频。调用采用异步方式,任务通常需要 1–5 分钟完成;支持分辨率档位调节(720P)、时长设置(3–15 秒)、水印控制及随机种子固定,可满足多样化的图生视频应用需求。

模型名称

  • happyhorse-1.0-i2v

接口地址

接口请求方式URL
提交任务POSThttps://www.dmxapi.cn/v1/responses
获取结果POSThttps://www.dmxapi.cn/v1/responses

WARNING

请妥善保管您的 API Key!严禁将密钥泄露给他人、硬编码到代码中或提交到公开的代码仓库。

首帧生视频 示例代码

python
import requests
import json

# ═══════════════════════════════════════════════════════════════
# 步骤1: 配置 API 连接信息
# ═══════════════════════════════════════════════════════════════

# DMXAPI 服务端点地址
url = "https://www.dmxapi.cn/v1/responses"

# DMXAPI 密钥 (请替换为您自己的密钥)
api_key = "sk-******************************************"

# ═══════════════════════════════════════════════════════════════
# 步骤2: 配置请求头
# ═══════════════════════════════════════════════════════════════

headers = {
    "Content-Type": "application/json",
    "Authorization": f"{api_key}",
}

# ═══════════════════════════════════════════════════════════════
# 步骤3: 配置请求参数
# ═══════════════════════════════════════════════════════════════

payload = {
    # 【model】(string, 必填) 指定使用的首帧图生视频模型
    "model": "happyhorse-1.0-i2v",
    "input": [{
        # 【prompt】(string, 可选) 文本提示词,用于描述期望生成的视频内容
        # 支持任何语言输入,长度不超过5000个非中文字符或2500个中文字符,超过部分将自动截断。
        "prompt": "一只猫在草地上奔跑",
        "media": [
            {
                # 【type】(string, 必填) 媒体素材类型
                # 可选值: "first_frame"(以此图作为视频首帧)
                # 素材限制:有且仅有 1 张首帧图像
                "type": "first_frame",
                # 【url】(string, 必填) 首帧图像的 URL,支持 HTTP 或 HTTPS 协议
                # 格式:JPEG、JPG、PNG、WEBP
                # 宽高比:1:2.5~2.5:1
                "url": "https://cdn.translate.alibaba.com/r/wanx-demo-1.png"
            }
        ]
    }],
    "parameters": {
        # 【resolution】(string, 可选) 指定生成的视频分辨率档位,用于控制视频的清晰度(总像素)
        # 模型根据选择的分辨率档位,自动缩放至相近总像素
        # 输出的视频宽高比与输入首帧近似一致
        # 可选值: "720P"(标准高清)
        "resolution": "720P",
        # 【duration】(integer, 可选) 指定生成视频的时长,单位为秒
        # 取值范围: [3, 15] 之间的整数
        "duration": 5,
        # 【watermark】(boolean, 可选) 是否在生成的视频上添加水印标识
        # 水印位于视频右下角,文案固定为 "Happy Horse"
        # true: 默认值,添加水印;false: 不添加水印
        "watermark": True,
        # 【seed】(integer, 可选) 随机数种子,用于提升生成结果的可复现性
        # 取值范围: [0, 2147483647]
        # 未指定时系统自动生成随机种子;即使固定 seed,也不能保证每次结果完全一致
        "seed": 11
    }
}

# ═══════════════════════════════════════════════════════════════
# 步骤4: 发送请求并输出结果
# ═══════════════════════════════════════════════════════════════

response = requests.post(url, headers=headers, json=payload)
print(json.dumps(response.json(), indent=2, ensure_ascii=False))

返回示例

json
{
  "request_id": "8239652d-f3ec-9c8f-a787-4d0f14c36580",
  "output": [
    {
      "type": "message",
      "content": [
        {
          "type": "output_text",
          "text": "{\"task_id\":\"346a4285-e244-4a0e-ba53-c887bdb239fe\",\"task_status\":\"PENDING\"}"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 45000,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 45000
  }
}

获取结果 示例代码

python
import requests
import json

# ═══════════════════════════════════════════════════════════════
# 步骤1: 配置 API 连接信息
# ═══════════════════════════════════════════════════════════════

# DMXAPI 服务端点地址
url = "https://www.dmxapi.cn/v1/responses"

# DMXAPI 密钥 (请替换为您自己的密钥)
api_key = "sk-******************************************"

# ═══════════════════════════════════════════════════════════════
# 步骤2: 配置请求头
# ═══════════════════════════════════════════════════════════════

headers = {
    "Content-Type": "application/json",
    "Authorization": f"{api_key}",
}

# ═══════════════════════════════════════════════════════════════
# 步骤3: 配置请求参数
# ═══════════════════════════════════════════════════════════════

payload = {
    # 【model】(string, 必填) 查询视频生成任务结果的专用模型
    "model": "happyhorse-get",
    # 【input】(string, 必填) 提交任务时返回的 task_id,用于查询任务状态与结果
    # task_id 有效期为 24 小时,超时后将无法查询(接口返回状态 UNKNOWN)
    # 任务状态枚举: PENDING(排队中) / RUNNING(处理中) / SUCCEEDED(成功) / FAILED(失败) / CANCELED(已取消) / UNKNOWN(不存在或已过期)
    "input": "62967e89-6174-4d38-9828-aedd2c5d151f"
}

# ═══════════════════════════════════════════════════════════════
# 步骤4: 发送请求并输出结果
# ═══════════════════════════════════════════════════════════════

response = requests.post(url, headers=headers, json=payload)

data = response.json()
print(json.dumps(data, indent=2, ensure_ascii=False))

# 提取 video_url(嵌套在 output[0].content[0].text 的 JSON 字符串里)
try:
    text = data["output"][0]["content"][0]["text"]
    inner = json.loads(text)
    video_url = inner.get("video_url")
    if video_url:
        print("\n视频链接:")
        print(video_url)
    else:
        print("\n未找到 video_url,任务状态:", inner.get("task_status"))
except (KeyError, IndexError, json.JSONDecodeError) as e:
    print("\n解析 video_url 失败:", e)

返回示例

json
{
  "request_id": "a011c69c-ef4a-9903-a89e-78f72c9ef33c",
  "output": [
    {
      "type": "message",
      "content": [
        {
          "type": "output_text",
          "text": "{\"task_id\":\"62967e89-6174-4d38-9828-aedd2c5d151f\",\"task_status\":\"SUCCEEDED\",\"submit_time\":\"2026-04-28 14:26:42.286\",\"scheduled_time\":\"2026-04-28 14:26:42.330\",\"end_time\":\"2026-04-28 14:28:24.417\",\"video_url\":\"https://dashscope-a717.oss-accelerate.aliyuncs.com/...mp4\"}"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 0,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 0
  }
}

视频链接:
https://dashscope-a717.oss-accelerate.aliyuncs.com/...mp4

© 2026 DMXAPI happyhorse-1.0-i2v 首帧生视频

一个 Key 用全球大模型