尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AIGC内容创作全流程:SenseVoice-Small语音输入+AI文本生成+视频合成

AIGC内容创作全流程:SenseVoice-Small语音输入+AI文本生成+视频合成 AIGC内容创作全流程SenseVoice-Small语音输入AI文本生成视频合成1. 引言从灵感到成片一条语音搞定你有没有过这样的经历脑子里突然冒出一个绝妙的视频创意或者需要快速制作一条产品介绍短片但一想到要写文案、录音、剪辑……瞬间就觉得头大热情也被繁琐的流程浇灭了大半。传统的视频内容创作就像一条分工明确的流水线你得先写好文字脚本然后要么自己录音要么找配音员接着还得找素材、做剪辑、加特效。每一步都费时费力对个人创作者或小团队来说成本实在不低。但现在情况不一样了。借助星图GPU平台上的一系列AI模型我们可以把这条复杂的流水线压缩成一个极其简单的动作开口说话。想象一下你对着手机说出你的想法几分钟后一条配有精美画面和专业旁白的短视频就自动生成了。这不再是科幻电影里的场景而是我们今天要一起搭建的、实实在在的AIGC工作流。这个工作流的核心思路非常清晰语音输入用你的声音代替键盘快速输入原始创意。这里我们会用到SenseVoice-Small语音识别模型它能准确地把你的话转成文字。文本加工转写出来的文字可能比较口语化、零散。没关系交给大语言模型让它帮你润色、扩写整理成一段富有感染力、适合做视频旁白的文案。视频合成最后将这段打磨好的文案喂给文生视频模型。模型会根据文字描述自动生成匹配的动态画面直接输出成片。整个过程你只需要提供最初的灵感和想法剩下的“体力活”全部交给AI串联完成。接下来我就带你一步步实现这个高效的内容创作“魔法”。2. 工作流全景与核心价值在动手之前我们先从高处俯瞰一下整个流程看看它到底能为我们解决什么问题。2.1 工作流全景图整个流程可以清晰地分为三个阶段就像三个配合默契的“数字员工”[你的灵感] --语音输入-- [SenseVoice-Small] --转写文本-- [大语言模型] --润色文案-- [文生视频模型] --生成-- [最终短视频]第一阶段语音转写SenseVoice-Small。这是流程的起点负责“听懂”你。SenseVoice-Small是一个轻量但高效的语音识别模型特别适合实时或近实时的转写任务。你不需要准备专业的录音设备用手机或电脑麦克风即可。第二阶段文本润色大语言模型。这是流程的“大脑”负责“优化”内容。转写出的文字是原材料大语言模型比如常见的Chat类模型则扮演了文案编辑的角色。它可以帮你纠正口误、梳理逻辑、丰富词汇甚至根据要求改变文体风格比如改成激昂的宣传口吻或温暖的叙述风格。第三阶段视频生成文生视频模型。这是流程的“艺术家”负责“可视化”创意。它接收加工后的文案理解其中的场景、人物、动作和情绪然后生成相应的动态视频片段。目前许多模型已经能生成数秒到十余秒、画质相当不错的视频。2.2 解决了哪些实际问题这套组合拳打下来价值体现在好几个方面效率倍增释放创意最大的好处就是“快”。从想法到视频初稿时间可以从小时级缩短到分钟级。你把最耗时的执行环节交给了AI自己则可以更专注于构思创意和把控整体方向。降低门槛人人可创你不需要是专业的编剧、配音员或视频剪辑师。只要你会说话有想法就能启动创作。这对于知识分享者、自媒体博主、小微企业主来说是一个强大的赋能工具。风格统一批量生产一旦工作流跑通你可以快速制作一系列风格统一的视频内容。比如为每个产品特点生成一条介绍短片或者将一篇长文章拆解成多个短视频片段。成本优化灵活试错传统视频制作涉及人力、设备、素材版权等多重成本。而AI工作流的主要成本是可量化的计算资源非常适合进行低成本的内容测试和快速迭代。简单说这套方案就是把你的“想法”作为唯一输入通过三层AI处理直接输出“成品”。下面我们就进入具体的实现环节。3. 第一步用声音“写”文案——SenseVoice-Small语音转写万事开头难但在这里开头最简单——你只需要说话。3.1 准备工作与环境搭建首先我们需要让SenseVoice-Small模型运行起来。在星图GPU平台上这通常意味着获取一个预置了该模型的镜像。假设你已经找到了合适的SenseVoice-Small镜像并成功启动。启动后你会获得一个API服务地址比如http://your-server-ip:8000。我们的所有操作都将通过向这个地址发送请求来完成。为了方便演示我们使用Python和requests库。确保你的环境里已经安装好了。pip install requests3.2 录制或准备音频文件SenseVoice-Small支持常见的音频格式如WAV、MP3等。为了获得更好的识别效果建议格式优先使用单声道、16kHz采样率的WAV文件这是很多语音模型的“标准餐”。环境尽量在安静的环境下录音减少背景噪音。内容清晰、匀速地口述你的视频文案初稿。例如你可以说“大家好今天给大家介绍一款新型的便携式咖啡机。它最大的特点是体积小巧但萃取压力充足能在家轻松做出油脂丰富的意式浓缩咖啡。”你可以用手机录音软件录制然后传到电脑上或者直接用Python的库进行录制。这里我们假设你已经有了一个my_idea.wav文件。3.3 调用API进行语音转写调用过程非常简单主要就是发送一个包含音频文件的POST请求。import requests # 你的SenseVoice-Small服务地址 API_URL http://your-server-ip:8000/v1/audio/transcriptions # 注意实际端点路径请以镜像文档为准 # 音频文件路径 audio_file_path my_idea.wav # 打开音频文件 with open(audio_file_path, rb) as f: files {file: (audio_file_path, f, audio/wav)} # 通常还需要一些参数例如指定模型和响应格式 data { model: sensevoice-small, # 指定模型 response_format: json # 请求返回JSON格式 } # 发送请求 response requests.post(API_URL, filesfiles, datadata) # 检查响应 if response.status_code 200: result response.json() original_text result.get(text, ) # 获取识别出的文本 print(识别结果, original_text) else: print(请求失败状态码, response.status_code) print(错误信息, response.text)运行这段代码如果一切顺利你就会在控制台看到识别出的文字。它可能类似于“大家好今天给大家介绍一款新型的便携式咖啡机它最大的特点是体积小巧但萃取压力充足能在家轻松做出油脂丰富的意式浓缩咖啡”你会发现转写文本是连贯的没有标点。这很正常也是我们下一环节需要大语言模型帮忙处理的地方之一。第一步至此完成你的声音已经变成了可编辑的文字原料。4. 第二步让文案更出色——大语言模型润色与扩写拿到原始转写文本后它可能有点“糙”没有标点、有些口语化重复、结构松散。现在我们请出“AI编辑”——大语言模型来打磨它。4.1 设计提示词Prompt与大语言模型沟通的关键在于提示词。我们的目标是将一段口语化的文字改写成适合作为视频旁白的、有吸引力的文案。我们需要在提示词中明确以下几点原始文本提供SenseVoice-Small转写出来的文字。任务指令明确告诉模型要做什么润色、扩写、加标点。风格要求指定输出文案的风格如简洁有力、生动有趣、专业稳重。格式要求例如是否需要分段落是否要加入视频画面提示等。这里假设我们使用星图平台上常见的Chat模型API。# 假设这是上一步得到的原始文本 raw_text “大家好今天给大家介绍一款新型的便携式咖啡机它最大的特点是体积小巧但萃取压力充足能在家轻松做出油脂丰富的意式浓缩咖啡” # 构建一个清晰的提示词 prompt_for_llm f 你是一位专业的视频文案编辑。请将以下用户口述的原始文本润色并扩写为一篇适合用作60秒短视频旁白的文案。 要求 1. 补充完整的标点符号使其易于阅读。 2. 语言精炼、有感染力能吸引观众注意力。 3. 可以适当扩充细节让描述更生动但核心信息不变。 4. 文案整体节奏适合口语播报并考虑与视频画面的配合。 原始文本 {raw_text} 请直接输出润色后的完整文案 4.2 调用大语言模型API接下来我们将这个精心设计的提示词发送给大语言模型。import requests import json # 你的大语言模型服务地址 (例如使用星图平台上的某个Chat模型镜像) LLM_API_URL http://your-llm-server-ip:8080/v1/chat/completions # 请替换为实际地址 API_KEY your-api-key-here # 如果需要认证 # 构建请求数据 headers { Content-Type: application/json, Authorization: fBearer {API_KEY} # 如果需要 } data { model: your-model-name, # 指定模型名称 messages: [ {role: user, content: prompt_for_llm} ], temperature: 0.7, # 控制创造性0.7左右比较平衡 max_tokens: 500 # 限制生成文本的最大长度 } response requests.post(LLM_API_URL, headersheaders, datajson.dumps(data)) if response.status_code 200: result response.json() # 提取模型返回的文案内容 polished_script result[choices][0][message][content] print(润色后的视频文案\n) print(polished_script) else: print(LLM请求失败, response.status_code, response.text)4.3 处理与优化输出模型可能会返回类似这样的文案“你是否也向往着在清晨的阳光下用一台小巧的机器瞬间唤醒一杯专业级的意式浓缩今天就带你认识这款颠覆传统的便携式咖啡机。它摒弃了笨重的外形将咖啡馆级别的萃取系统浓缩进仅如笔记本大小的机身里。别看它体积小巧却能稳定输出足够的压力充分萃取咖啡粉的精华瞬间涌出那层金黄丰盈的油脂Crema。从此无论是忙碌的办公桌旁还是惬意的旅途之中你都能轻松享受一杯醇厚香浓、油脂饱满的意式咖啡。生活里的专业仪式感就这么简单。”你看模型不仅加上了标点调整了语序还补充了“清晨的阳光”、“咖啡馆级别”、“金黄丰盈的油脂”等生动细节并赋予了文案一个吸引人的开头和结尾。这远比原始口述文本更适合作为视频旁白。你可以根据视频的调性反复调整提示词中的“风格要求”让模型生成不同感觉的文案比如更活泼的、更科技的、更温馨的直到你满意为止。至此你的文案已经准备就绪。5. 第三步让文字“动”起来——文生视频模型合成有了精彩的文案最后一步就是将它转化为视觉画面。我们使用文生视频模型来完成这“临门一脚”。5.1 准备视频生成提示词文生视频模型同样需要提示词Prompt来驱动。但这里的提示词与给大语言模型的有所不同它需要更侧重于视觉元素的描述。我们需要从润色后的文案中提取或总结出关键的视觉场景。通常一个60秒的视频可能需要2-4个核心场景。我们可以手动提炼也可以让大语言模型辅助我们。例如基于上面的咖啡机文案我们可以提炼出这样几个视觉提示词场景一引入“清晨的阳光透过窗户照在整洁的厨房台面上一个年轻人充满期待地看着一台小巧的咖啡机。”场景二特写“便携式咖啡机特写金属机身质感高级小巧精致旁边放着一台厚重的传统意式咖啡机作为对比。”场景三过程“咖啡机正在工作镜头特写显示压力表数值稳定深褐色的咖啡液缓缓流出表面泛起一层浓厚金黄的油脂Crema。”场景四享用“主人公在办公室窗边或户外露营椅上惬意地品尝着刚做好的咖啡杯子上方热气袅袅表情满足。”5.2 调用文生视频模型API假设我们使用星图平台上一个支持文生视频的模型服务例如 Stable Video Diffusion 或其他类似模型。调用方式通常是异步的提交生成任务然后轮询获取结果。import requests import json import time # 文生视频模型服务地址 VIDEO_API_URL http://your-video-server-ip:7860 # 请替换为实际地址和端口 TASK_ENDPOINT f{VIDEO_API_URL}/api/v1/video/generation # 假设的任务提交端点 QUERY_ENDPOINT f{VIDEO_API_URL}/api/v1/task/query # 假设的任务查询端点 # 准备生成参数 video_prompt “清晨的阳光透过窗户照在整洁的厨房台面上一个年轻人充满期待地看着一台小巧精致的便携式咖啡机旁边放着一台大型传统咖啡机作为对比。电影感写实风格细节丰富。” # 以第一个场景为例 generation_data { prompt: video_prompt, negative_prompt: 模糊失真丑陋多只手多只脚畸形, # 负面提示告诉模型避免什么 steps: 25, # 生成步数 width: 1024, # 视频宽度 height: 576, # 视频高度 fps: 24, # 帧率 duration: 5, # 视频时长秒 seed: -1, # 随机种子-1表示随机 } # 1. 提交生成任务 submit_response requests.post(TASK_ENDPOINT, jsongeneration_data) if submit_response.status_code ! 200: print(提交视频生成任务失败, submit_response.text) exit() task_id submit_response.json().get(task_id) print(f视频生成任务已提交任务ID: {task_id}) # 2. 轮询查询任务状态 video_url None for i in range(60): # 最多轮询60次每次间隔5秒 time.sleep(5) query_data {task_id: task_id} query_response requests.post(QUERY_ENDPOINT, jsonquery_data) if query_response.status_code 200: status_info query_response.json() status status_info.get(status) if status SUCCESS: video_url status_info.get(video_url) # 假设返回视频文件URL print(视频生成成功) print(f视频下载地址{video_url}) break elif status FAILED: print(视频生成失败, status_info.get(message, 未知错误)) break else: print(f任务处理中... ({status})已等待 {5*(i1)} 秒) else: print(查询任务状态失败, query_response.status_code) if not video_url: print(视频生成超时或未完成。)5.3 视频后期与串联对于每个场景重复上述步骤生成多个短视频片段。得到所有片段后你可以使用简单的视频编辑工具如FFmpeg命令行工具或开源的Shotcut、DaVinci Resolve等将它们按顺序拼接起来。同时将第二步中得到的最终旁白文案录制为音频可以使用TTS语音合成服务这又是另一个可以接入的AI环节或者自己录制与拼接好的视频画面进行对齐合成加上背景音乐和简单的字幕一条完整的短视频就诞生了。至此从一段语音到一条视频的完整AIGC创作流程就走通了。你可以看到每个环节的代码调用都不复杂核心在于理解流程并将合适的提示词传递给对应的模型。6. 总结走完这一整套流程感觉如何我们并没有编写复杂的算法只是巧妙地充当了“调度员”和“创意总监”的角色将三个各有所长的AI模型串联起来让它们协同工作。SenseVoice-Small负责“倾听”将你即兴的、碎片化的语音灵感转化为文本大语言模型负责“构思”把粗糙的文本打磨成结构完整、语言优美的剧本文生视频模型则负责“绘制”将文字剧本转化为生动的动态画面。这个流程的魅力在于它的灵活性和可扩展性。你可以随时替换其中任何一个环节的模型比如换一个识别方言更准的语音模型或者换一个生成动画风格更强的视频模型。在实际操作中你可能会遇到一些小挑战比如视频生成时间较长、某个场景的效果不理想等。这时可以回到对应的环节进行微调优化语音转写的音频质量、精心修改给大语言模型或文生视频模型的提示词。提示词的质量直接决定了最终输出的质量。对于想要尝试的朋友我的建议是先从一个小而具体的创意开始比如介绍你手边的一本书、一个杯子。跑通整个流程感受每个环节的输入输出。然后再逐步尝试更复杂的主题。这个工作流最大的价值就是它能将内容创作的启动成本降到最低让你能快速验证想法把更多精力放在创意本身而不是繁琐的制作上。希望这个案例能为你打开一扇门看到AIGC在内容创作领域带来的实实在在的效率革命。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
返回列表