当前位置: 首页 > news >正文

coze平台实现文生视频和图生视频(阿里云版)工作流

工作流全貌

在这里插入图片描述

开始

首先从入参开始:
在这里插入图片描述
api_key:来自阿里云百炼平台,自行去申请
在这里插入图片描述
prompt:生成视频的文本提示词。支持中英文,长度不超过800个字符,每个汉字/字母占一个字符,超过部分会自动截断。

first_frame_url:首帧图的url,采用首帧图生视频或者首尾帧图生视频时使用
last_frame_url:尾帧图的url,采用首尾帧图生视频时使用
resolution:分辨率,
当文生视频时默认值1280720。其中,1280代表宽度,720代表高度。wanx2.1-t2v-turbo: 支持 480P 和 720P 对应的所有分辨率。 wanx2.1-t2v-plus: 仅支持 720P 对应的所有分辨率。480P档位:不同视频宽高比对应的分辨率如下: 16:9:832480 9:16:480832 1:1:624624 720P档位:不同视频宽高比对应的分辨率如下: 16:9:1280720,默认值。 9:16:7201280 1:1:960960 3:4:8321088 4:3:1088*832
当图生视频时默认值为720P,当前仅支持720P。 模型会保持输出视频与输入图像的宽高比一致。在宽高比不变的基础上,resolution参数会将输出视频的分辨率调整到指定档位的总像素附近。 720P :视频分辨率通常指 1280×720(约 92万像素),视频宽高比为16:9。 示例:若输入图像的宽高比例为 4:3,且视频分辨率档位为720P ,则输出视频的宽高比会保持4:3,分辨率会调整为接近 92万像素。例如,输出视频的分辨率为 1024×960,总像素 98.3万(此数据仅做参考,以实际输出为准)。

判断

根据入参进行判断采用文生视频还是首帧图生视频,还是首尾帧图生视频
文生视频:当首帧图的url尾帧图的url都为空时
首帧图生视频:当首帧图的url不为空时并且尾帧图的url为空时
首尾帧图生视频:当首帧图的url尾帧图的url都不为空时
在这里插入图片描述

阿里云生成视频插件

在这里插入图片描述
在这里插入图片描述

聚合

将插件返回的任务id状态进行聚合
在这里插入图片描述

去除转义代码

因为返回的数据存在转移字符需要手动处理下


async function main({ params }: Args): Promise<Output> {const ret = {"id": params.id.replace(/(^")|("$)/g, '') , "status": params.status.replace(/(^")|("$)/g, '') };return ret;
}

在这里插入图片描述

检验任务生成状态

阿里云提供了生成任务的状态

PENDING:任务排队中RUNNING:任务处理中SUCCEEDED:任务执行成功FAILED:任务执行失败CANCELED:任务取消成功UNKNOWN:任务不存在或状态未知

当任务为:任务排队中 或者 任务处理中 或者 任务执行成功 这三个状态时执行轮询的下一步

在这里插入图片描述
其他状态则直接返回错误信息
在这里插入图片描述

轮询查询视频生成情况

在这里插入图片描述
输出视频生成url
在这里插入图片描述
循环体
调用 根据任务ID 查生成情况的插件
在这里插入图片描述
入参是: 阿里云百炼的API-Key 和 处理完转移字符输出的id
在这里插入图片描述
当生成完成后发现又进行转义了,下一步处理 生成状态的 转义字符

async function main({ params }: Args): Promise<Output> {// 构建输出对象const ret = {"status": params.status.replace(/(^")|("$)/g, '') };return ret;
}

在这里插入图片描述

校验生成状态(去除转义后的)
当 :
任务状态为 任务排队中 或者 任务处理中 时进行继续循环查询
任务状态为:任务执行成功 时终止循环

在这里插入图片描述
在这里插入图片描述
继续循环需要调用一个时间等待的插件,作用是间隔多少秒后再重复执行
这里给了50秒,原计划60秒的,但coze好像更新了,60秒等待会报错

在这里插入图片描述
在这里插入图片描述

获取视频url

轮询结束后获取视频链接,因为轮询会把每次的结果集都返回,(要么在轮询体中处理,要么就是返回后处理,这里是返回后处理的,拿的最后一条)

async function main({ params }: Args): Promise<Output> {var input = params.input || [""]const ret = {"video_url": input[input.length -1 ]};return ret;
}

在这里插入图片描述

结束

输出视频链接
在这里插入图片描述

相关文章:

  • C++标准流详解:cin/cout的绑定机制与cerr/clog的缓冲差异
  • Landsat 5介绍
  • [超级简单]讲解如何用PHP实现LINE Pay API!
  • ELF文件详解
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- GPT源代码解析
  • 笔试强训(十七)
  • JMeter同步定时器 模拟多用户并发访问场景
  • Google Earth Engine(GEE) 代码详解:批量计算_年 NDVI 并导出(附 Landsat 8 数据处理全流程)
  • Matlab基于SSA-MVMD麻雀算法优化多元变分模态分解
  • Python爬虫实战:研究JavaScript 环境补全逆向解密
  • 大模型MCP_MCP从流式SSE到流式HTTP_1.8.0支持流式HTTP交互_介绍_从应用到最优--人工智能工作笔记0245
  • 黑马Java跟学.最新AI+若依框架项目开发(一)
  • 手搓传染病模型(SEIARW)
  • AcroForm 格式化文本(域)字段
  • HttpSession 的运行原理
  • 2025-05-13 学习记录--Python-循环:while循环 + for循环 + 循环控制
  • Flannel vxlan模式的优缺点
  • 线性投影层---将输入特征从一个空间映射到另一个空间
  • 数据库数据清洗、预处理与质量监控、 数据质量的核心概念
  • AFFS2 的 `yaffs_ext_tags` 数据结构详解
  • 订婚不等于性同意!山西订婚强奸案入选最高法案例
  • 西班牙政府排除因国家电网遭攻击导致大停电的可能
  • 上海市重大工程一季度开局良好,崇明线等按既定计划加快建设
  • 赖清德为“临阵脱逃”作准备,国台办:绝不会任“台独”祸首逍遥法外
  • 美政府以拨款为要挟胁迫各州服从移民政策,20个州联合起诉
  • 共情场域与可持续发展——关于博物馆、美术馆运营的新思考