com.volcengine.model.imagex.v2.CreateImageTemplateBody Maven / Gradle / Ivy
Show all versions of volc-sdk-java Show documentation
package com.volcengine.model.imagex.v2;
import com.alibaba.fastjson.JSON;
import java.util.List;
/**
* CreateImageTemplateBody
*/
@lombok.Data
public final class CreateImageTemplateBody {
/**
* 模板名称,必须使用该服务的图片模板固定前缀。模板名称能包含的字符正则集合为[a-zA-Z0-9_-]。
*
* :::tip
*
* 您可以通过调用[获取单个服务信息](https://www.volcengine.com/docs/508/9358)接口的查看返回参数`TemplatePrefix`的值。
*
* :::
*/
@com.alibaba.fastjson.annotation.JSONField(name = "TemplateName")
private String templateName;
/**
* 是否为临时使用,取值如下所示:
*
* - `true`:是
*
* - `false`:否
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Temporary")
private Boolean temporary;
/**
* 仅当指定输出格式非动图时,配置有效。
*
* 保留 EXIF 信息配置。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Exif")
private CreateImageTemplateBodyExif exif;
/**
* 对结果图片执行的画质评估配置
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Evals")
private List evals;
/**
* 是否直接更新模板,取值如下所示:
*
* * `true`:已有的线上模板会同步更新,该操作直接生效;
*
* * `false`:新增一个模板,已有模板不受影响。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "DoUpdate")
private Boolean doUpdate;
/**
* 是否开启鉴权,取值如下所示:
*
* * `true`:开启鉴权。
*
* * `false`:(默认)关闭鉴权。
*
* :::tip
*
* 一般当通过模板参数下发敏感信息时,比如文字水印内容、URL 失效期,需要对图片 URL 鉴权保护,防止内容被篡改。
*
* :::
*/
@com.alibaba.fastjson.annotation.JSONField(name = "WithSig")
private Boolean withSig;
/**
* 图片模板使用的参数列表,URL 中下发参数的顺序需要跟列表中的保持一致。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Parameters")
private List parameters;
/**
* URL 的失效期,为 Unix 时间戳,一般配置为在 URL 中通过模板参数动态下发。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "ReqDeadline")
private String reqDeadline;
/**
* 对图片编码使用的质量参数,取值范围为 [1,100],默认为 75。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "OuputQuality")
private Integer ouputQuality;
/**
* 压缩质量模型,默认为空,表示使用绝对质量。取值 `relative` 时,表示使用相对质量,原图为 JPEG 有效。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "QualityMode")
private String qualityMode;
/**
* 是否对图片结果缓存,默认为空。取值如下所示:
*
* - `read_write`:对结果读写
*
* - `read_only`:对结果只读
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Persistence")
private String persistence;
/**
* 该模板计划使用的输出格式。
*
* * 取值为`image`,表示输出原格式。
*
* * 支持输出的静图格式:`png`、`jpeg`、`heic`、`avif`、`webp`、`vvic`。
*
* * 支持输出的动图格式:`awebp`、`heif`、`avis`。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "OutputFormat")
private String outputFormat;
/**
* 模板计划使用的降级格式,仅对 heic 静图有效。取值如下所示:
*
* - `webp`
*
* - `jpeg`
*/
@com.alibaba.fastjson.annotation.JSONField(name = "DemotionFormat")
private String demotionFormat;
/**
* 是否同步处理,仅对 heic 静图有效。取值如下所示:
*
* - `true`:是
*
* - `false`:否
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Sync")
private Boolean sync;
/**
* 对图片的编辑操作。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Filters")
private List filters;
/**
* 用于图片服务输出时的图片编码自定义参数,键值均为 string。
*
* * 取值`png.use_quant`表示是否开启 png quant 压缩,取值为`true`表示开启,取值为`false`表示关闭;
*
* * 取值`heic.sync`表示使用 heic 同步编码,取值为`true`表示同步;
*
* * 取值`heic.timeout`表示 heic 同步编码的超时时间,比如 20。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "OutputExtra")
private CreateImageTemplateBodyOutputExtra outputExtra;
/**
* 指定图像自适应配置。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "AdaptiveFmt")
private CreateImageTemplateBodyAdaptiveFmt adaptiveFmt;
/**
* 仅当指定输出格式为静图时,配置有效。
*
* 视频截帧配置。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Snapshot")
private CreateImageTemplateBodySnapshot snapshot;
/**
* 仅当指定输出格式为动图时,配置有效。
*
* 视频转动图配置。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "Animation")
private CreateImageTemplateBodyAnimation animation;
/**
* 仅当指定输出格式为静图时,配置有效。
*
* 动图截帧配置。
*/
@com.alibaba.fastjson.annotation.JSONField(name = "AnimExtract")
private CreateImageTemplateBodyAnimExtract animExtract;
@Override
public String toString() {
return JSON.toJSONString(this);
}
}