国内首个可调用API的视频模型,CogVideoX有多能打?

近期,智谱AI在其Maas开放平台(bigmodel.cn)发布了视频生成大模型CogVideoX,它提供了国内首个通过API来使用的文生视频和图生视频服务!
话不多说,我们直接来看一下通过CogVideoX生成的一部短片。

技术原理

CogVideoX融合了文本、时间、空间三维度,参考Sora算法设计,为DiT架构,相比前代CogVideo推理速度提升6倍,理论上6秒视频生成仅需30秒。

深入CogVideoX的原理,得从智谱多模态技术布局讲起。2021年,智谱在NeurIPS’21上发表了文生图大模型CogView,奠定多模态系列基础。2022年,智谱在CogView基础上提出并开源文生视频模型CogVideo,被多家巨头引用。

CogVideo基于CogView2,采用Diffusion Transformer模型架构(DiT),它通过引入噪声并训练神经网络来逆转噪声增加的过程,结合Transformer模型,实现图像或视频的生成与变换。这个过程涉及数据预处理、噪声引入、模型训练以及最终的图像或视频生成。

 😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

数据预处理:将输入的图像或视频数据转换为模型可以处理的格式,如将图像切分成固定大小的patches(小块),然后将这些patches转换为特征向量。

噪声引入:在数据预处理后的特征向量上逐步引入噪声,形成一个噪声增加的扩散过程。这个过程可以视为从原始数据到噪声数据的转换。

模型训练:使用引入了噪声的特征向量作为输入,训练Diffusion Transformer模型。模型的目标是学习如何逆转噪声增加的过程,即从噪声数据恢复出原始数据。

图像或视频生成:在模型训练完成后,可以通过输入噪声数据(或随机生成的噪声)到模型中,经过模型的处理后生成新的图像或视频。这个生成过程利用了模型学习到的从噪声到原始数据的映射关系。

而且智谱还在CogVideoX用户指令遵循方面下功夫,自研视频理解模型生成高质量视频文本对,有效提高模型指令遵循度。

CogVideo论文链接:

https://arxiv.org/abs/2205.15868

CogVideoX上手体验

目前,CogVideoX已经在大模型MaaS平台bigmodel.cn上正式发布,还是国内首个可通过API体验AI生成视频,用户完成注册后即可体验其强大的视频创作能力。

下面,我将通过Python SDK来引导大家如何调用CogVideoX。文档链接:https://open.bigmodel.cn/dev/howuse/cogvideox

首先,请确保你已安装或升级了智谱AI的SDK。如果尚未安装,可以通过pip install zhipuai进行安装;若已安装但非最新版本,则需使用

pip install --upgrade zhipuai

进行升级。

完成SDK安装后,你可以通过简单的几行代码引入智谱AI的客户端:

from zhipuai import ZhipuAI

接下来,我将展示如何使用CogVideo模型进行视频创作,主要的函数有两个:

  • generations:生成视频

  • retrieve_videos_result:查询结果

请参考以下文生视频的示例代码:


from zhipuai import ZhipuAI

# 初始化客户端并传入你的API密钥
client = ZhipuAI(你的API_KEY)

# 使用CogVideo模型生成视频
# prompt参数为描述视频内容的文本
response = client.videos.generations(model="cogvideox", 
prompt="有一个女孩在喝咖啡,阳光洒在她的脸上,她看起来心情很好")
print(response)

请注意,视频生成是一个耗时过程,因此该请求是异步的。你将收到的响应中仅包含任务ID,而非视频内容本身。你可以通过查询该任务ID来获取视频的生成状态及结果。

以下是查询视频生成状态的示例响应:

VideoObject(id='1010028834062354330651310', model='cogvideo', video_result=None, task_status='PROCESSING', request_id='8833470954813038693')

为了获取最终的视频内容,你需要编写代码轮询查询该任务状态,直至其变为COMPLETED。以下是一个轮询查询并打印结果的示例函数:


import time

def video_task():
    response = client.videos.generations(model="cogvideo", prompt="风景优美的河里,有一只船划过")
    print(response)
    task_status = response.task_status
    task_id = response.id
    get_cnt = 0
    
    while task_status == 'PROCESSING' and get_cnt <= 40:
        time.sleep(10)  # 每10秒查询一次
        result_response = client.videos.retrieve_videos_result(id=task_id)
        print(result_response)
        task_status = result_response.task_status
        get_cnt += 1

# 调用函数
video_task()

然后就可以生成这样一段视频了:

如果是图生视频,你还需提供底图的image_url,平台支持通过 URL 链接或 Base64 编码格式上传图片,但请确保图片大小不超过 5MB。

from zhipuai import ZhipuAI
client = ZhipuAI(你的API key) # 填写您⾃⼰的APIKey

response  = client.videos.generations(
    model="cogvideo",
    prompt=prompt,
    image_url=url,
)
print(response)

下面是一个返回的response示例:

id='8868902201637896192' request_id='654321' model='cogvideox' task_status='PROCESSING'

紧接着,我们将利用此返回的id(注意,此处使用的是id而非request_id)来查询生成的视频结果。请参考以下代码示例:

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请在此处填入您自己的API密钥
response = client.videos.retrieve_videos_result(
    id="8868902201637896192"
)
print(response)

当您执行上述代码后,您将接收到类似以下结构的response示例:


{
    "model": "cogvideox",
    "request_id": "8868902201637896192",
    "task_status": "SUCCESS",
    "video_result": [
        {
            "cover_image_url": "https://sfile.chatglm.cn/testpath/video_cover/4d3c5aad-8c94-5549-93b7-97af6bd353c6_cover_0.png",
            "url": "https://sfile.chatglm.cn/testpath/video/4d3c5aad-8c94-5549-93b7-97af6bd353c6_0.mp4"
        }
    ]
}

如此,你便能优雅地获取到生成的视频及其封面图的链接信息。

提示词技巧

其实,无论是AI对话、AI绘画,还是在此所提及的AI视频生成,提示词的撰写皆遵循一个核心要旨:

那便是——结构化!它可以让纷繁的思绪变得井然有序,更在于它能引领你的创意之旅步入清晰之境。

谈及AI视频生成,其提示词结构的构建可繁可简:

简约结构:人物+场景,再辅以[细致描绘],便足以勾勒出生动的画面。

一群小孩子在街道玩耍,很开心。

繁复架构:(镜头语⾔ + 光影) + 主体 (主体描述) + 主体运动 +[场景的生动再现(含场景细致描绘)]以及[情绪的渲染/氛围的营造/风格的彰显],共同编织出一幅幅引人入胜的视觉盛宴。

从高处俯瞰,清晨的第一缕阳光穿透薄雾,照亮了宁静的小镇。一群穿着色彩鲜艳衣裳的孩子在街道上追逐嬉戏,脸上洋溢着纯真的笑容。街道两旁古朴的建筑和盛开的花朵交相辉映,远处是连绵的山峦和袅袅升起的炊烟。整个画面洋溢着温馨与活力,让人不由自主地沉醉在这份宁静与美好之中。

体验链接

开发者API访问链接:

https://open.bigmodel.cn/dev/howuse/cogvideox

赶紧去试试吧,用cogvideox扩展你的想象空间!

 👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

 👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓


文章知识点与官方知识档案匹配,可进一步学习相关知识

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值