深度解读阿里云百炼 HappyHorse 1.1 视频生成大模型——能力解析与 Python/Java 工程化接入实战

深度解读阿里云百炼 HappyHorse 1.1 视频生成大模型——能力解析与 Python/Java 工程化接入实战
本文基于阿里云百炼Alibaba Cloud Model Studio / DashScope2026年6月发布的 HappyHorse 1.1 官方文档与 API 参考编写涵盖模型架构升级点、三种生成模式T2V/I2V/R2V、完整 API 参数说明以及生产可用的 Python DashScope SDK 与 Java HTTP 异步调用示例。一、背景与定位2026年6月阿里巴巴在阿里云百炼平台正式上线HappyHorse 1.1快乐小马 1.1​ 视频生成大模型。作为 HappyHorse 1.0 之后的重要迭代1.1 版本并未单纯堆砌参数量而是针对 AI 视频在工业级内容生产短剧、电商广告、品牌营销、游戏 CG 预告中的五大核心痛点做了系统性修复动态表现力不足动作迟缓、残影→ 强化运动建模与时序一致性主体一致性差角色/商品多镜头变脸→ 支持最多 9 张参考图 R2V 模式指令遵循弱长 Prompt 只识别前半句→ 增强长上下文语义理解与镜头规划视觉质感AI 味重油光、过度锐化→ 还原真实肤质减少涂抹感音画脱节​ → 原生音视频联合生成支持环境音/配乐/BGM 描述HappyHorse 1.1 基于统一编码的单流 Transformer 架构将文本、图像、视频、音频四种模态在同一表示空间内处理实现原生音画同步生成这使其区别于单纯的无声视频扩散模型。官网https://happyhorsecn.cn/二、核心生成模式HappyHorse 1.1 在 API 层暴露三个独立 Model ID分别对应三种生成范式模式API Model ID输入要求典型场景T2VText-to-Video 文生视频​happyhorse-1.1-t2v文本 Prompt必填概念短片、氛围镜头、无素材创意I2VImage-to-Video 图生视频​happyhorse-1.1-i2v文本 Prompt 首帧图片 URL必填产品图转动效、静态海报动态化R2VReference-to-Video 参考生视频​happyhorse-1.1-r2v文本 Prompt 1~9 张参考图reference_image 类型短剧多镜头角色一致、品牌代言人/商品保 IDR2V 是 1.1 的旗舰能力传入角色正面/侧面/道具等多视角参考图模型会在生成的全过程中保持这些主体的外观一致性解决此前 AIGC 视频每帧一个人的行业难题。三、API 技术规范3.1 端点与认证Endpoint推荐华北2北京地域POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis如使用业务空间专属域名https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis认证Authorization: Bearer YOUR_DASHSCOPE_API_KEY异步标识HTTP 调用必须X-DashScope-Async: enable3.2 通用请求体结构{ model: happyhorse-1.1-t2v, input: { prompt: 详细描述期望的视频内容……, media: [ { type: first_frame, url: https://.../img.png }, { type: reference_image, url: https://.../ref1.jpg } ] }, parameters: { resolution: 720P, ratio: 16:9, duration: 5, watermark: true, seed: 42 } }关键字段说明字段类型说明input.promptString必填≤5000 英文字符或 ≤2500 中文描述主体/动作/场景/镜头/音频要求input.mediaArrayT2V 可不传I2V 传type: first_frameR2V 传 1~9 个type: reference_imageparameters.resolutionString720P默认或1080Pparameters.ratioString16:9默认/9:16/1:1/4:3/3:4/4:5/5:4/9:21/21:9parameters.durationInteger3~15 秒默认 5parameters.watermarkBooleantrue默认右下角Happy Horse水印/false去水印parameters.seedInteger随机种子 [0, 2147483647]固定 seed 可提高可复现性3.3 响应与异步轮询创建任务响应HTTP 202{ output: { task_id: a1b2c3d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx, task_status: PENDING }, request_id: xxxx }轮询接口GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id} Header: Authorization: Bearer YOUR_API_KEY终态SUCCEEDED返回示例{ output: { task_status: SUCCEEDED, video_url: https://dashscope-result.oss-cn-xxxx.aliyuncs.com/xxxxx/result.mp4 }, usage: { duration: 5 } }task_id有效期 24 小时video_url通常也有时效限制一般 24~72h生产环境建议及时转存。四、Python 调用示例DashScope SDK4.1 环境准备pip install dashscope1.25.16 export DASHSCOPE_API_KEYsk-xxxxxxWindows PowerShell:$env:DASHSCOPE_API_KEYsk-xxxxxx4.2 T2V 文生视频# -*- coding: utf-8 -*- HappyHorse 1.1 - Text to Video (T2V) Example from dashscope import VideoSynthesis import dashscope import os dashscope.base_http_api_url https://dashscope.aliyuncs.com/api/v1 API_KEY os.getenv(DASHSCOPE_API_KEY) def happyhorse_t2v(prompt: str, duration: int 5, resolution: str 720P): rsp VideoSynthesis.call( api_keyAPI_KEY, modelhappyhorse-1.1-t2v, promptprompt, durationduration, resolutionresolution, ratio16:9, watermarkFalse ) if rsp.status_code 200: task_id rsp.output.task_id print(f[T2V] Task submitted: {task_id}) # SDK wait() 内部自动轮询 result VideoSynthesis.wait(api_keyAPI_KEY, task_idtask_id) if result.output.task_status SUCCEEDED: print(f[T2V] Video URL: {result.output.video_url}) return result.output.video_url else: raise RuntimeError(fTask failed: {result.output}) else: raise RuntimeError(fSubmit failed [{rsp.status_code}]: {rsp.message}) if __name__ __main__: happyhorse_t2v( prompt夕阳下金色麦田随风起伏一匹白马奔驰而过慢动作电影感暖色调, duration5, resolution720P )4.3 I2V 图生视频def happyhorse_i2v(prompt: str, image_url: str, duration: int 5): rsp VideoSynthesis.call( api_keyAPI_KEY, modelhappyhorse-1.1-i2v, promptprompt, image_urlimage_url, # DashScope SDK 使用 image_url 参数传首帧 durationduration, resolution720P, ratio16:9, watermarkFalse ) if rsp.status_code 200: task_id rsp.output.task_id result VideoSynthesis.wait(api_keyAPI_KEY, task_idtask_id) print(f[I2V] Video URL: {result.output.video_url}) return result.output.video_url else: raise RuntimeError(fSubmit failed [{rsp.status_code}]: {rsp.message}) # 用法示例 # happyhorse_i2v( # prompt镜头缓慢推近模特面部微风轻拂发丝眼神温柔, # image_urlhttps://your-cdn.com/model_front.jpg # )4.4 R2V 参考生视频最多9张参考图def happyhorse_r2v(prompt: str, ref_urls: list, duration: int 5): ref_urls: list of public image URLs, max 9 media [{type: reference_image, url: u} for u in ref_urls] rsp VideoSynthesis.call( api_keyAPI_KEY, modelhappyhorse-1.1-r2v, promptprompt, mediamedia, # R2V 通过 media 字段传参考图列表 durationduration, resolution720P, ratio16:9, watermarkFalse ) if rsp.status_code 200: task_id rsp.output.task_id result VideoSynthesis.wait(api_keyAPI_KEY, task_idtask_id) print(f[R2V] Video URL: {result.output.video_url}) return result.output.video_url else: raise RuntimeError(fSubmit failed [{rsp.status_code}]: {rsp.message}) # 用法示例 # happyhorse_r2v( # prompt身着红色旗袍的女性(character1)缓步走来展开折扇(character2)耳坠(character3)随动作轻晃中景转面部特写, # ref_urls[ # https://your-cdn.com/girl.jpg, # https://your-cdn.com/fan.jpg, # https://your-cdn.com/earring.jpg # ] # )⚠️注意R2V 的参考图需为公网可访问 HTTPS URLDashScope SDK 中通过media参数传入HTTP 原始 API 对应input.media数组。五、Java 调用示例HTTP 异步 轮询Java 侧推荐使用OkHttp 4.xJackson直接走 HTTP 异步接口与 Python SDK 底层一致。5.1 Maven 依赖dependencies dependency groupIdcom.squareup.okhttp3/groupId artifactIdokhttp/artifactId version4.12.0/version /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version2.17.0/version /dependency /dependencies5.2 HappyHorseClient.javapackage com.example.ai; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.*; import java.io.IOException; import java.util.*; /** * 阿里云百炼 HappyHorse 1.1 视频生成 — Java HTTP 异步调用封装 * 支持 T2V / I2V / R2V */ public class HappyHorseClient { private static final String API_KEY System.getenv(DASHSCOPE_API_KEY); private static final String BASE_URL https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis; private static final OkHttpClient CLIENT new OkHttpClient.Builder() .connectTimeout(30, java.util.concurrent.TimeUnit.SECONDS) .readTimeout(60, java.util.concurrent.TimeUnit.SECONDS) .build(); private static final ObjectMapper MAPPER new ObjectMapper(); /** * 提交视频生成任务 * * param model happyhorse-1.1-t2v / happyhorse-1.1-i2v / happyhorse-1.1-r2v * param prompt 提示词 * param mediaList input.media 数组I2V 传 first_frameR2V 传 reference_imageT2V 传 null * param duration 3~15 * return taskId */ public static String submitTask(String model, String prompt, ListMapString, String mediaList, int duration) throws IOException { // 构建 input MapString, Object input new LinkedHashMap(); input.put(prompt, prompt); if (mediaList ! null !mediaList.isEmpty()) { input.put(media, mediaList); } // 构建 parameters MapString, Object params new LinkedHashMap(); params.put(resolution, 720P); params.put(ratio, 16:9); params.put(duration, duration); params.put(watermark, false); // 构建 body MapString, Object body new LinkedHashMap(); body.put(model, model); body.put(input, input); body.put(parameters, params); String jsonBody MAPPER.writeValueAsString(body); Request request new Request.Builder() .url(BASE_URL) .addHeader(Authorization, Bearer API_KEY) .addHeader(X-DashScope-Async, enable) .addHeader(Content-Type, application/json) .post(RequestBody.create(jsonBody, MediaType.parse(application/json))) .build(); try (Response resp CLIENT.newCall(request).execute()) { if (!resp.isSuccessful()) { throw new RuntimeException(Submit failed: resp.code() - resp.body().string()); } JsonNode root MAPPER.readTree(resp.body().string()); return root.get(output).get(task_id).asText(); } } /** * 轮询任务直到 SUCCEEDED / FAILED */ public static String pollTask(String taskId) throws IOException, InterruptedException { String taskUrl https://dashscope.aliyuncs.com/api/v1/tasks/ taskId; Request req new Request.Builder() .url(taskUrl) .addHeader(Authorization, Bearer API_KEY) .get() .build(); while (true) { try (Response resp CLIENT.newCall(req).execute()) { JsonNode root MAPPER.readTree(resp.body().string()); String status root.get(output).get(task_status).asText(); if (SUCCEEDED.equals(status)) { return root.get(output).get(video_url).asText(); } else if (FAILED.equals(status) || CANCELED.equals(status)) { throw new RuntimeException(Task taskId ended with status: status | err root.get(message)); } // PENDING / RUNNING → 继续等 Thread.sleep(5000L); } } } // Demo public static void main(String[] args) throws Exception { // --- T2V 示例 --- String taskId submitTask( happyhorse-1.1-t2v, 夜幕降临霓虹灯映照的现代都市街道车流穿梭赛博朋克风格, null, 5 ); System.out.println(T2V TaskID: taskId); System.out.println(T2V Video: pollTask(taskId)); // --- I2V 示例 --- ListMapString, String i2vMedia Collections.singletonList( Map.of(type, first_frame, url, https://your-cdn.com/frame.jpg) ); taskId submitTask( happyhorse-1.1-i2v, 镜头缓慢环绕人物微风轻拂, i2vMedia, 5 ); System.out.println(I2V Video: pollTask(taskId)); // --- R2V 示例多参考图--- ListMapString, String r2vMedia Arrays.asList( Map.of(type, reference_image, url, https://your-cdn.com/char1.jpg), Map.of(type, reference_image, url, https://your-cdn.com/prop1.jpg) ); taskId submitTask( happyhorse-1.1-r2v, 角色(character1)手持道具(character2)走向镜头微笑背景为古风庭院, r2vMedia, 5 ); System.out.println(R2V Video: pollTask(taskId)); } }Java 示例要点说明所有调用均为异步先 POST 拿task_id再 GET 轮询/api/v1/tasks/{task_id}X-DashScope-Async: enable不可省略否则返回current user api does not support synchronous callsI2V 的media元素type为first_frameR2V 为reference_image上限 9 张生产环境建议给轮询加指数退避/最大重试次数并对 429限流做重试处理六、Prompt 编写最佳实践要让 HappyHorse 1.1 发挥最佳效果建议 Prompt 包含以下要素主体描述人物/商品的衣着、发型、颜色、材质、表情、动作例穿象牙白真丝旗袍、盘发、持团扇、浅笑场景与镜头语言背景环境 运镜例老上海石库门天井晨光斜射中景→面部特写缓慢推镜风格与质感写实/动漫/胶片/电影感例ARRI Alexa 35 胶片质感低饱和度自然肤质无磨皮音频要求如有BGM 类型、环境音、语速例背景轻快古筝曲鸟鸣环境音无旁白约束时长、分辨率、宽高比Bad一个女生走路Good生成5秒720P视频身着月白刺绣旗袍的年轻女性从古宅廊下缓步走出面向镜头微笑手持团扇轻摇背景为青瓦白墙苏州园林侧逆光柔光电影感背景轻快琵琶曲人物面部保持参考图特征七、计费与注意事项项目说明计费单位按生成视频秒数计费与所选分辨率档位挂钩2026上线优惠限时约6折720P ≈ ¥0.54/秒1080P ≈ ¥0.72/秒以控制台为准新用户通常赠送一定免费额度如10秒详见百炼控制台并发限制默认有 QPS/RPM 限制企业级高并发需申请提额参考图要求JPG/PNG/WEBP公网 HTTPS URL建议 ≥512×512过多小图会影响一致性水印watermark: false可去除依账户权限商用需注意合规八、总结HappyHorse 1.1 的核心进步在于把 AI 视频从偶尔出好片推进到了可纳入生产管线——尤其是R2V 多参考图主体一致性 原生音画同步 长 Prompt 镜头规划使其对短剧、电商广告、品牌内容团队具备实际落地价值。通过阿里云百炼异步 API无论是 Python 数据脚本还是 Java 后端微服务都能以标准化异步任务模式接入。建议在正式集成前进行小规模 Prompt 测试确认角色参考图角度覆盖度与 Prompt 描述精度匹配后再批量投产。