@acedatacloud/sdk 2026.910.0 → 2026.1005.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/index.d.mts +14 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +81 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +81 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/resources/kling.ts +38 -2
- package/src/resources/providers/flux.ts +58 -0
- package/src/resources/providers/seedance.ts +9 -3
- package/src/resources/providers/seedream.ts +1 -1
- package/src/resources/providers/suno.ts +33 -0
package/README.md
CHANGED
|
@@ -55,6 +55,31 @@ for await (const chunk of stream) {
|
|
|
55
55
|
| `client.files` | File uploads |
|
|
56
56
|
| `client.platform` | Applications, credentials, models management |
|
|
57
57
|
|
|
58
|
+
## Native Claude Messages
|
|
59
|
+
|
|
60
|
+
Thinking and output configuration are passed through without SDK model-specific
|
|
61
|
+
enum or combination checks. The selected model determines which values it accepts.
|
|
62
|
+
For the beta `display: 'updates'` mode, set the required header on a dedicated
|
|
63
|
+
client (client headers apply to every request):
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
const claude = new AceDataCloud({
|
|
67
|
+
apiToken: 'your-token',
|
|
68
|
+
headers: { 'anthropic-beta': 'thinking-display-updates-2026-08-18' },
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const response = await claude.chat.messages.create({
|
|
72
|
+
model: 'claude-sonnet-5-5',
|
|
73
|
+
messages: [{ role: 'user', content: 'Explain this code.' }],
|
|
74
|
+
thinking: { type: 'adaptive', display: 'updates' },
|
|
75
|
+
output_config: { effort: 'high' },
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Streaming and `claude.chat.messages.countTokens(...)` also preserve thinking
|
|
80
|
+
configuration. Parameter pass-through does not guarantee model support; API errors
|
|
81
|
+
are returned through the SDK's normal error handling.
|
|
82
|
+
|
|
58
83
|
## Image Generation (with Task Polling)
|
|
59
84
|
|
|
60
85
|
```typescript
|
package/dist/index.d.mts
CHANGED
|
@@ -619,7 +619,7 @@ declare class Veo {
|
|
|
619
619
|
|
|
620
620
|
/** Kling-specific video generation resources. */
|
|
621
621
|
|
|
622
|
-
declare const KLING_MODELS: readonly ["kling-v1", "kling-v1-6", "kling-v2-master", "kling-v2-1-master", "kling-v2-5-turbo", "kling-v2-6", "kling-v3", "kling-v3-omni", "kling-o1"];
|
|
622
|
+
declare const KLING_MODELS: readonly ["kling-v1", "kling-v1-6", "kling-v2-master", "kling-v2-1-master", "kling-v2-5-turbo", "kling-v2-6", "kling-v3", "kling-v3-turbo", "kling-v3-omni", "kling-o1"];
|
|
623
623
|
type KlingModel = (typeof KLING_MODELS)[number];
|
|
624
624
|
interface KlingCameraControl {
|
|
625
625
|
type: 'simple' | 'down_back' | 'forward_up' | 'left_turn_forward' | 'right_turn_forward';
|
|
@@ -660,6 +660,15 @@ interface KlingGenerateOptions {
|
|
|
660
660
|
videoList?: KlingReferenceVideo[];
|
|
661
661
|
negativePrompt?: string;
|
|
662
662
|
startImageUrl?: string;
|
|
663
|
+
multiShot?: boolean;
|
|
664
|
+
shotType?: 'intelligence' | 'customize';
|
|
665
|
+
multiPrompt?: Array<{
|
|
666
|
+
index: number;
|
|
667
|
+
prompt: string;
|
|
668
|
+
duration: number;
|
|
669
|
+
}>;
|
|
670
|
+
elementList?: Array<Record<string, unknown>>;
|
|
671
|
+
voiceList?: Array<Record<string, unknown>>;
|
|
663
672
|
}
|
|
664
673
|
declare class Kling {
|
|
665
674
|
private transport;
|
|
@@ -675,6 +684,10 @@ declare class Kling {
|
|
|
675
684
|
callbackUrl?: string;
|
|
676
685
|
async?: boolean;
|
|
677
686
|
}): Promise<Record<string, unknown>>;
|
|
687
|
+
lipSync(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
688
|
+
talkingPhoto(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
689
|
+
goodsStudio(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
690
|
+
videoCommerce(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
678
691
|
}
|
|
679
692
|
|
|
680
693
|
/** WebExtrator web render & extract resources. */
|
package/dist/index.d.ts
CHANGED
|
@@ -619,7 +619,7 @@ declare class Veo {
|
|
|
619
619
|
|
|
620
620
|
/** Kling-specific video generation resources. */
|
|
621
621
|
|
|
622
|
-
declare const KLING_MODELS: readonly ["kling-v1", "kling-v1-6", "kling-v2-master", "kling-v2-1-master", "kling-v2-5-turbo", "kling-v2-6", "kling-v3", "kling-v3-omni", "kling-o1"];
|
|
622
|
+
declare const KLING_MODELS: readonly ["kling-v1", "kling-v1-6", "kling-v2-master", "kling-v2-1-master", "kling-v2-5-turbo", "kling-v2-6", "kling-v3", "kling-v3-turbo", "kling-v3-omni", "kling-o1"];
|
|
623
623
|
type KlingModel = (typeof KLING_MODELS)[number];
|
|
624
624
|
interface KlingCameraControl {
|
|
625
625
|
type: 'simple' | 'down_back' | 'forward_up' | 'left_turn_forward' | 'right_turn_forward';
|
|
@@ -660,6 +660,15 @@ interface KlingGenerateOptions {
|
|
|
660
660
|
videoList?: KlingReferenceVideo[];
|
|
661
661
|
negativePrompt?: string;
|
|
662
662
|
startImageUrl?: string;
|
|
663
|
+
multiShot?: boolean;
|
|
664
|
+
shotType?: 'intelligence' | 'customize';
|
|
665
|
+
multiPrompt?: Array<{
|
|
666
|
+
index: number;
|
|
667
|
+
prompt: string;
|
|
668
|
+
duration: number;
|
|
669
|
+
}>;
|
|
670
|
+
elementList?: Array<Record<string, unknown>>;
|
|
671
|
+
voiceList?: Array<Record<string, unknown>>;
|
|
663
672
|
}
|
|
664
673
|
declare class Kling {
|
|
665
674
|
private transport;
|
|
@@ -675,6 +684,10 @@ declare class Kling {
|
|
|
675
684
|
callbackUrl?: string;
|
|
676
685
|
async?: boolean;
|
|
677
686
|
}): Promise<Record<string, unknown>>;
|
|
687
|
+
lipSync(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
688
|
+
talkingPhoto(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
689
|
+
goodsStudio(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
690
|
+
videoCommerce(request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
678
691
|
}
|
|
679
692
|
|
|
680
693
|
/** WebExtrator web render & extract resources. */
|
package/dist/index.js
CHANGED
|
@@ -1165,6 +1165,7 @@ var KLING_MODELS = [
|
|
|
1165
1165
|
"kling-v2-5-turbo",
|
|
1166
1166
|
"kling-v2-6",
|
|
1167
1167
|
"kling-v3",
|
|
1168
|
+
"kling-v3-turbo",
|
|
1168
1169
|
"kling-v3-omni",
|
|
1169
1170
|
"kling-o1"
|
|
1170
1171
|
];
|
|
@@ -1180,7 +1181,16 @@ function validateGenerateOptions(opts) {
|
|
|
1180
1181
|
if (!KLING_MODELS.includes(opts.model)) {
|
|
1181
1182
|
throw new Error(`model must be one of: ${KLING_MODELS.join(", ")}`);
|
|
1182
1183
|
}
|
|
1183
|
-
const
|
|
1184
|
+
const isTurbo = opts.model === "kling-v3-turbo";
|
|
1185
|
+
const isV3 = opts.model === "kling-v3" || opts.model === "kling-v3-omni" || isTurbo;
|
|
1186
|
+
if (isTurbo) {
|
|
1187
|
+
if (opts.mode !== void 0 && !["std", "pro"].includes(opts.mode) || opts.generateAudio === false) {
|
|
1188
|
+
throw new Error("Turbo supports std/pro with included audio");
|
|
1189
|
+
}
|
|
1190
|
+
if ([opts.endImageUrl, opts.cameraControl, opts.cfgScale, opts.negativePrompt, opts.imageList, opts.videoList, opts.elementList, opts.voiceList].some((value) => value !== void 0) || opts.multiShot || opts.multiPrompt) {
|
|
1191
|
+
throw new Error("Turbo does not support tail frames, camera controls, Omni references or storyboards");
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1184
1194
|
const hasReferences = Boolean(opts.imageList?.length || opts.videoList?.length);
|
|
1185
1195
|
if (opts.imageList !== void 0 && opts.imageList.length === 0) {
|
|
1186
1196
|
throw new Error("imageList must be non-empty or omitted");
|
|
@@ -1188,7 +1198,7 @@ function validateGenerateOptions(opts) {
|
|
|
1188
1198
|
if (opts.videoList !== void 0 && opts.videoList.length === 0) {
|
|
1189
1199
|
throw new Error("videoList must be non-empty or omitted");
|
|
1190
1200
|
}
|
|
1191
|
-
if ((opts.action === "text2video" || opts.action === "image2video") && !opts.prompt) {
|
|
1201
|
+
if ((opts.action === "text2video" || opts.action === "image2video") && !opts.prompt && !opts.multiPrompt?.length) {
|
|
1192
1202
|
throw new Error("prompt is required for text2video and image2video");
|
|
1193
1203
|
}
|
|
1194
1204
|
if (opts.action === "image2video" && !opts.startImageUrl) {
|
|
@@ -1320,6 +1330,11 @@ var Kling = class {
|
|
|
1320
1330
|
startImageUrl
|
|
1321
1331
|
} = opts;
|
|
1322
1332
|
const body = { action };
|
|
1333
|
+
if (opts.multiShot !== void 0) body.multi_shot = opts.multiShot;
|
|
1334
|
+
if (opts.shotType !== void 0) body.shot_type = opts.shotType;
|
|
1335
|
+
if (opts.multiPrompt !== void 0) body.multi_prompt = opts.multiPrompt;
|
|
1336
|
+
if (opts.elementList !== void 0) body.element_list = opts.elementList;
|
|
1337
|
+
if (opts.voiceList !== void 0) body.voice_list = opts.voiceList;
|
|
1323
1338
|
if (mode !== void 0) body.mode = mode;
|
|
1324
1339
|
if (model !== void 0) body.model = model;
|
|
1325
1340
|
if (prompt !== void 0) body.prompt = prompt;
|
|
@@ -1371,6 +1386,18 @@ var Kling = class {
|
|
|
1371
1386
|
if (opts.async !== void 0) body.async = opts.async;
|
|
1372
1387
|
return this.transport.request("POST", "/kling/motion", { json: body });
|
|
1373
1388
|
}
|
|
1389
|
+
async lipSync(request) {
|
|
1390
|
+
return this.transport.request("POST", "/kling/lip-sync", { json: request });
|
|
1391
|
+
}
|
|
1392
|
+
async talkingPhoto(request) {
|
|
1393
|
+
return this.transport.request("POST", "/kling/talking-photo", { json: request });
|
|
1394
|
+
}
|
|
1395
|
+
async goodsStudio(request) {
|
|
1396
|
+
return this.transport.request("POST", "/kling/goods-studio", { json: request });
|
|
1397
|
+
}
|
|
1398
|
+
async videoCommerce(request) {
|
|
1399
|
+
return this.transport.request("POST", "/kling/video-commerce", { json: request });
|
|
1400
|
+
}
|
|
1374
1401
|
};
|
|
1375
1402
|
|
|
1376
1403
|
// src/resources/webextrator.ts
|
|
@@ -1662,6 +1689,37 @@ var Flux = class {
|
|
|
1662
1689
|
}
|
|
1663
1690
|
return handle;
|
|
1664
1691
|
}
|
|
1692
|
+
/** Flux Generate Summary */
|
|
1693
|
+
async videos(options) {
|
|
1694
|
+
const body = {};
|
|
1695
|
+
body["mode"] = options.mode;
|
|
1696
|
+
body["action"] = options.action ?? "generate";
|
|
1697
|
+
if (options.prompt !== void 0) body["prompt"] = options.prompt;
|
|
1698
|
+
body["aspect_ratio"] = options.aspectRatio ?? "auto";
|
|
1699
|
+
if (options.duration !== void 0) body["duration"] = options.duration;
|
|
1700
|
+
body["resolution"] = options.resolution ?? "hd";
|
|
1701
|
+
body["version"] = options.version ?? "latest";
|
|
1702
|
+
if (options.generateAudio !== void 0) body["generate_audio"] = options.generateAudio;
|
|
1703
|
+
body["safety_tolerance"] = options.safetyTolerance ?? 2;
|
|
1704
|
+
if (options.draft !== void 0) body["draft"] = options.draft;
|
|
1705
|
+
body["model"] = options.model ?? "flux-3";
|
|
1706
|
+
if (options.keyframes !== void 0) body["keyframes"] = options.keyframes;
|
|
1707
|
+
if (options.startVideo !== void 0) body["start_video"] = options.startVideo;
|
|
1708
|
+
if (options.draftTaskId !== void 0) body["draft_task_id"] = options.draftTaskId;
|
|
1709
|
+
for (const [key, value] of Object.entries(options)) {
|
|
1710
|
+
if (!["action", "aspectRatio", "async", "callbackUrl", "draft", "draftTaskId", "duration", "generateAudio", "keyframes", "maxWait", "mode", "model", "pollInterval", "prompt", "resolution", "safetyTolerance", "startVideo", "version", "wait"].includes(key) && value !== void 0) {
|
|
1711
|
+
body[key] = value;
|
|
1712
|
+
}
|
|
1713
|
+
}
|
|
1714
|
+
if (options.callbackUrl !== void 0) body.callback_url = options.callbackUrl;
|
|
1715
|
+
body.async = options.async ?? true;
|
|
1716
|
+
const result = await this.transport.request("POST", "/flux/videos", { json: body });
|
|
1717
|
+
const handle = new TaskHandle(taskId4(result), "/flux/tasks", this.transport, result);
|
|
1718
|
+
if (options.wait) {
|
|
1719
|
+
await handle.wait({ pollInterval: options.pollInterval, maxWait: options.maxWait });
|
|
1720
|
+
}
|
|
1721
|
+
return handle;
|
|
1722
|
+
}
|
|
1665
1723
|
};
|
|
1666
1724
|
|
|
1667
1725
|
// src/resources/providers/hailuo.ts
|
|
@@ -2088,8 +2146,10 @@ var Seedance = class {
|
|
|
2088
2146
|
if (options.omniReferenceTaskType !== void 0) body["omni_reference_task_type"] = options.omniReferenceTaskType;
|
|
2089
2147
|
if (options.outputFormat !== void 0) body["output_format"] = options.outputFormat;
|
|
2090
2148
|
if (options.tools !== void 0) body["tools"] = options.tools;
|
|
2149
|
+
body["priority"] = options.priority ?? 0;
|
|
2150
|
+
if (options.safetyIdentifier !== void 0) body["safety_identifier"] = options.safetyIdentifier;
|
|
2091
2151
|
for (const [key, value] of Object.entries(options)) {
|
|
2092
|
-
if (!["async", "callbackUrl", "camerafixed", "content", "duration", "executionExpiresAfter", "frames", "generateAudio", "maxWait", "model", "omniReferenceTaskType", "outputFormat", "pollInterval", "ratio", "resolution", "returnLastFrame", "seed", "tools", "wait", "watermark"].includes(key) && value !== void 0) {
|
|
2152
|
+
if (!["async", "callbackUrl", "camerafixed", "content", "duration", "executionExpiresAfter", "frames", "generateAudio", "maxWait", "model", "omniReferenceTaskType", "outputFormat", "pollInterval", "priority", "ratio", "resolution", "returnLastFrame", "safetyIdentifier", "seed", "tools", "wait", "watermark"].includes(key) && value !== void 0) {
|
|
2093
2153
|
body[key] = value;
|
|
2094
2154
|
}
|
|
2095
2155
|
}
|
|
@@ -2368,6 +2428,24 @@ var Suno = class {
|
|
|
2368
2428
|
if (options.callbackUrl !== void 0) body.callback_url = options.callbackUrl;
|
|
2369
2429
|
return await this.transport.request("POST", "/suno/upload", { json: body });
|
|
2370
2430
|
}
|
|
2431
|
+
/** Suno Mp3 */
|
|
2432
|
+
async mp3(options) {
|
|
2433
|
+
const body = {};
|
|
2434
|
+
body["audio_id"] = options.audioId;
|
|
2435
|
+
for (const [key, value] of Object.entries(options)) {
|
|
2436
|
+
if (!["async", "audioId", "callbackUrl", "maxWait", "pollInterval", "wait"].includes(key) && value !== void 0) {
|
|
2437
|
+
body[key] = value;
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
if (options.callbackUrl !== void 0) body.callback_url = options.callbackUrl;
|
|
2441
|
+
body.async = options.async ?? true;
|
|
2442
|
+
const result = await this.transport.request("POST", "/suno/mp3", { json: body });
|
|
2443
|
+
const handle = new TaskHandle(taskId15(result), "/suno/tasks", this.transport, result);
|
|
2444
|
+
if (options.wait) {
|
|
2445
|
+
await handle.wait({ pollInterval: options.pollInterval, maxWait: options.maxWait });
|
|
2446
|
+
}
|
|
2447
|
+
return handle;
|
|
2448
|
+
}
|
|
2371
2449
|
};
|
|
2372
2450
|
|
|
2373
2451
|
// src/resources/providers/wan.ts
|