视觉智能平台要上传多分图片,应该怎么处理?-[阿里云_云淘科技]

咨询一个问题,在视觉智能开放平台中的”通用视频生成”能力,上传素材文件不在同一地域OSS的情况下,如果要上传多分图片,应该怎么处理?

以下为热心网友提供的参考意见

可以参考通用视频生成的示例代码,是支持多个素材的上传的。
通用视频生成示例代码:https://help.aliyun.com/zh/viapi/use-cases/general-video-generated-1
视觉智能平台要上传多分图片,应该怎么处理?-[阿里云_云淘科技]

以下为热心网友提供的参考意见

可以参考官方文档,文件在本地或文件不在同一地域OSS

/*
引入依赖包

    
      com.aliyun
      videoenhan20200320
      ${aliyun.videoenhan.version}
    
*/

import com.aliyun.tea.TeaModel;
import com.aliyun.videoenhan20200320.models.GenerateVideoAdvanceRequest;
import com.aliyun.videoenhan20200320.models.GenerateVideoResponse;

import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class GenerateVideo {
    public static com.aliyun.videoenhan20200320.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        /*
          初始化配置对象com.aliyun.teaopenapi.models.Config
          Config对象存放AccessKeyId、AccessKeySecret、endpoint等配置
         */
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                .setAccessKeyId(accessKeyId)
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "videoenhan.cn-shanghai.aliyuncs.com";
        return new com.aliyun.videoenhan20200320.Client(config);
    }

    public static void main(String[] args) throws Exception {
        // 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html
        // 如果您使用的是RAM用户的AccessKey,还需要为子账号授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html
        // 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行代码示例前必须先配置环境变量。
        String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"); 
        com.aliyun.videoenhan20200320.Client client = GenerateVideo.createClient(accessKeyId, accessKeySecret);
        // 场景一,使用本地文件
        // InputStream inputStream = new FileInputStream(new File("/tmp/generateVideo.png"));
        // 场景二,使用任意可访问的url
        URL url = new URL("http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/GenerateVideo/1-video1.mp4");
        InputStream inputStream = url.openConnection().getInputStream();
        GenerateVideoAdvanceRequest.GenerateVideoAdvanceRequestFileList generateVideoAdvanceRequestFileList = new GenerateVideoAdvanceRequest.GenerateVideoAdvanceRequestFileList();
        generateVideoAdvanceRequestFileList.setFileName("video");
        generateVideoAdvanceRequestFileList.setType("video");
        generateVideoAdvanceRequestFileList.setFileUrlObject(inputStream);
        List generateVideoRequestFileLists = new ArrayList();
        generateVideoRequestFileLists.add(generateVideoAdvanceRequestFileList);
        GenerateVideoAdvanceRequest generateVideoAdvanceRequest = new GenerateVideoAdvanceRequest();
        generateVideoAdvanceRequest.setScene("general");
        generateVideoAdvanceRequest.setWidth(1000);
        generateVideoAdvanceRequest.setHeight(1000);
        generateVideoAdvanceRequest.setStyle("fast");
        generateVideoAdvanceRequest.setDuration((float) 10L);
        generateVideoAdvanceRequest.setDurationAdaption(true);
        generateVideoAdvanceRequest.setTransitionStyle("brush");
        generateVideoAdvanceRequest.setSmartEffect(true);
        generateVideoAdvanceRequest.setPuzzleEffect(true);
        generateVideoAdvanceRequest.setMute(true);
        generateVideoAdvanceRequest.setFileList(generateVideoRequestFileLists);
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            GenerateVideoResponse generateVideoResponse = client.generateVideoAdvance(generateVideoAdvanceRequest, runtime);
            // 获取整体结果
            System.out.println(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(generateVideoResponse)));
            // 获取单个字段
            System.out.println(generateVideoResponse.getBody());
        } catch (com.aliyun.tea.TeaException teaException) {
            // 获取整体报错信息
            System.out.println(com.aliyun.teautil.Common.toJSONString(teaException));
            // 获取单个字段
            System.out.println(teaException.getCode());
        }
    }
}

视觉智能平台要上传多分图片,应该怎么处理?-[阿里云_云淘科技]

——参考来源于阿里云文档。

以下为热心网友提供的参考意见

在视觉智能开放平台的”通用视频生成”能力中,如果您需要上传的素材文件不在同一地域的OSS上,可以考虑使用阿里云的对象存储服务(OSS)进行文件的传输。首先,您需要确保所有的素材文件都被正确地上传到各自的OSS存储空间中。然后,您可以在上传素材时指定对应的OSS存储空间地址和文件路径。这种方式不仅可以处理多地域的文件上传,也有利于管理和维护您的素材文件。

此外,对于图片的处理,如果客户直接上传的是视频素材,就可以直接进行视频人像卡通化处理。如果客户传入的是图片输出,可以先调用人物动漫化之后,再对动漫化后的图片进行通用视频生成。

以下为热心网友提供的参考意见

可以参考这个文件在本地或者非同一地域oss的传入调用示例
https://help.aliyun.com/zh/viapi/use-cases/general-video-generated-1
—该回答整理自钉群“阿里云视觉智能开放平台咨询1群”

以下为热心网友提供的参考意见

在视觉智能开放平台中,如果上传素材文件不在同一地域的OSS,要上传多张图片,可以按照以下步骤进行处理:
1.创建OSS对象:首先,确保你已经创建了OSS对象,并获得了访问密钥(Access Key ID和Access Key Secret)以及OSS的域名。
2.配置OSS客户端:使用你选择的编程语言(如Python、Java等),安装相应的OSS客户端库。根据所选语言和库的文档,配置OSS客户端,设置访问密钥和OSS域名。
3.上传图片到OSS:对于每一张要上传的图片,使用OSS客户端将其上传到OSS中。你可以选择将图片上传到同一个存储桶(Bucket)中,或者根据需要上传到不同的存储桶。
4.获取图片的URL:一旦图片上传成功,你可以使用OSS客户端获取图片的URL。这将返回一个包含图片URL的响应,你可以将其用于后续的处理或调用视觉智能开放平台的API。
5.调用视觉智能开放平台的API:在获取到所有图片的URL后,你可以将它们作为输入参数传递给视觉智能开放平台的”通用视频生成”能力。
需要注意的是,由于图片不在同一地域的OSS,传输和加载速度可能会受到网络延迟的影响。为了提高性能和效率,你可以考虑将图片预先上传到离你最近的OSS地域,然后再调用视觉智能开放平台的API进行视频生成。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/11415.html

(0)
匿名
上一篇 2023年12月18日
下一篇 2023年12月18日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。