阅读本文,您可以获取 NodeJs SDK 文生图的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
接口的参数说明和错误码等信息可通过接口文档查看。
调用接口前,请先完成 NodeJs SDK 的安装及初始化操作。
本节为您介绍文生图相关接口的功能和调用示例。
您可以调用 GetCVTextGenerateImage 接口文生图。详细的参数说明可参见 GetCVTextGenerateImage 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetCVTextGenerateImageDemo() { try { const Client = new imagex.ImageXService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 指定存储结果图并计量计费的服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> ServiceId: "serviceid", // 服务下绑定的域名,域名状态需正常可用。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取绑定的域名信息。 </li> // <li> 您也可以通过 OpenAPI 的方式获取域名,具体请参考[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)。 </li> Domain: "test.example.com", // 服务下创建的图片处理模板名称,指定后,将按照模板中的处理配置对豆包大模型生成的图片进行图片处理。 // 您可在 veImageX 控制台的处理配置页面,参考[新建模板](https://www.volcengine.com/docs/508/8087)配置模板并获取模版名称,例如 tplv-f0****5k-test。 Template: "tplv-serviceid-test", // 是否覆盖服务下同名文件,取值如下所示: // <li> false:(默认)不覆盖 </li> // <li> true:覆盖 </li> // note: // 请确保您已开启[重名覆盖上传](https://www.volcengine.com/docs/508/1119912)功能,否则,此处配置无效。 Overwrite: true, // 在[文生图系列模型](#使用说明)中选择一个本次调用的智能生图模型,并并传入该模型对应接口的 Version 名称。 // 例如,使用[通用 2.0S-文生图异步](https://www.volcengine.com/docs/6791/1347773),则 ModelVersion 需要取值为 2022-08-31。 ModelVersion: "2022-08-31", // 在[文生图系列模型](#使用说明)中选择一个本次调用的智能生图模型,并并传入该模型对应接口的 Action 名称。 // 例如,使用[通用 2.0S-文生图异步](https://www.volcengine.com/docs/6791/1347773),则 ModelAction 需要取值为 CVSync2AsyncSubmitTask。 ModelAction: "CVProcess", // 指定输出图片的文件名,输入限制如下所示: // <li> 数组长度为 1,若指定多个文件名,仅第一个取值生效。 </li> // <li> 不支持空格。 </li> // <li> 不支持以/开头或结尾,不支持/连续出现,最大长度限制为 180 个字节。 </li> Outputs: ["AI/demo.png"], }; const res = await Client.GetCVTextGenerateImage(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 CreateCVImageGenerateTask 接口创建文生图异步任务。详细的参数说明可参见 CreateCVImageGenerateTask 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function CreateCVImageGenerateTaskDemo() { try { const Client = new imagex.ImageXService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 指定存储结果图并计量计费的服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> ServiceId: "serviceid", // 服务下绑定的域名,域名状态需正常可用。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取绑定的域名信息。 </li> // <li> 您也可以通过 OpenAPI 的方式获取域名,具体请参考[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)。 </li> Domain: "domain.test.com", // 服务下创建的图片处理模板名称,指定后,将按照模板中的处理配置对生成的原始图片进行图片处理。 // 您可在 veImageX 控制台的处理配置页面,参考[新建模板](https://www.volcengine.com/docs/508/8087)配置模板并获取模版名称,例如 tplv-f0****5k-test。 Template: "tplv-serviceid-test", // 是否覆盖服务下同名文件,取值如下所示: // <li> false:(默认)不覆盖 </li> // <li> true:覆盖 </li> // note: // 请确保您已开启[重名覆盖上传](https://www.volcengine.com/docs/508/1119912)功能,否则,此处配置无效。 Overwrite: true, // [文生图系列模型](#使用说明)的接口 Action 名称。 // 例如,使用[通用 2.0S-文生图异步](https://www.volcengine.com/docs/6791/1347773),则 ModelAction 需要取值为 CVSync2AsyncSubmitTask。 ModelAction: "CVSync2AsyncSubmitTask", // [文生图系列模型](#使用说明)的接口 Version 名称。 // 例如,使用[通用 2.0S-文生图异步](https://www.volcengine.com/docs/6791/1347773),则 ModelVersion 需要取值为 2022-08-31。 ModelVersion: "2022-08-31", }; const res = await Client.CreateCVImageGenerateTask(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 GetCVImageGenerateTask 接口查询文生图异步任务。详细的参数说明可参见 GetCVImageGenerateTask 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetCVImageGenerateTaskDemo() { try { const Client = new imagex.ImageXService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 指定要查询的服务 ID。 ServiceId: "serviceid", // 指定文生图异步任务的任务 ID。 TaskId: "7418048504813240370", // 创建文生图任务时,使用的[文生图系列模型](#使用说明)的接口 Action 名称。 // 例如,使用[查询通用 2.0L-文生图异步任务](https://www.volcengine.com/docs/6791/1359424#%E6%9F%A5%E8%AF%A2%E4%BB%BB%E5%8A%A1),则 ModelAction 需要取值为 CVSync2AsyncGetResult。 ModelAction: "CVSync2AsyncSubmitTask", // 创建文生图任务时,使用的[文生图系列模型](#使用说明)的接口 Version 名称。 // 例如,使用[查询通用 2.0L-文生图异步任务](https://www.volcengine.com/docs/6791/1359424#%E6%9F%A5%E8%AF%A2%E4%BB%BB%E5%8A%A1),则 ModelVersion 需要取值为 2022-08-31。 ModelVersion: "2022-08-31", }; const res = await Client.GetCVImageGenerateTask(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 GetCVImageGenerateResult 接口图生图。详细的参数说明可参见 GetCVImageGenerateResult 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetCVImageGenerateResultDemo() { try { const Client = new imagex.ImageXService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 指定存储结果图并计量计费的服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> ServiceId: "serviceid", // 服务下绑定的域名,域名状态需正常可用。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取绑定的域名信息。 </li> // <li> 您也可以通过 OpenAPI 的方式获取域名,具体请参考[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)。 </li> Domain: "test.example.com", // 服务下创建的图片处理模板名称,指定后,将按照模板中的处理配置对豆包大模型生成的图片进行图片处理。 // 您可在 veImageX 控制台的处理配置页面,参考[新建模板](https://www.volcengine.com/docs/508/8087)配置模板并获取模版名称,例如 tplv-f0****5k-test。 Template: "tplv-serviceid-test", // 指定输出图片的文件名,输入限制如下所示: // <li> 数组长度为 1,若指定多个文件名,仅第一个取值生效。 </li> // <li> 不支持空格。 </li> // <li> 不支持以/开头或结尾,不支持/连续出现,最大长度限制为 180 个字节。 </li> Outputs: ["AI/demo.png"], // 是否覆盖服务下同名文件,取值如下所示: // <li> true:覆盖 </li> // <li> false:(默认)不覆盖 </li> // note: // 请确保您已开启[重名覆盖上传](https://www.volcengine.com/docs/508/1119912)功能,否则,此处配置无效。 Overwrite: true, // [通用 XL pro-图生图](https://www.volcengine.com/docs/6791/1330203)模型接口的 Action 名称,即 Img2ImgXLSft。 ModelAction: "Img2ImgXLSft", // [通用 XL pro-图生图](https://www.volcengine.com/docs/6791/1330203)模型接口的 Version 名称,即 2022-08-31。 ModelVersion: "2022-08-31", // 基于该图片智能生图,支持传入该服务下的图片存储 URI 或公网访问 URL。图片输入限制如下所示: // 1. 图片格式:JPG(JPEG)、PNG、BMP 等常见格式,建议使用 JPG 格式。 // 2. 图片要求:图片体积小于 5MB,分辨率小于 4096*4096,宽高均尽可能在 1024 左右。宽高比例不建议过于极端,否则出图效果不佳,且延迟过长的概率也会显著增加。输出图片宽高与输入图一致。 // note: // 指定 ImageUrl 后,ReqJson 中指定的图片地址无效。 ImageUrl: "http://app1.cpm/example.jpg", }; const res = await Client.GetCVImageGenerateResult(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 GetCVAnimeGenerateImage 接口漫画版。详细的参数说明可参见 GetCVAnimeGenerateImage 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetCVAnimeGenerateImageDemo() { try { const Client = new imagex.ImageXService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 指定存储结果图并计量计费的服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> ServiceId: "serviceid", // 服务下绑定的域名,域名状态需正常可用。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取绑定的域名信息。 </li> // <li> 您也可以通过 OpenAPI 的方式获取域名,具体请参考[获取服务下全部域名](https://www.volcengine.com/docs/508/9379)。 </li> Domain: "test.example.com", // 服务下创建的图片处理模板名称,指定后,将按照模板中的处理配置对豆包大模型生成的图片进行图片处理。 // 您可在 veImageX 控制台的处理配置页面,参考[新建模板](https://www.volcengine.com/docs/508/8087)配置模板并获取模版名称,例如 tplv-f0****5k-test。 Template: "tplv-serviceid-test", // 指定输出图片的文件名,输入限制如下所示: // <li> 数组长度为 1,若指定多个文件名,仅第一个取值生效。 </li> // <li> 不支持空格。 </li> // <li> 不支持以/开头或结尾,不支持/连续出现,最大长度限制为 180 个字节。 </li> Outputs: ["AI/demo.png"], // 是否覆盖服务下同名文件,取值如下所示: // <li> false:(默认)不覆盖 </li> // <li> true:覆盖 </li> // note: // 请确保您已开启[重名覆盖上传](https://www.volcengine.com/docs/508/1119912)功能,否则,此处配置无效。 Overwrite: true, // [文生图系列模型](#使用说明)的接口 Action 名称。 // 例如,使用[动漫 1.3.X-文生图/图生图](https://www.volcengine.com/docs/6791/1213131),则 ModelAction 需要取值为 CVProcess。 ModelAction: "CVProcess", // [文生图系列模型](#使用说明)的接口 Version 名称。 // 例如,使用[动漫 1.3.X-文生图/图生图](https://www.volcengine.com/docs/6791/1213131),则 ModelVersion 需要取值为 2022-08-31。 ModelVersion: "2022-08-31", }; const res = await Client.GetCVAnimeGenerateImage(requestParam); console.log("res", res); } catch (err) { console.error(err); } }