怎么把商品信息表(Excel)导入 AI,自动生成对应商品视频?

怎么把商品信息表(Excel)导入 AI,自动生成对应商品视频?
53 人浏览|1 人回答

可以。把商品信息表(Excel)导入 AI/自动化流程,直接生成对应商品视频,常见做法是把数据转成脚本再批量渲染。下面给你一个落地的可执行方案,含两种实现路径和示例代码骨架,方便你据此落地。

一、可选实现路径

- 路径A:全手段自动化(推荐性价比高、可控性强)

- 工具组合:Python + MoviePy(视频拼接与文本渲染)+ (可选) 云/本地 GPU 渲染用于加速

- 优点:完全自控、易扩展,能无缝接入图片、字幕、音乐、语音等元素

- 路径B:低代码/模板驱动渲染

- 通过现成的模板化渲染工具或服务(如 After Effects 的数据驱动模板、CapCut/Descript 等的模板化流程若提供自动化入口)

- 优点:上手快、对非开发人员友好;缺点是灵活性和批量扩展性略低

二、数据与模板设计要点

- Excel 表字段建议(示例)

- ProductID, ProductName, Price, ImagePath, Duration(秒)、Language、Subtitle、Description、Features、CTA

- 视频模板要点

- 画幅:9:16(竖屏,常见手机观看)、分辨率如 1080x1920

- 风格模板:背景色、字体、Logo、转场、音乐风格等固定

- 内容结构:镜头骨架如 Hook + 展示图片 + 文字卖点 + 价格/促销 + CTA

- 数据处理要点

- 图片资源路径要可访问(本地路径或云存储 URL)

- 价格、语言等字段格式化规则(千分位、货币符号、语言变体等)

三、路径A(Python + MoviePy)实现要点

1) 数据准备

- 将 Excel 导出为 Excel 文件或直接用 Pandas 读取

- 读取后把每一行转成一个字典,作为单条视频的输入

2) 基本工作流

- 逐行生成视频的脚本信息(标题、卖点、价格、描述、CTA)

- 使用 MoviePy 将以下元素组合成一个视频:

- 背景色/图片背景

- 商品图片(ImageClip)

- 文本覆盖(TextClip)作为标题、要点、价格等

- 可选:利用 TTS 生成语音旁白,加入 AudioClip

- 转场和简单动画(可用淡入淡出等简单效果)

- 导出单条视频(MP4)

3) 关键点与注意

- 画面尺寸与文本排版要一致,避免字体越界

- 大规模时要做好缓存与错误处理(比如缺少图片时的兜底

- 若需要多语言,数据层只放文本变量,模板层不改动结构

- 方便后续扩展:可把生成逻辑改成函数或类,便于批量调用

四、简易示例(Python + MoviePy,竖屏 1080x1920,单语言单版本)

注:以下代码为骨架示例,需按你们具体字段调整。

依赖

python 3.x

pip install pandas moviepy pillow

示例代码骨架

读取 Excel、逐条生成视频

import pandas as pd

from moviepy.editor import *

import os

1) 读取 Excel

df = pd.read_excel("products.xlsx") # 确保包含 ProductID, ProductName, Price, ImagePath, Duration

2) 处理每条记录并生成视频

output_dir = "output_videos"

os.makedirs(output_dir, exist_ok=True)

def make_video(row):

# 2.1 基本参数

duration = int(row.get('Duration', 15))

w, h = 1080, 1920 # 竖屏

bg_color = (255, 255, 255)

# 2.2 背景与素材

bg = ColorClip(size=(w, h), color=bg_color).set_duration(duration)

# 2.3 商品图片

img_path = row.get('ImagePath', '')

if not os.path.exists(img_path):

img_path = 'default_product.jpg' #兜底图片

img = ImageClip(img_path).resize(width=800).set_duration(duration).set_pos('center')

# 2.4 标题文本

title = str(row.get('ProductName', '商品名称'))

title_clip = TextClip(title, fontsize=60, color='black', font='Arial-Bold').set_duration(duration).set_pos(('center', 100))

# 2.5 价格文本

price = row.get('Price', '')

price_clip = TextClip(f"Price: {price}", fontsize=40, color='red').set_duration(duration).set_pos(('center', 260))

# 2.6 简短描述/卖点(可选)

desc = str(row.get('Subtitle', ''))

desc_clip = TextClip(desc, fontsize=32, color='white', bg_color='black').set_duration(duration).set_pos(('center', 320))

# 2.7 组合

final = CompositeVideoClip([bg, img, title_clip, price_clip, desc_clip]).set_duration(duration)

# 2.8 输出

pid = row.get('ProductID', 'unknown')

out_path = os.path.join(output_dir, f"{pid}.mp4")

final.write_videofile(out_path, fps=25, codec='libx264', audio=False)

for idx, row in df.iterrows():

make_video(row)

print("全部生成完成")

可选:加入语音旁白

使用 AWS Polly/GCP TTS/本地 TTS 将文本合成为音频,再通过 AudioClip 叠加到视频中

代码要点:生成音频文件后,用 AudioFileClip(音频路径) 与视频结合

五、路径B(低代码/模板驱动)简要思路

- 通过一个可导入数据的模板(如 After Effects 的数据驱动模板或 CapCut/Descript 的模板化流程),

- 将 Excel 转换为 JSON,字段对应模板中的文本占位符

- 使用模板的自动化入口批量渲染

- 优点:对非开发人员友好,快速落地;缺点是对大规模定制的灵活性相对较低

六、落地要点与最佳实践

- 数据质量:Excel 字段统一、图片可访问、价格格式规范

- 统一模板:确保所有视频风格一致,方便后续批量扩展

- 错误处理:缺图片、缺字段时的兜底逻辑

- 性能与规模:初期可用少量 SKU 做试点,验证流程与产出质量,再扩展到全量

- 版本与可维护性:把数据模板与渲染模板分离,便于版本控制与回滚

如果你愿意,我可以基于你们实际的 Excel 字段和你们的具体风格模板,给出一个“可直接运行”的完整脚本(包含 Excel 读取、数据校验、文本排版、图片叠层、可选语音旁白、输出路径等),并附上一个 small 规模的测试数据集和输出示例。你可以把你们的字段结构简单描述一下,或发一份样例表,我就给你定制一份可落地的实现方案和代码。