本文以三国塔防游戏《箭塔守汉中》为例,演示如何基于 Hologres AI Function,从游戏原始素材出发,通过 SQL 自动生成主题角色图、广告分镜脚本,并最终生成10秒广告视频。
背景介绍
在游戏行业中,广告素材生产是拉新投放和版本宣发中的核心环节。尤其在买量场景下,团队通常需要在短时间内批量生成不同风格、不同主题、不同卖点的视频/图片广告素材,用于测试点击率、转化率和用户偏好。
传统广告制作方式主要依赖人工完成素材整理、创意策划、海报设计、分镜编写和视频剪辑,存在以下痛点:
原始素材分散:角色图、场景图、道具图、游戏介绍、卖点文案通常分散在多个系统中,难以统一管理。
创意生产效率低:每做一条广告,都需要从头构思主题、筛选素材、撰写脚本并进行视频制作,周期较长。
多版本测试成本高:买量广告需要进行大量 A/B Test,人工方式难以支撑高频迭代。
投放与素材脱节:广告素材、脚本版本和投放效果数据之间缺少统一沉淀,难以形成优化闭环。
基于 Hologres AI Function,可以将游戏原始素材管理、素材生成、广告营销内容生成、广告投放效果分析串联起来,形成一套完整的 AI 广告视频生产流程。
方案优势
本方案的核心价值在于:以 Hologres 为 AI 素材生产中台,整合多模型能力,实现广告智能素材的自动化生成。
全 SQL 链路:无需复杂编程,数据工程师仅通过 SQL 即可在 Hologres 中完成 AI 模型调用、素材整合和智能营销内容生成,门槛极低。
统一管理游戏素材:通过 Hologres 表结构统一管理游戏的多种素材,涵盖图片、视频、音频等多模态数据,可以有效与广告投放数据混合分析。
端到端自动化:覆盖从角色变体、分镜脚本到视频合成的全流程,实现分钟级产出。
高效扩展性:支持多场景的广告营销内容批量生成,大幅提升内容生产效率和投放效率。
方案完整流程
通过 AI Function 生成游戏广告视频的完整流程如下:
在 Hologres 中存储游戏信息的原始物料。
利用 qwen-image 模型从元素物料生成各个主题的图片库。
按照提示词,召回主题图片,利用 qwen-max 生成分镜脚本。
主题图片 + 分镜脚本 + wan 模型生成游戏广告视频。
选择合适的广告视频进行投放。
前提条件
已创建 Hologres 实例,且实例版本为 V3.2 及以上。
已在 Hologres 中部署所需的 AI 模型,包括图片生成模型(如 qwen-image 系列)、文本生成模型(如 qwen 系列)和视频生成模型(如 wan 系列)。部署方式详见AI模型与部署。
已准备 OSS Bucket 用于存储生成的图片和视频素材,并配置了相应的 RAM 角色授权。
步骤一:准备游戏信息物料表
在 Hologres 中创建一张游戏信息的物料表,用于存储游戏的基本信息和原始素材路径。
-- 创建游戏信息表
CREATE TABLE game_info(
name TEXT,
intro TEXT,
motivation TEXT,
art_style TEXT,
material_list TEXT[]
);
-- 插入游戏信息
INSERT INTO game_info (name, intro, motivation, art_style, material_list)
VALUES (
'箭塔守汉中',
'《箭塔守汉中》是一款轻松休闲的三国塔防游戏。风云激荡的三国时代,你将化身为一军之帅,肩负守土之责!
玩法介绍:
1. 通过拖拽将各种防御塔放置在预设的路径旁。
2. 点击升级已有的防御塔,提升其威力。
3. 在关键时刻,点击释放武将技能,瞬间扭转战局。',
'策略塔防',
'扁平、中国风、简约小人',
ARRAY[
'oss://<BucketName>/images/liubei.png',
'oss://<BucketName>/images/lvbu.png'
]
);其中 material_list 存储了游戏角色的原始素材图片在 OSS 中的路径。
素材示例:游戏里真实的角色、背景等图片。
oss://ai-demo-dataset/images/liubei.png | oss://ai-demo-dataset/images/lvbu.png |
|
|
刘备 | 吕布 |
步骤二:创建主题图片生成提示词表
从游戏原始角色图片分化出各种主题风格,用于广告素材的生成。
-- 创建主题风格提示词表
CREATE TABLE video_style(
name TEXT PRIMARY KEY,
prompt TEXT
);
-- 插入不同主题的提示词
INSERT INTO video_style VALUES
('北境枭雄', '保持人物肖像不变,生成穿着身披厚重的黑色毛领金属铠甲,铠甲上凝结着冰霜与战火的痕迹。冷峻的蓝调光线,史诗级电影感,细节惊人的Q版人物。'),
('云海剑仙', '保持人物肖像不变,生成气质儒雅的三国谋士,化身仙风道骨的剑仙。他身着月白色宽袖道袍,袍上有水墨山水的暗纹的Q版人物。'),
('幽冥夜行', '保持人物肖像不变,生成化身为神秘的暗影刺客。他身着哑光黑色的贴身夜行衣,戴着遮住半脸的面具的Q版人物。'),
('黄金铠甲', '保持人物肖像不变,生成身穿一套极其华丽、装饰着龙纹与珠宝的黄金铠甲,披着猩红色的丝绸斗篷的Q版人物。');步骤三:生成主题图片库
为每个角色生成不同主题下的图片。本例中为 2 个角色分别生成 4 个主题的图片,调用 qwen-image-2.0-pro 模型。
-- 创建生成图片的结果表
CREATE TABLE generated_images(
game_name TEXT,
style_name TEXT,
style_desc TEXT,
character1 TEXT,
character2 TEXT
);
-- 批量生成主题图片并存储结果
WITH person_prompt AS (
SELECT game_info.name AS game_name,
video_style.name AS style_name,
material_list[1] AS character1,
material_list[2] AS character2,
prompt
FROM game_info, video_style
WHERE game_info.name = '箭塔守汉中'
),
gen_image AS (
SELECT game_name, style_name, prompt AS style_desc,
ai_gen('qwen_image', json_build_object(
'prompt', prompt,
'reference_urls', array[character1],
'parameters', json_build_object(
'size', '1280*720',
'n', 1,
'watermark', false
),
'output_dir', 'oss://<BucketName>/images/'
)::text, to_file(character1, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')) AS obj1,
ai_gen('qwen_image', json_build_object(
'prompt', prompt,
'reference_urls', array[character2],
'parameters', json_build_object(
'size', '1280*720',
'n', 1,
'watermark', false
),
'output_dir', 'oss://<BucketName>/images/'
)::text, to_file(character2, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')) AS obj2
FROM person_prompt
),
image_urls AS (
SELECT game_name, style_name, style_desc,
obj1::json->'image_oss_paths' ->> 0 AS character1,
obj2::json->'image_oss_paths' ->> 0 AS character2
FROM gen_image
)
INSERT INTO generated_images SELECT * FROM image_urls;执行完成后,generated_images 表中将存储每个角色在各个主题下的生成图片 OSS 路径。

刘备 | 吕布 |
|
|
|
|
|
|
|
|
步骤四:生成分镜脚本
将主题图片作为视频物料,调用大语言模型生成广告分镜脚本。
-- 创建提示词模板表
CREATE TABLE prompts (
id BIGINT,
prompt TEXT
);
-- 插入分镜脚本生成的提示词模板
INSERT INTO prompts VALUES (10,
'你的任务是为手游行业生成一份用于投放广告的10秒视频素材文案。
<游戏名称>{0}</游戏名称>
<游戏介绍>{1}</游戏介绍>
<玩家动机>{2}</玩家动机>
<游戏画面风格>{3}</游戏画面风格>
<图片物料>{4} {5}</图片物料>
视频素材结构:
1. 开场2秒:选取一张图片,显示游戏名称,展示夸张特效。
2. 中段6秒:展示1个核心玩法,选取2张图片,描述角色动作和效果。
3. 结尾2秒:所有角色登场,使用行动号召。
要求:围绕玩家动机展开,脚本不超过10秒,使用图片全路径。');使用模板生成分镜脚本,调用 qwen3.5-plus 模型:
-- 生成分镜脚本
WITH game_material AS (
SELECT * FROM game_info
LEFT JOIN generated_images ON name = game_name
WHERE game_name = '箭塔守汉中' AND style_name = '云海剑仙'
),
tmp_prompt AS (
SELECT json_build_object(
'prompt', prompt,
'args', json_build_array(
name, intro, motivation, art_style,
to_file(character1, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>'),
to_file(character2, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')
)
) AS prompt, character1, character2
FROM game_material, prompts WHERE id = 10
),
story_script AS (
SELECT ai_gen('qwen3_5_plus', prompt::text,
to_file('oss://<BucketName>/images/placeholder.png',
'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')) AS script,
character1, character2
FROM tmp_prompt
)
SELECT script FROM story_script;分镜脚本示例:

步骤五:生成视频
生成分镜脚本后,将脚本和主题图片传入视频生成模型,生成广告视频。使用 wan2.6-r2v-flash 模型。
-- 生成广告视频(一次完成脚本生成 + 视频生成)
WITH game_material AS (
SELECT * FROM game_info
LEFT JOIN generated_images ON name = game_name
WHERE game_name = '箭塔守汉中' AND style_name = '云海剑仙'
),
tmp_prompt AS (
SELECT json_build_object(
'prompt', prompt,
'args', json_build_array(
name, intro, motivation, art_style,
to_file(character1, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>'),
to_file(character2, 'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')
)
) AS prompt, character1, character2
FROM game_material, prompts WHERE id = 10
),
story_script AS (
SELECT ai_gen('qwen3_5_plus', prompt::text,
to_file('oss://<BucketName>/images/placeholder.png',
'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')) AS script,
character1, character2
FROM tmp_prompt
)
SELECT character1, character2,
ai_gen('wan_26_r2v_flash', json_build_object(
'prompt', script,
'reference_urls', array[character1, character2],
'parameters', json_build_object(
'size', '1280*720',
'duration', 10,
'shot_type', 'multi',
'audio', true,
'watermark', true
),
'output_dir', 'oss://<BucketName>/videos/'
)::text,
to_file('oss://<BucketName>/images/placeholder.png',
'oss-cn-hangzhou-internal.aliyuncs.com',
'acs:ram::<AccountId>:role/<RoleName>')) AS video_result,
script
FROM story_script;执行完成后,返回结果中的 video_url 字段即为生成的广告视频地址,同时视频也会保存至指定的 OSS 目录中。
步骤六:生成视频效果预览
生成的视频:
北境枭雄
云海剑仙









