@oukek/ltsdk
v1.0.1
Published
灵图 (Lingtuipoddy) 开放平台 Node.js SDK。 支持 AIGC 生图、效果合成等全量接口。
Readme
LTSdk
灵图 (Lingtuipoddy) 开放平台 Node.js SDK。 支持 AIGC 生图、效果合成等全量接口。
安装
npm install @oukek/ltsdk快速开始
import { LTSdk } from '@oukek/ltsdk';
const client = new LTSdk({
appId: 'your-app-id',
secret: 'your-app-secret',
baseUrl: 'https://api.lingtuipoddy.com' // 请替换为实际 API 地址
});
async function main() {
try {
// 1. 提交任务:文生图
const jobId = await client.aigc.text2img({
prompt: '一只可爱的赛博朋克风格的猫',
style: 'anime',
num: 1
});
console.log('任务提交成功, JobId:', jobId);
// 2. 轮询结果
const result = await client.job.getResult(jobId);
console.log('任务状态:', result.status);
if (result.status === 'succeed') {
console.log('生成结果:', result.urls);
}
} catch (error) {
console.error('调用失败:', error);
}
}
main();API 文档
1. AIGC 服务 (client.aigc)
提供基础的 AI 生成和图像处理能力。
text2img(data: IText2ImgRequest): Promise<string>
文生图:根据文本描述词,生成图片,一次生成一张。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词,描述想要生成的图片内容 (最大长度 1000) | | style | string | 否 | 风格模型 ID,默认:common。可选值:common, pictureBook, illustration, anime, game, photo, 3D, eCommerce, logo | | ar | string | 否 | 画面比例,默认 1:1。可选值:"1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9" | | num | number | 否 | 生成图片数量,默认 1。可选值:1, 2, 4 | | requestId | string | 否 | 自定义请求 ID |
text2imgPro(data: IText2ImgProRequest): Promise<string>
文生图进阶版:生成更具艺术性的图片,一次生成 4 张。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词 (最大长度 200) | | ar | string | 否 | 画面比例,默认 1:1 | | requestId | string | 否 | 自定义请求 ID |
img2img(data: IImg2ImgRequest): Promise<string>
图生图:根据文本描述词和参考图,生成图片。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词 (最大长度 200) | | crefImages | string[] | 是 | 形象参考图片 URL 列表,最多 4 张 | | crefImageWeight | number | 否 | 形象参考图片权重,0-1,默认 0.5 | | style | string | 否 | 风格模型 ID,默认 common | | ar | string | 否 | 画面比例,默认 1:1 | | num | number | 否 | 生成图片数量,默认 1 | | requestId | string | 否 | 自定义请求 ID |
seamless(data: ISeamlessRequest): Promise<string>
无缝拼接图:生成可无缝拼接的图片。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词 (最大长度 200) | | style | string | 否 | 风格模型 ID,默认 common | | ar | string | 否 | 画面比例,仅支持 "1:1" | | num | number | 否 | 生成图片数量,默认 1 | | requestId | string | 否 | 自定义请求 ID |
transparent(data: ITransparentRequest): Promise<string>
免抠素材生成:生成透明背景的素材图片。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词 (最大长度 200) | | style | string | 否 | 风格模型 ID,默认 common | | ar | string | 否 | 画面比例,仅支持 "1:1" | | num | number | 否 | 生成图片数量,默认 1 | | requestId | string | 否 | 自定义请求 ID |
img2text(data: IImg2TextRequest): Promise<string>
图生文:根据图片提取提示词。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL | | requestId | string | 否 | 自定义请求 ID |
title(data: ITitleRequest): Promise<string>
商品图提取标题。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 商品图片 URL | | prompt | string | 否 | 自定义生成标题的规则说明 | | requestId | string | 否 | 自定义请求 ID |
matting(data: IMattingRequest): Promise<string>
智能抠图。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL | | type | number | 否 | 抠图类型,0: 普通(默认), 1: 扣头 | | formats | string[] | 否 | 结果文件格式,支持 ['png', 'psd'] | | requestId | string | 否 | 自定义请求 ID |
lineart(data: ILineArtRequest): Promise<string>
线稿提取。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL | | prompt | string | 否 | 画面微调提示词 | | requestId | string | 否 | 自定义请求 ID |
upscale(data: IUpscaleRequest): Promise<string>
无损放大:对图片进行无损放大或变清晰处理。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL (宽高不超过 2048) | | type | string | 否 | 任务类型,"0": 超分放大(默认), "1": 变清晰 | | multiple | number | 否 | 放大倍数或分辨率。type="0"时代表倍数(默认2);type="1"时代表分辨率(1:1K, 2:2K, 4:4K) | | denoise | boolean | 否 | 是否进行降噪处理,默认 false | | requestId | string | 否 | 自定义请求 ID |
remove(data: IRemoveRequest): Promise<string>
智能擦除。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 原图 URL | | mask | string | 是 | 蒙层 URL (擦除区域白色,其他黑色) | | requestId | string | 否 | 自定义请求 ID |
vector(data: IVectorRequest): Promise<string>
转矢量图 (SVG/EPS)。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL | | formats | string[] | 否 | 导出格式列表,默认 ['svg']。可选 ['svg', 'eps'] | | requestId | string | 否 | 自定义请求 ID |
reimage(data: IReimageRequest): Promise<string>
相似图裂变。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 原图 URL | | imageWeight | number | 是 | 图片权重 0-1 | | seamless | boolean | 否 | 结果是否无缝拼接,默认 false | | prompt | string | 否 | 画面微调提示词 | | ar | string | 否 | 画面比例 | | num | number | 否 | 生成数量 | | requestId | string | 否 | 自定义请求 ID |
reimagePro(data: IReimageProRequest): Promise<string>
相似图裂变进阶版。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 原图 URL | | similarity | number | 是 | 相似度 0-1 (仅 type="0" 有效) | | type | string | 否 | 生成模式,"0": 艺术设计(默认), "1": 文字强化 | | onlyPattern | boolean | 否 | 是否仅裂变图案,默认 false | | circle | boolean | 否 | 是否圆形图案,默认 false | | bgColor | number | 否 | 背景色,0: 不指定, 1: 黑, 2: 白 | | ar | string | 否 | 画面比例 | | num | number | 否 | 生成数量,默认 4 | | requestId | string | 否 | 自定义请求 ID |
seamlessPro(data: ISeamlessProRequest): Promise<string>
四方连续图。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | type | number | 是 | 类型:0:文生图, 1:相似裂变, 2:原图连续, 3:二方连续 | | image | string | 视情况 | 图片 URL (type 为 1,2,3 时必传) | | prompt | string | 视情况 | 提示词 (type 为 0 时必传) | | ar | string | 否 | 画面比例 (仅 type 3 有效) | | requestId | string | 否 | 自定义请求 ID |
expand(data: IExpandRequest): Promise<string>
扩图。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | type | number | 是 | 类型:1: 按原图倍数, 2: 按比例 | | image | string | 是 | 图片 URL | | scale | number | 否 | 扩图倍数 (type 1 时有效) | | ar | string | 否 | 画面比例 (type 2 时有效) | | requestId | string | 否 | 自定义请求 ID |
detect(data: IDetectRequest): Promise<string>
图案裁剪 (T-shirt 印花识别)。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | image | string | 是 | 图片 URL | | requestId | string | 否 | 自定义请求 ID |
styleTransfer(data: IStyleTransferRequest): Promise<string>
风格转绘。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | type | number | 是 | 类型:1: 宠物, 2: 肖像 | | style | string | 是 | 风格 ID | | image | string | 是 | 图片 URL | | returnMask | boolean | 否 | 是否返回遮罩图 | | requestId | string | 否 | 自定义请求 ID |
artWord(data: IArtWordRequest): Promise<string>
艺术字生成。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | prompt | string | 是 | 提示词 (英文效果更好) | | ar | string | 否 | 画面比例 | | num | number | 否 | 生成数量 | | requestId | string | 否 | 自定义请求 ID |
2. 效果合成服务 (client.synthesis)
changeBackground(data: IChangeBackgroundRequest): Promise<string>
商品图换背景。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | width | number | 是 | 结果图宽度 (400-1280) | | height | number | 是 | 结果图高度 (400-1280) | | goods | object | 是 | 商品信息 { url, x, y, width, height } | | background | object | 是 | 背景信息 { url, mask?, bgId? } | | productSmartColor | boolean | 否 | 智能调色,默认 true | | referenceStrong | boolean | 否 | 背景强参考,默认 true | | num | number | 否 | 生成数量 | | requestId | string | 否 | 自定义请求 ID |
modelSynthesis(data: IModelSynthesisRequest): Promise<string>
AI 模特。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | model | string | 是 | 模特服饰图 URL | | faceId | string | 是 | 模特脸 ID | | background | string | 否 | 背景图 URL | | num | number | 否 | 生成数量 | | requestId | string | 否 | 自定义请求 ID |
dressSynthesis(data: IDressSynthesisRequest): Promise<string>
AI 试衣。
| 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | model | string | 是 | 模特图 URL | | dresses | object[] | 是 | 服饰列表 [{ image, type }] (type: dresses/upperBody/lowerBody) | | num | number | 否 | 生成数量 | | requestId | string | 否 | 自定义请求 ID |
getBackgrounds(): Promise<IBackgroundListResponse>
获取背景列表。
- 返回:
{ bgs: [{ id, category, image }] }
getFaces(): Promise<IFaceListResponse>
获取模特脸列表。
- 返回:
{ faces: [{ id, gender, skin, age, preview }] }
3. 任务服务 (client.job)
getResult(jobId: string): Promise<IJobResult>
查询任务结果。
| 参数名 | 类型 | 说明 | | :--- | :--- | :--- | | jobId | string | 任务 ID |
返回值 (IJobResult):
status: 任务状态 ('waiting' | 'executing' | 'succeed' | 'failed' | 'canceled')urls: 结果图片链接列表text: 生成的文本结果 (如有)message: 错误信息 (失败时)
cancel(jobId: string, reason?: string): Promise<ICancelResponse>
取消任务 (仅 waiting 状态可取消)。
| 参数名 | 类型 | 说明 | | :--- | :--- | :--- | | jobId | string | 任务 ID | | reason | string | 取消原因 (可选) |
开发与贡献
# 安装依赖
npm install
# 编译
npm run build
# 测试
npm test