@cartesia/cartesia-js 3.0.0-b10 → 3.0.0-b12
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/CHANGELOG.md +17 -0
- package/backcompat/errors.d.mts +1 -1
- package/backcompat/errors.d.mts.map +1 -1
- package/backcompat/errors.d.ts +1 -1
- package/backcompat/errors.d.ts.map +1 -1
- package/backcompat/errors.js +1 -1
- package/backcompat/errors.js.map +1 -1
- package/backcompat/errors.mjs +1 -1
- package/backcompat/errors.mjs.map +1 -1
- package/backcompat/index.d.mts.map +1 -1
- package/backcompat/index.d.ts.map +1 -1
- package/backcompat/index.js +5 -5
- package/backcompat/index.js.map +1 -1
- package/backcompat/index.mjs +5 -5
- package/backcompat/index.mjs.map +1 -1
- package/backcompat/tts-wrapper.d.mts +33 -10
- package/backcompat/tts-wrapper.d.mts.map +1 -1
- package/backcompat/tts-wrapper.d.ts +33 -10
- package/backcompat/tts-wrapper.d.ts.map +1 -1
- package/backcompat/tts-wrapper.js +83 -26
- package/backcompat/tts-wrapper.js.map +1 -1
- package/backcompat/tts-wrapper.mjs +85 -28
- package/backcompat/tts-wrapper.mjs.map +1 -1
- package/backcompat/types.d.mts +1 -1
- package/backcompat/types.d.mts.map +1 -1
- package/backcompat/types.d.ts +1 -1
- package/backcompat/types.d.ts.map +1 -1
- package/backcompat/voice-changer-wrapper.d.mts +4 -4
- package/backcompat/voice-changer-wrapper.d.mts.map +1 -1
- package/backcompat/voice-changer-wrapper.d.ts +4 -4
- package/backcompat/voice-changer-wrapper.d.ts.map +1 -1
- package/backcompat/voice-changer-wrapper.js +6 -6
- package/backcompat/voice-changer-wrapper.js.map +1 -1
- package/backcompat/voice-changer-wrapper.mjs +7 -7
- package/backcompat/voice-changer-wrapper.mjs.map +1 -1
- package/backcompat/voices-wrapper.d.mts +18 -5
- package/backcompat/voices-wrapper.d.mts.map +1 -1
- package/backcompat/voices-wrapper.d.ts +18 -5
- package/backcompat/voices-wrapper.d.ts.map +1 -1
- package/backcompat/voices-wrapper.js +63 -0
- package/backcompat/voices-wrapper.js.map +1 -1
- package/backcompat/voices-wrapper.mjs +63 -0
- package/backcompat/voices-wrapper.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/agents/agents.d.mts +4 -4
- package/resources/agents/agents.d.mts.map +1 -1
- package/resources/agents/agents.d.ts +4 -4
- package/resources/agents/agents.d.ts.map +1 -1
- package/resources/agents/agents.js +9 -9
- package/resources/agents/agents.js.map +1 -1
- package/resources/agents/agents.mjs +9 -9
- package/resources/agents/agents.mjs.map +1 -1
- package/resources/datasets/datasets.d.mts +3 -3
- package/resources/datasets/datasets.d.mts.map +1 -1
- package/resources/datasets/datasets.d.ts +3 -3
- package/resources/datasets/datasets.d.ts.map +1 -1
- package/resources/datasets/datasets.js +1 -1
- package/resources/datasets/datasets.mjs +1 -1
- package/resources/datasets/files.d.mts +3 -3
- package/resources/datasets/files.d.ts +3 -3
- package/resources/datasets/files.js +1 -1
- package/resources/datasets/files.mjs +1 -1
- package/resources/datasets/index.d.mts +1 -1
- package/resources/datasets/index.d.ts +1 -1
- package/resources/pronunciation-dicts.d.mts +1 -1
- package/resources/pronunciation-dicts.d.ts +1 -1
- package/resources/pronunciation-dicts.js +1 -1
- package/resources/pronunciation-dicts.mjs +1 -1
- package/resources/voice-changer.d.mts +1 -1
- package/resources/voice-changer.d.mts.map +1 -1
- package/resources/voice-changer.d.ts +1 -1
- package/resources/voice-changer.d.ts.map +1 -1
- package/resources/voice-changer.js +1 -6
- package/resources/voice-changer.js.map +1 -1
- package/resources/voice-changer.mjs +1 -6
- package/resources/voice-changer.mjs.map +1 -1
- package/resources/voices.d.mts +9 -9
- package/resources/voices.d.mts.map +1 -1
- package/resources/voices.d.ts +9 -9
- package/resources/voices.d.ts.map +1 -1
- package/resources/voices.js +14 -14
- package/resources/voices.js.map +1 -1
- package/resources/voices.mjs +14 -14
- package/resources/voices.mjs.map +1 -1
- package/src/backcompat/errors.ts +32 -40
- package/src/backcompat/index.ts +64 -67
- package/src/backcompat/tts-wrapper.ts +405 -322
- package/src/backcompat/types.ts +13 -13
- package/src/backcompat/voice-changer-wrapper.ts +58 -56
- package/src/backcompat/voices-wrapper.ts +217 -150
- package/src/resources/agents/agents.ts +10 -10
- package/src/resources/datasets/datasets.ts +3 -3
- package/src/resources/datasets/files.ts +3 -3
- package/src/resources/datasets/index.ts +1 -1
- package/src/resources/pronunciation-dicts.ts +1 -1
- package/src/resources/voice-changer.ts +2 -7
- package/src/resources/voices.ts +15 -15
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.0.0-b12 (2026-01-21)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v3.0.0-b11...v3.0.0-b12](https://github.com/cartesia-ai/cartesia-js-internal/compare/v3.0.0-b11...v3.0.0-b12)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** delete -> remove ([d51a281](https://github.com/cartesia-ai/cartesia-js-internal/commit/d51a2812bb7e5be98d1aa4248e90acc3a4aae0d2))
|
|
10
|
+
* update backcompat voices helpers ([ca4cc6a](https://github.com/cartesia-ai/cartesia-js-internal/commit/ca4cc6a98c2f9165689916e22afd784f56671948))
|
|
11
|
+
|
|
12
|
+
## 3.0.0-b11 (2026-01-20)
|
|
13
|
+
|
|
14
|
+
Full Changelog: [v3.0.0-b10...v3.0.0-b11](https://github.com/cartesia-ai/cartesia-js-internal/compare/v3.0.0-b10...v3.0.0-b11)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **api:** binary response types ([5bdf3e3](https://github.com/cartesia-ai/cartesia-js-internal/commit/5bdf3e3be2867099b8187c186745a509991df91e))
|
|
19
|
+
|
|
3
20
|
## 3.0.0-b10 (2026-01-20)
|
|
4
21
|
|
|
5
22
|
Full Changelog: [v3.0.0-b9...v3.0.0-b10](https://github.com/cartesia-ai/cartesia-js-internal/compare/v3.0.0-b9...v3.0.0-b10)
|
package/backcompat/errors.d.mts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export declare class CartesiaClientError extends Error {
|
|
3
3
|
readonly statusCode?: number;
|
|
4
4
|
readonly body?: unknown;
|
|
5
|
-
constructor({ message, statusCode, body
|
|
5
|
+
constructor({ message, statusCode, body }: {
|
|
6
6
|
message?: string;
|
|
7
7
|
statusCode?: number;
|
|
8
8
|
body?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,qBAAa,mBAAoB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAUrG;AAED,iEAAiE;AACjE,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgB7D"}
|
package/backcompat/errors.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export declare class CartesiaClientError extends Error {
|
|
3
3
|
readonly statusCode?: number;
|
|
4
4
|
readonly body?: unknown;
|
|
5
|
-
constructor({ message, statusCode, body
|
|
5
|
+
constructor({ message, statusCode, body }: {
|
|
6
6
|
message?: string;
|
|
7
7
|
statusCode?: number;
|
|
8
8
|
body?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,qBAAa,mBAAoB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAUrG;AAED,iEAAiE;AACjE,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgB7D"}
|
package/backcompat/errors.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.wrap = wrap;
|
|
|
5
5
|
const error_1 = require("../core/error.js");
|
|
6
6
|
/** @deprecated Use {@link CartesiaError} or specialized error classes from core/error instead. */
|
|
7
7
|
class CartesiaClientError extends Error {
|
|
8
|
-
constructor({ message, statusCode, body
|
|
8
|
+
constructor({ message, statusCode, body }) {
|
|
9
9
|
super(message);
|
|
10
10
|
Object.setPrototypeOf(this, CartesiaClientError.prototype);
|
|
11
11
|
if (statusCode != null) {
|
package/backcompat/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":";;;AA2BA,oBAgBC;AA3CD,4CAAoE;AAEpE,kGAAkG;AAClG,MAAa,mBAAoB,SAAQ,KAAK;IAI5C,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAA6D;QAClG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAdD,kDAcC;AAED,iEAAiE;AACjE,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AALD,oDAKC;AAEM,KAAK,UAAU,IAAI,CAAI,OAAmB;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,iCAAyB,EAAE,CAAC;YAC3C,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,YAAY,gBAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,MAAM;gBACpB,IAAI,EAAE,CAAC,CAAC,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
package/backcompat/errors.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { APIConnectionTimeoutError, APIError } from "../core/error.mjs";
|
|
2
2
|
/** @deprecated Use {@link CartesiaError} or specialized error classes from core/error instead. */
|
|
3
3
|
export class CartesiaClientError extends Error {
|
|
4
|
-
constructor({ message, statusCode, body
|
|
4
|
+
constructor({ message, statusCode, body }) {
|
|
5
5
|
super(message);
|
|
6
6
|
Object.setPrototypeOf(this, CartesiaClientError.prototype);
|
|
7
7
|
if (statusCode != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE;AAE9C,kGAAkG;AAClG,MAAM,OAAO,mBAAoB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/backcompat/errors.ts"],"names":[],"mappings":"OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE;AAE9C,kGAAkG;AAClG,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAI5C,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAA6D;QAClG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAI,OAAmB;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,yBAAyB,EAAE,CAAC;YAC3C,MAAM,IAAI,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,MAAM;gBACpB,IAAI,EAAE,CAAC,CAAC,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;OACvB,KAAK,EAAE,qBAAqB,EAAY;
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;OACvB,KAAK,EAAE,qBAAqB,EAAY;AAyC/C;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAW;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,mBAAmB,CAAC;gBAE7B,OAAO,GAAE,qBAA0B;CAuBhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;OACvB,KAAK,EAAE,qBAAqB,EAAY;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;OACvB,KAAK,EAAE,qBAAqB,EAAY;AAyC/C;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAW;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,mBAAmB,CAAC;gBAE7B,OAAO,GAAE,qBAA0B;CAuBhD"}
|
package/backcompat/index.js
CHANGED
|
@@ -7,7 +7,7 @@ const tts_wrapper_1 = require("./tts-wrapper.js");
|
|
|
7
7
|
const voices_wrapper_1 = require("./voices-wrapper.js");
|
|
8
8
|
const voice_changer_wrapper_1 = require("./voice-changer-wrapper.js");
|
|
9
9
|
async function resolveSupplier(supplier) {
|
|
10
|
-
if (typeof supplier ===
|
|
10
|
+
if (typeof supplier === 'function') {
|
|
11
11
|
return supplier();
|
|
12
12
|
}
|
|
13
13
|
return supplier;
|
|
@@ -27,13 +27,13 @@ class DynamicCartesia extends client_1.Cartesia {
|
|
|
27
27
|
request.headers = { Authorization: authHeader };
|
|
28
28
|
}
|
|
29
29
|
else if (request.headers instanceof Headers) {
|
|
30
|
-
request.headers.set(
|
|
30
|
+
request.headers.set('Authorization', authHeader);
|
|
31
31
|
}
|
|
32
32
|
else if (Array.isArray(request.headers)) {
|
|
33
|
-
request.headers.push([
|
|
33
|
+
request.headers.push(['Authorization', authHeader]);
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
request.headers[
|
|
36
|
+
request.headers['Authorization'] = authHeader;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -49,7 +49,7 @@ class CartesiaClient {
|
|
|
49
49
|
const newOptions = {};
|
|
50
50
|
let apiKeySupplier;
|
|
51
51
|
if (options.apiKey) {
|
|
52
|
-
if (typeof options.apiKey ===
|
|
52
|
+
if (typeof options.apiKey === 'function') {
|
|
53
53
|
apiKeySupplier = options.apiKey;
|
|
54
54
|
}
|
|
55
55
|
else {
|
package/backcompat/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAyD;AACzD,kDAA2C;AAC3C,wDAAiD;AACjD,sEAA8D;AAG9D,KAAK,UAAU,eAAe,CAAI,QAAqB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAyD;AACzD,kDAA2C;AAC3C,wDAAiD;AACjD,sEAA8D;AAG9D,KAAK,UAAU,eAAe,CAAI,QAAqB;IACrD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAQ,QAAiC,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,eAAgB,SAAQ,iBAAQ;IAGpC,YAAY,OAA0E;QACpF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/C,CAAC;IAEkB,KAAK,CAAC,cAAc,CACrC,OAAoB,EACpB,QAAuC;QAEvC,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,UAAU,GAAG,UAAU,GAAG,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;gBAClD,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC;oBAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACL,OAAO,CAAC,OAAkC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAa,cAAc;IAMzB,YAAY,UAAiC,EAAE;QAC7C,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,IAAI,cAAwD,CAAC;QAE7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACzC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAiB,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/B,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,WAAqB,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,2CAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF;AA7BD,wCA6BC;AAED,2DAA8B;AAC9B,8DAAiC;AACjC,qEAAwC;AACxC,qDAAwB;AACxB,sDAAyB"}
|
package/backcompat/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { TTSWrapper } from "./tts-wrapper.mjs";
|
|
|
3
3
|
import { VoicesWrapper } from "./voices-wrapper.mjs";
|
|
4
4
|
import { VoiceChangerWrapper } from "./voice-changer-wrapper.mjs";
|
|
5
5
|
async function resolveSupplier(supplier) {
|
|
6
|
-
if (typeof supplier ===
|
|
6
|
+
if (typeof supplier === 'function') {
|
|
7
7
|
return supplier();
|
|
8
8
|
}
|
|
9
9
|
return supplier;
|
|
@@ -23,13 +23,13 @@ class DynamicCartesia extends Cartesia {
|
|
|
23
23
|
request.headers = { Authorization: authHeader };
|
|
24
24
|
}
|
|
25
25
|
else if (request.headers instanceof Headers) {
|
|
26
|
-
request.headers.set(
|
|
26
|
+
request.headers.set('Authorization', authHeader);
|
|
27
27
|
}
|
|
28
28
|
else if (Array.isArray(request.headers)) {
|
|
29
|
-
request.headers.push([
|
|
29
|
+
request.headers.push(['Authorization', authHeader]);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
|
-
request.headers[
|
|
32
|
+
request.headers['Authorization'] = authHeader;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -45,7 +45,7 @@ export class CartesiaClient {
|
|
|
45
45
|
const newOptions = {};
|
|
46
46
|
let apiKeySupplier;
|
|
47
47
|
if (options.apiKey) {
|
|
48
|
-
if (typeof options.apiKey ===
|
|
48
|
+
if (typeof options.apiKey === 'function') {
|
|
49
49
|
apiKeySupplier = options.apiKey;
|
|
50
50
|
}
|
|
51
51
|
else {
|
package/backcompat/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OAAO,EAAE,QAAQ,EAAsB;OAChC,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;AAG9B,KAAK,UAAU,eAAe,CAAI,QAAqB;
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/backcompat/index.ts"],"names":[],"mappings":"OAAO,EAAE,QAAQ,EAAsB;OAChC,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE;OACjB,EAAE,mBAAmB,EAAE;AAG9B,KAAK,UAAU,eAAe,CAAI,QAAqB;IACrD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAQ,QAAiC,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,eAAgB,SAAQ,QAAQ;IAGpC,YAAY,OAA0E;QACpF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/C,CAAC;IAEkB,KAAK,CAAC,cAAc,CACrC,OAAoB,EACpB,QAAuC;QAEvC,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,UAAU,GAAG,UAAU,GAAG,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;gBAClD,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC;oBAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACL,OAAO,CAAC,OAAkC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAMzB,YAAY,UAAiC,EAAE;QAC7C,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,IAAI,cAAwD,CAAC;QAE7D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACzC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAiB,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/B,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,WAAqB,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Cartesia } from "../client.mjs";
|
|
2
2
|
import { BackCompatRequestOptions } from "./types.mjs";
|
|
3
|
-
import { Readable } from
|
|
3
|
+
import { Readable } from 'stream';
|
|
4
4
|
export interface BackCompatWebSocketOptions {
|
|
5
|
-
container?:
|
|
6
|
-
encoding?:
|
|
5
|
+
container?: 'raw' | 'wav' | 'mp3';
|
|
6
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
7
7
|
sampleRate: number;
|
|
8
8
|
}
|
|
9
9
|
export type BackCompatTtsRequestVoiceSpecifier = {
|
|
10
|
-
mode:
|
|
10
|
+
mode: 'id';
|
|
11
11
|
id: string;
|
|
12
12
|
} | {
|
|
13
|
-
mode:
|
|
13
|
+
mode: 'embedding';
|
|
14
14
|
embedding: number[];
|
|
15
15
|
};
|
|
16
16
|
export interface BackCompatGenerationConfig {
|
|
@@ -24,8 +24,8 @@ export interface BackCompatWebSocketTtsRequest {
|
|
|
24
24
|
voice: BackCompatTtsRequestVoiceSpecifier;
|
|
25
25
|
generationConfig?: BackCompatGenerationConfig;
|
|
26
26
|
outputFormat?: {
|
|
27
|
-
container?:
|
|
28
|
-
encoding?:
|
|
27
|
+
container?: 'raw' | 'wav' | 'mp3';
|
|
28
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
29
29
|
sampleRate?: number;
|
|
30
30
|
bitRate?: number;
|
|
31
31
|
};
|
|
@@ -41,14 +41,14 @@ export interface BackCompatTtsRequest {
|
|
|
41
41
|
voice: BackCompatTtsRequestVoiceSpecifier;
|
|
42
42
|
language?: string;
|
|
43
43
|
outputFormat: {
|
|
44
|
-
container:
|
|
45
|
-
encoding?:
|
|
44
|
+
container: 'raw' | 'wav' | 'mp3';
|
|
45
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
46
46
|
sampleRate: number;
|
|
47
47
|
bitRate?: number;
|
|
48
48
|
};
|
|
49
49
|
generationConfig?: BackCompatGenerationConfig;
|
|
50
50
|
duration?: number;
|
|
51
|
-
speed?:
|
|
51
|
+
speed?: 'slow' | 'normal' | 'fast';
|
|
52
52
|
pronunciationDictId?: string;
|
|
53
53
|
}
|
|
54
54
|
declare class AudioSource {
|
|
@@ -73,12 +73,35 @@ export declare class WebSocketWrapper {
|
|
|
73
73
|
}>;
|
|
74
74
|
disconnect(): void;
|
|
75
75
|
}
|
|
76
|
+
export interface BackCompatTtsGenerateOptions {
|
|
77
|
+
modelId?: string;
|
|
78
|
+
outputFormat?: {
|
|
79
|
+
container: 'raw' | 'wav' | 'mp3';
|
|
80
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
81
|
+
sampleRate: number;
|
|
82
|
+
bitRate?: number;
|
|
83
|
+
};
|
|
84
|
+
language?: string;
|
|
85
|
+
generationConfig?: BackCompatGenerationConfig;
|
|
86
|
+
speed?: 'slow' | 'normal' | 'fast';
|
|
87
|
+
pronunciationDictId?: string;
|
|
88
|
+
}
|
|
76
89
|
/** @deprecated Use the new SDK's tts methods on the {@link Cartesia} instance instead. */
|
|
77
90
|
export declare class TTSWrapper {
|
|
78
91
|
private client;
|
|
79
92
|
constructor(client: Cartesia);
|
|
80
93
|
/** @deprecated Use {@link Cartesia.tts.websocket} instead. */
|
|
81
94
|
websocket(config: BackCompatWebSocketOptions): WebSocketWrapper;
|
|
95
|
+
/**
|
|
96
|
+
* Generate speech from text.
|
|
97
|
+
* @param transcript The text to convert to speech
|
|
98
|
+
* @param voiceId The voice ID to use
|
|
99
|
+
* @param options Generation options
|
|
100
|
+
* @param signal Optional abort signal
|
|
101
|
+
* @param _source Optional source identifier (e.g., "playground_tts") - for tracking purposes
|
|
102
|
+
* @deprecated Use {@link Cartesia.tts.generate} instead.
|
|
103
|
+
*/
|
|
104
|
+
generate(transcript: string, voiceId: string, options?: BackCompatTtsGenerateOptions, signal?: AbortSignal, _source?: string): Promise<Readable>;
|
|
82
105
|
/** @deprecated Use {@link Cartesia.tts.generate} instead. */
|
|
83
106
|
bytes(request: BackCompatTtsRequest, requestOptions?: BackCompatRequestOptions): Promise<Readable>;
|
|
84
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts-wrapper.d.mts","sourceRoot":"","sources":["../src/backcompat/tts-wrapper.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"tts-wrapper.d.mts","sourceRoot":"","sources":["../src/backcompat/tts-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Cartesia } from "../client.js";
|
|
2
2
|
import { BackCompatRequestOptions } from "./types.js";
|
|
3
|
-
import { Readable } from
|
|
3
|
+
import { Readable } from 'stream';
|
|
4
4
|
export interface BackCompatWebSocketOptions {
|
|
5
|
-
container?:
|
|
6
|
-
encoding?:
|
|
5
|
+
container?: 'raw' | 'wav' | 'mp3';
|
|
6
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
7
7
|
sampleRate: number;
|
|
8
8
|
}
|
|
9
9
|
export type BackCompatTtsRequestVoiceSpecifier = {
|
|
10
|
-
mode:
|
|
10
|
+
mode: 'id';
|
|
11
11
|
id: string;
|
|
12
12
|
} | {
|
|
13
|
-
mode:
|
|
13
|
+
mode: 'embedding';
|
|
14
14
|
embedding: number[];
|
|
15
15
|
};
|
|
16
16
|
export interface BackCompatGenerationConfig {
|
|
@@ -24,8 +24,8 @@ export interface BackCompatWebSocketTtsRequest {
|
|
|
24
24
|
voice: BackCompatTtsRequestVoiceSpecifier;
|
|
25
25
|
generationConfig?: BackCompatGenerationConfig;
|
|
26
26
|
outputFormat?: {
|
|
27
|
-
container?:
|
|
28
|
-
encoding?:
|
|
27
|
+
container?: 'raw' | 'wav' | 'mp3';
|
|
28
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
29
29
|
sampleRate?: number;
|
|
30
30
|
bitRate?: number;
|
|
31
31
|
};
|
|
@@ -41,14 +41,14 @@ export interface BackCompatTtsRequest {
|
|
|
41
41
|
voice: BackCompatTtsRequestVoiceSpecifier;
|
|
42
42
|
language?: string;
|
|
43
43
|
outputFormat: {
|
|
44
|
-
container:
|
|
45
|
-
encoding?:
|
|
44
|
+
container: 'raw' | 'wav' | 'mp3';
|
|
45
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
46
46
|
sampleRate: number;
|
|
47
47
|
bitRate?: number;
|
|
48
48
|
};
|
|
49
49
|
generationConfig?: BackCompatGenerationConfig;
|
|
50
50
|
duration?: number;
|
|
51
|
-
speed?:
|
|
51
|
+
speed?: 'slow' | 'normal' | 'fast';
|
|
52
52
|
pronunciationDictId?: string;
|
|
53
53
|
}
|
|
54
54
|
declare class AudioSource {
|
|
@@ -73,12 +73,35 @@ export declare class WebSocketWrapper {
|
|
|
73
73
|
}>;
|
|
74
74
|
disconnect(): void;
|
|
75
75
|
}
|
|
76
|
+
export interface BackCompatTtsGenerateOptions {
|
|
77
|
+
modelId?: string;
|
|
78
|
+
outputFormat?: {
|
|
79
|
+
container: 'raw' | 'wav' | 'mp3';
|
|
80
|
+
encoding?: 'pcm_f32le' | 'pcm_s16le' | 'pcm_alaw' | 'pcm_mulaw';
|
|
81
|
+
sampleRate: number;
|
|
82
|
+
bitRate?: number;
|
|
83
|
+
};
|
|
84
|
+
language?: string;
|
|
85
|
+
generationConfig?: BackCompatGenerationConfig;
|
|
86
|
+
speed?: 'slow' | 'normal' | 'fast';
|
|
87
|
+
pronunciationDictId?: string;
|
|
88
|
+
}
|
|
76
89
|
/** @deprecated Use the new SDK's tts methods on the {@link Cartesia} instance instead. */
|
|
77
90
|
export declare class TTSWrapper {
|
|
78
91
|
private client;
|
|
79
92
|
constructor(client: Cartesia);
|
|
80
93
|
/** @deprecated Use {@link Cartesia.tts.websocket} instead. */
|
|
81
94
|
websocket(config: BackCompatWebSocketOptions): WebSocketWrapper;
|
|
95
|
+
/**
|
|
96
|
+
* Generate speech from text.
|
|
97
|
+
* @param transcript The text to convert to speech
|
|
98
|
+
* @param voiceId The voice ID to use
|
|
99
|
+
* @param options Generation options
|
|
100
|
+
* @param signal Optional abort signal
|
|
101
|
+
* @param _source Optional source identifier (e.g., "playground_tts") - for tracking purposes
|
|
102
|
+
* @deprecated Use {@link Cartesia.tts.generate} instead.
|
|
103
|
+
*/
|
|
104
|
+
generate(transcript: string, voiceId: string, options?: BackCompatTtsGenerateOptions, signal?: AbortSignal, _source?: string): Promise<Readable>;
|
|
82
105
|
/** @deprecated Use {@link Cartesia.tts.generate} instead. */
|
|
83
106
|
bytes(request: BackCompatTtsRequest, requestOptions?: BackCompatRequestOptions): Promise<Readable>;
|
|
84
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts-wrapper.d.ts","sourceRoot":"","sources":["../src/backcompat/tts-wrapper.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"tts-wrapper.d.ts","sourceRoot":"","sources":["../src/backcompat/tts-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const stream_1 = require("stream");
|
|
|
8
8
|
// Helper for generating UUIDs. Not cryptographically secure.
|
|
9
9
|
function uuidv4() {
|
|
10
10
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
11
|
-
var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8
|
|
11
|
+
var r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
12
12
|
return v.toString(16);
|
|
13
13
|
});
|
|
14
14
|
}
|
|
@@ -34,7 +34,9 @@ class AudioSource {
|
|
|
34
34
|
}
|
|
35
35
|
async read(outBuffer) {
|
|
36
36
|
if (this.buffers.length === 0 && !this.isDone) {
|
|
37
|
-
await new Promise((resolve) => {
|
|
37
|
+
await new Promise((resolve) => {
|
|
38
|
+
this.waiter = resolve;
|
|
39
|
+
});
|
|
38
40
|
}
|
|
39
41
|
if (this.buffers.length === 0 && this.isDone) {
|
|
40
42
|
return 0;
|
|
@@ -90,40 +92,42 @@ class WebSocketWrapper {
|
|
|
90
92
|
const baseURL = this.client.baseURL;
|
|
91
93
|
// Construct WebSocket URL
|
|
92
94
|
// baseURL is like https://api.cartesia.ai
|
|
93
|
-
let urlStr = baseURL.replace(/^http/,
|
|
94
|
-
if (!urlStr.includes(
|
|
95
|
-
if (urlStr.endsWith(
|
|
96
|
-
urlStr +=
|
|
95
|
+
let urlStr = baseURL.replace(/^http/, 'ws');
|
|
96
|
+
if (!urlStr.includes('/tts/websocket')) {
|
|
97
|
+
if (urlStr.endsWith('/')) {
|
|
98
|
+
urlStr += 'tts/websocket';
|
|
97
99
|
}
|
|
98
100
|
else {
|
|
99
|
-
urlStr +=
|
|
101
|
+
urlStr += '/tts/websocket';
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
const url = new URL(urlStr);
|
|
103
105
|
const headers = {
|
|
104
|
-
|
|
106
|
+
'cartesia-version': '2025-04-16',
|
|
105
107
|
};
|
|
106
108
|
if (this.client.apiKey) {
|
|
107
|
-
headers[
|
|
109
|
+
headers['Authorization'] = `Bearer ${this.client.apiKey}`;
|
|
108
110
|
}
|
|
109
111
|
this.socket = new ws_1.default(url.toString(), {
|
|
110
112
|
headers: headers,
|
|
111
113
|
});
|
|
112
114
|
return new Promise((resolve, reject) => {
|
|
113
|
-
this.socket.on(
|
|
114
|
-
console.log(
|
|
115
|
+
this.socket.on('open', () => {
|
|
116
|
+
console.log('WebSocket connected.');
|
|
115
117
|
resolve();
|
|
116
118
|
});
|
|
117
|
-
this.socket.on(
|
|
118
|
-
console.error(
|
|
119
|
+
this.socket.on('error', (err) => {
|
|
120
|
+
console.error('WebSocket error:', err);
|
|
119
121
|
reject(err);
|
|
120
122
|
});
|
|
121
|
-
this.socket.on(
|
|
123
|
+
this.socket.on('message', (data) => {
|
|
122
124
|
this.handleMessage(data);
|
|
123
125
|
});
|
|
124
|
-
this.socket.on(
|
|
125
|
-
console.log(
|
|
126
|
-
this.sources.forEach((s) => {
|
|
126
|
+
this.socket.on('close', () => {
|
|
127
|
+
console.log('WebSocket closed.');
|
|
128
|
+
this.sources.forEach((s) => {
|
|
129
|
+
s.markDone();
|
|
130
|
+
});
|
|
127
131
|
if (this.defaultSource)
|
|
128
132
|
this.defaultSource.markDone();
|
|
129
133
|
});
|
|
@@ -139,28 +143,28 @@ class WebSocketWrapper {
|
|
|
139
143
|
if (!source && this.defaultSource) {
|
|
140
144
|
source = this.defaultSource;
|
|
141
145
|
}
|
|
142
|
-
if (msg.type ===
|
|
143
|
-
const audioData = Buffer.from(msg.data,
|
|
146
|
+
if (msg.type === 'chunk' && msg.data) {
|
|
147
|
+
const audioData = Buffer.from(msg.data, 'base64');
|
|
144
148
|
if (source)
|
|
145
149
|
source.push(audioData);
|
|
146
150
|
}
|
|
147
|
-
else if (msg.type ===
|
|
151
|
+
else if (msg.type === 'done') {
|
|
148
152
|
if (source)
|
|
149
153
|
source.markDone();
|
|
150
154
|
}
|
|
151
|
-
else if (msg.type ===
|
|
152
|
-
console.error(
|
|
155
|
+
else if (msg.type === 'error') {
|
|
156
|
+
console.error('Server error:', msg);
|
|
153
157
|
if (source)
|
|
154
158
|
source.markDone(); // Fail the stream?
|
|
155
159
|
}
|
|
156
160
|
}
|
|
157
161
|
catch (e) {
|
|
158
|
-
console.error(
|
|
162
|
+
console.error('Error parsing message:', e);
|
|
159
163
|
}
|
|
160
164
|
}
|
|
161
165
|
async send(request) {
|
|
162
166
|
if (!this.socket) {
|
|
163
|
-
throw new Error(
|
|
167
|
+
throw new Error('WebSocket not connected');
|
|
164
168
|
}
|
|
165
169
|
// Ensure request has a context_id so we can route the response
|
|
166
170
|
const contextId = request.contextId || uuidv4();
|
|
@@ -208,7 +212,7 @@ class WebSocketWrapper {
|
|
|
208
212
|
payload.add_phoneme_timestamps = request.addPhonemeTimestamps;
|
|
209
213
|
this.socket.send(JSON.stringify(payload));
|
|
210
214
|
return {
|
|
211
|
-
source: source
|
|
215
|
+
source: source,
|
|
212
216
|
};
|
|
213
217
|
}
|
|
214
218
|
disconnect() {
|
|
@@ -227,6 +231,59 @@ class TTSWrapper {
|
|
|
227
231
|
websocket(config) {
|
|
228
232
|
return new WebSocketWrapper(this.client, config);
|
|
229
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Generate speech from text.
|
|
236
|
+
* @param transcript The text to convert to speech
|
|
237
|
+
* @param voiceId The voice ID to use
|
|
238
|
+
* @param options Generation options
|
|
239
|
+
* @param signal Optional abort signal
|
|
240
|
+
* @param _source Optional source identifier (e.g., "playground_tts") - for tracking purposes
|
|
241
|
+
* @deprecated Use {@link Cartesia.tts.generate} instead.
|
|
242
|
+
*/
|
|
243
|
+
async generate(transcript, voiceId, options, signal, _source) {
|
|
244
|
+
const params = {
|
|
245
|
+
model_id: options?.modelId ?? 'sonic-2',
|
|
246
|
+
transcript,
|
|
247
|
+
voice: { mode: 'id', id: voiceId },
|
|
248
|
+
};
|
|
249
|
+
if (options?.outputFormat) {
|
|
250
|
+
params.output_format = {
|
|
251
|
+
container: options.outputFormat.container,
|
|
252
|
+
encoding: options.outputFormat.encoding,
|
|
253
|
+
sample_rate: options.outputFormat.sampleRate,
|
|
254
|
+
bit_rate: options.outputFormat.bitRate,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// Default output format
|
|
259
|
+
params.output_format = {
|
|
260
|
+
container: 'wav',
|
|
261
|
+
encoding: 'pcm_s16le',
|
|
262
|
+
sample_rate: 44100,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
if (options?.language) {
|
|
266
|
+
params.language = options.language;
|
|
267
|
+
}
|
|
268
|
+
if (options?.generationConfig) {
|
|
269
|
+
params.generation_config = options.generationConfig;
|
|
270
|
+
}
|
|
271
|
+
if (options?.speed) {
|
|
272
|
+
params.speed = options.speed;
|
|
273
|
+
}
|
|
274
|
+
if (options?.pronunciationDictId) {
|
|
275
|
+
params.pronunciation_dict_id = options.pronunciationDictId;
|
|
276
|
+
}
|
|
277
|
+
const requestOptions = {};
|
|
278
|
+
if (signal) {
|
|
279
|
+
requestOptions.signal = signal;
|
|
280
|
+
}
|
|
281
|
+
const response = await (0, errors_1.wrap)(this.client.tts.generate(params, requestOptions));
|
|
282
|
+
if (!response.body) {
|
|
283
|
+
throw new Error('Response body is null');
|
|
284
|
+
}
|
|
285
|
+
return stream_1.Readable.fromWeb(response.body);
|
|
286
|
+
}
|
|
230
287
|
/** @deprecated Use {@link Cartesia.tts.generate} instead. */
|
|
231
288
|
async bytes(request, requestOptions) {
|
|
232
289
|
const params = {
|
|
@@ -260,7 +317,7 @@ class TTSWrapper {
|
|
|
260
317
|
}
|
|
261
318
|
const response = await (0, errors_1.wrap)(this.client.tts.generate(params, options));
|
|
262
319
|
if (!response.body) {
|
|
263
|
-
throw new Error(
|
|
320
|
+
throw new Error('Response body is null');
|
|
264
321
|
}
|
|
265
322
|
return stream_1.Readable.fromWeb(response.body);
|
|
266
323
|
}
|