@nodaro/sdk 1.23.0 → 1.25.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/dist/index.cjs +24 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +75 -8
- package/dist/index.d.ts +75 -8
- package/dist/index.js +24 -4
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -222,10 +222,17 @@ declare class WorkflowsResource {
|
|
|
222
222
|
}>;
|
|
223
223
|
/**
|
|
224
224
|
* Import a `WorkflowExport` bundle into the specified project.
|
|
225
|
-
* Re-creates any bundled assets (characters, objects, locations)
|
|
225
|
+
* Re-creates any bundled assets (characters, objects, creatures, locations)
|
|
226
|
+
* under your account, and re-points BOTH the entity nodes and every `@`-chip
|
|
227
|
+
* (`ConnectedReference`) bound in the graph at the rows it created.
|
|
226
228
|
* Media the bundle references on other hosts is copied onto this instance's
|
|
227
|
-
* storage where reachable;
|
|
228
|
-
*
|
|
229
|
+
* storage where reachable; a bundled entity's images are copied whoever
|
|
230
|
+
* hosts them, because they are the exporter's bytes and their lifecycle is
|
|
231
|
+
* not yours. `importReport` says what was copied, what could not be reached
|
|
232
|
+
* and what was skipped (and why); `assetIdMap` maps each bundled entity id
|
|
233
|
+
* to the row created for it (for chips you hold outside the graph), and
|
|
234
|
+
* `assetsSkipped` names the entities your storage quota left uncreated —
|
|
235
|
+
* the workflow itself still lands.
|
|
229
236
|
*/
|
|
230
237
|
import(input: WorkflowExport & {
|
|
231
238
|
projectId: string;
|
|
@@ -3769,6 +3776,32 @@ declare class VoicesResource {
|
|
|
3769
3776
|
dub(input: DubbingInput): Promise<{
|
|
3770
3777
|
jobId: string;
|
|
3771
3778
|
}>;
|
|
3779
|
+
/**
|
|
3780
|
+
* Voice a multi-speaker script as ONE audio file
|
|
3781
|
+
* (`POST /v1/text-to-dialogue`, ElevenLabs Dialogue v3). Each `dialogue`
|
|
3782
|
+
* line is `{ text, voice }` in speaking order — `voice` is a premade voice
|
|
3783
|
+
* name or an ElevenLabs voice UUID (cloned/library voices work too; mixed
|
|
3784
|
+
* casts are fine). At most 5,000 characters total across lines (≤2,000
|
|
3785
|
+
* recommended for best quality) and 10 unique voices. Line text may carry
|
|
3786
|
+
* `[audio tags]` like `[laughs]`. Costs credits and runs async — poll
|
|
3787
|
+
* `jobs.get(jobId)` for `output_data.audioUrl`.
|
|
3788
|
+
*/
|
|
3789
|
+
textToDialogue(input: {
|
|
3790
|
+
dialogue: Array<{
|
|
3791
|
+
text: string;
|
|
3792
|
+
voice: string;
|
|
3793
|
+
}>;
|
|
3794
|
+
/** v3 stability: 0 (most variable) | 0.5 (balanced) | 1 (most stable). */
|
|
3795
|
+
stability?: 0 | 0.5 | 1;
|
|
3796
|
+
/** ISO 639-1 language hint (e.g. "en"); auto-detected when omitted. */
|
|
3797
|
+
languageCode?: string;
|
|
3798
|
+
/** Deterministic sampling seed (integer 0–4294967295). Omit for random. */
|
|
3799
|
+
seed?: number;
|
|
3800
|
+
/** Spell out numbers/dates/abbreviations: "auto" (default) | "on" | "off". */
|
|
3801
|
+
applyTextNormalization?: "auto" | "on" | "off";
|
|
3802
|
+
}): Promise<{
|
|
3803
|
+
jobId: string;
|
|
3804
|
+
}>;
|
|
3772
3805
|
/**
|
|
3773
3806
|
* Clone a voice from an audio FILE you hold in memory
|
|
3774
3807
|
* (`POST /v1/voice-clones`, multipart) — the counterpart to
|
|
@@ -3795,6 +3828,18 @@ declare class VoicesResource {
|
|
|
3795
3828
|
type VoiceChangerProVoice = string | {
|
|
3796
3829
|
/** Target voice — premade name (`"Rachel"`, `"Aria"`, …) or an ElevenLabs UUID for a custom clone. */
|
|
3797
3830
|
voiceId: string;
|
|
3831
|
+
/**
|
|
3832
|
+
* Which lane converts this speaker. `"sts"` (default) is the classic
|
|
3833
|
+
* speech-to-speech recast; `"v3"` is RE-SPEAK — the performance is
|
|
3834
|
+
* REGENERATED from the transcript with eleven_v3 (supports `[audio
|
|
3835
|
+
* tags]`; original delivery is replaced, and lips won't match on video).
|
|
3836
|
+
* A v3 speaker needs transcript text: pass an `analysis` whose
|
|
3837
|
+
* `segments[].text` carries it (analyze now emits this), or omit
|
|
3838
|
+
* `analysis` and the engine re-speaks from its own transcription. For
|
|
3839
|
+
* `"v3"`, `stability` accepts exactly 0 / 0.5 / 1, and
|
|
3840
|
+
* `similarityBoost` / `style` / `useSpeakerBoost` are ignored.
|
|
3841
|
+
*/
|
|
3842
|
+
engine?: "sts" | "v3";
|
|
3798
3843
|
/** ElevenLabs stability (0–1). Higher = steadier, lower = more expressive. */
|
|
3799
3844
|
stability?: number;
|
|
3800
3845
|
/** ElevenLabs similarity boost (0–1) — how closely the output hugs the target voice's timbre. */
|
|
@@ -3897,10 +3942,13 @@ interface VoiceChangerProInput {
|
|
|
3897
3942
|
interface VcpAnalysisSpeaker {
|
|
3898
3943
|
/** Stable speaker id (first-appearance order). */
|
|
3899
3944
|
id: string;
|
|
3900
|
-
/** The speaker's spoken time ranges (seconds).
|
|
3945
|
+
/** The speaker's spoken time ranges (seconds). `text` is what was said in
|
|
3946
|
+
* the range — the paid input for a speaker recast with `engine: "v3"`
|
|
3947
|
+
* (editable before conversion); the STS lane ignores it. */
|
|
3901
3948
|
segments: Array<{
|
|
3902
3949
|
start: number;
|
|
3903
3950
|
end: number;
|
|
3951
|
+
text?: string;
|
|
3904
3952
|
}>;
|
|
3905
3953
|
/** When the speaker first speaks (seconds). */
|
|
3906
3954
|
firstStartSec?: number;
|
|
@@ -3996,20 +4044,39 @@ interface VoiceRemixInput {
|
|
|
3996
4044
|
/** Optional extra prompt context (≤8000 chars). */
|
|
3997
4045
|
userPrompt?: string;
|
|
3998
4046
|
}
|
|
3999
|
-
/** Input for {@link VoicesResource.dub}.
|
|
4047
|
+
/** Input for {@link VoicesResource.dub}. Provide exactly ONE source:
|
|
4048
|
+
* `audioUrl` (dubbed audio out), `videoUrl` (the dubbed VIDEO out, plus the
|
|
4049
|
+
* dubbed audio track as `output_data.audioUrl`), or `sourceUrl` (a public
|
|
4050
|
+
* YouTube/TikTok/direct link ElevenLabs fetches itself). Priced per minute
|
|
4051
|
+
* of the dubbed span; the span is capped at 30 minutes — use
|
|
4052
|
+
* `startTime`/`endTime` to dub part of a longer source. */
|
|
4000
4053
|
interface DubbingInput {
|
|
4001
|
-
/** URL of the audio to dub. */
|
|
4002
|
-
audioUrl
|
|
4054
|
+
/** URL of the audio to dub (audio mode). */
|
|
4055
|
+
audioUrl?: string;
|
|
4056
|
+
/** URL of the video to dub — the result is the dubbed VIDEO (+ audio track). */
|
|
4057
|
+
videoUrl?: string;
|
|
4058
|
+
/** Public page/media URL (YouTube, TikTok, or a direct link) — ElevenLabs fetches it directly. */
|
|
4059
|
+
sourceUrl?: string;
|
|
4003
4060
|
/** Target language ISO code (2–10 chars), e.g. `"es"`, `"pt-BR"`. */
|
|
4004
4061
|
targetLanguage: string;
|
|
4005
4062
|
/** Source language ISO code; auto-detected when omitted. */
|
|
4006
4063
|
sourceLanguage?: string;
|
|
4007
|
-
/** Expected number of speakers (1–20) — improves separation when known. */
|
|
4064
|
+
/** Expected number of speakers (1–20; 0 = auto-detect) — improves separation when known. */
|
|
4008
4065
|
numSpeakers?: number;
|
|
4009
4066
|
/** Keep the original voices instead of cloning them into the target language. */
|
|
4010
4067
|
disableVoiceCloning?: boolean;
|
|
4011
4068
|
/** Drop the background/music bed from the dubbed output. */
|
|
4012
4069
|
dropBackgroundAudio?: boolean;
|
|
4070
|
+
/** Dub only this window of the source (seconds). */
|
|
4071
|
+
startTime?: number;
|
|
4072
|
+
endTime?: number;
|
|
4073
|
+
/** Keep the source resolution on video dubs (slower render). */
|
|
4074
|
+
highestResolution?: boolean;
|
|
4075
|
+
useProfanityFilter?: boolean;
|
|
4076
|
+
/** Experimental: steer dubbed voices toward an accent. */
|
|
4077
|
+
targetAccent?: string;
|
|
4078
|
+
/** Apply ElevenLabs' own watermark to video dubs. */
|
|
4079
|
+
watermark?: boolean;
|
|
4013
4080
|
}
|
|
4014
4081
|
|
|
4015
4082
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -222,10 +222,17 @@ declare class WorkflowsResource {
|
|
|
222
222
|
}>;
|
|
223
223
|
/**
|
|
224
224
|
* Import a `WorkflowExport` bundle into the specified project.
|
|
225
|
-
* Re-creates any bundled assets (characters, objects, locations)
|
|
225
|
+
* Re-creates any bundled assets (characters, objects, creatures, locations)
|
|
226
|
+
* under your account, and re-points BOTH the entity nodes and every `@`-chip
|
|
227
|
+
* (`ConnectedReference`) bound in the graph at the rows it created.
|
|
226
228
|
* Media the bundle references on other hosts is copied onto this instance's
|
|
227
|
-
* storage where reachable;
|
|
228
|
-
*
|
|
229
|
+
* storage where reachable; a bundled entity's images are copied whoever
|
|
230
|
+
* hosts them, because they are the exporter's bytes and their lifecycle is
|
|
231
|
+
* not yours. `importReport` says what was copied, what could not be reached
|
|
232
|
+
* and what was skipped (and why); `assetIdMap` maps each bundled entity id
|
|
233
|
+
* to the row created for it (for chips you hold outside the graph), and
|
|
234
|
+
* `assetsSkipped` names the entities your storage quota left uncreated —
|
|
235
|
+
* the workflow itself still lands.
|
|
229
236
|
*/
|
|
230
237
|
import(input: WorkflowExport & {
|
|
231
238
|
projectId: string;
|
|
@@ -3769,6 +3776,32 @@ declare class VoicesResource {
|
|
|
3769
3776
|
dub(input: DubbingInput): Promise<{
|
|
3770
3777
|
jobId: string;
|
|
3771
3778
|
}>;
|
|
3779
|
+
/**
|
|
3780
|
+
* Voice a multi-speaker script as ONE audio file
|
|
3781
|
+
* (`POST /v1/text-to-dialogue`, ElevenLabs Dialogue v3). Each `dialogue`
|
|
3782
|
+
* line is `{ text, voice }` in speaking order — `voice` is a premade voice
|
|
3783
|
+
* name or an ElevenLabs voice UUID (cloned/library voices work too; mixed
|
|
3784
|
+
* casts are fine). At most 5,000 characters total across lines (≤2,000
|
|
3785
|
+
* recommended for best quality) and 10 unique voices. Line text may carry
|
|
3786
|
+
* `[audio tags]` like `[laughs]`. Costs credits and runs async — poll
|
|
3787
|
+
* `jobs.get(jobId)` for `output_data.audioUrl`.
|
|
3788
|
+
*/
|
|
3789
|
+
textToDialogue(input: {
|
|
3790
|
+
dialogue: Array<{
|
|
3791
|
+
text: string;
|
|
3792
|
+
voice: string;
|
|
3793
|
+
}>;
|
|
3794
|
+
/** v3 stability: 0 (most variable) | 0.5 (balanced) | 1 (most stable). */
|
|
3795
|
+
stability?: 0 | 0.5 | 1;
|
|
3796
|
+
/** ISO 639-1 language hint (e.g. "en"); auto-detected when omitted. */
|
|
3797
|
+
languageCode?: string;
|
|
3798
|
+
/** Deterministic sampling seed (integer 0–4294967295). Omit for random. */
|
|
3799
|
+
seed?: number;
|
|
3800
|
+
/** Spell out numbers/dates/abbreviations: "auto" (default) | "on" | "off". */
|
|
3801
|
+
applyTextNormalization?: "auto" | "on" | "off";
|
|
3802
|
+
}): Promise<{
|
|
3803
|
+
jobId: string;
|
|
3804
|
+
}>;
|
|
3772
3805
|
/**
|
|
3773
3806
|
* Clone a voice from an audio FILE you hold in memory
|
|
3774
3807
|
* (`POST /v1/voice-clones`, multipart) — the counterpart to
|
|
@@ -3795,6 +3828,18 @@ declare class VoicesResource {
|
|
|
3795
3828
|
type VoiceChangerProVoice = string | {
|
|
3796
3829
|
/** Target voice — premade name (`"Rachel"`, `"Aria"`, …) or an ElevenLabs UUID for a custom clone. */
|
|
3797
3830
|
voiceId: string;
|
|
3831
|
+
/**
|
|
3832
|
+
* Which lane converts this speaker. `"sts"` (default) is the classic
|
|
3833
|
+
* speech-to-speech recast; `"v3"` is RE-SPEAK — the performance is
|
|
3834
|
+
* REGENERATED from the transcript with eleven_v3 (supports `[audio
|
|
3835
|
+
* tags]`; original delivery is replaced, and lips won't match on video).
|
|
3836
|
+
* A v3 speaker needs transcript text: pass an `analysis` whose
|
|
3837
|
+
* `segments[].text` carries it (analyze now emits this), or omit
|
|
3838
|
+
* `analysis` and the engine re-speaks from its own transcription. For
|
|
3839
|
+
* `"v3"`, `stability` accepts exactly 0 / 0.5 / 1, and
|
|
3840
|
+
* `similarityBoost` / `style` / `useSpeakerBoost` are ignored.
|
|
3841
|
+
*/
|
|
3842
|
+
engine?: "sts" | "v3";
|
|
3798
3843
|
/** ElevenLabs stability (0–1). Higher = steadier, lower = more expressive. */
|
|
3799
3844
|
stability?: number;
|
|
3800
3845
|
/** ElevenLabs similarity boost (0–1) — how closely the output hugs the target voice's timbre. */
|
|
@@ -3897,10 +3942,13 @@ interface VoiceChangerProInput {
|
|
|
3897
3942
|
interface VcpAnalysisSpeaker {
|
|
3898
3943
|
/** Stable speaker id (first-appearance order). */
|
|
3899
3944
|
id: string;
|
|
3900
|
-
/** The speaker's spoken time ranges (seconds).
|
|
3945
|
+
/** The speaker's spoken time ranges (seconds). `text` is what was said in
|
|
3946
|
+
* the range — the paid input for a speaker recast with `engine: "v3"`
|
|
3947
|
+
* (editable before conversion); the STS lane ignores it. */
|
|
3901
3948
|
segments: Array<{
|
|
3902
3949
|
start: number;
|
|
3903
3950
|
end: number;
|
|
3951
|
+
text?: string;
|
|
3904
3952
|
}>;
|
|
3905
3953
|
/** When the speaker first speaks (seconds). */
|
|
3906
3954
|
firstStartSec?: number;
|
|
@@ -3996,20 +4044,39 @@ interface VoiceRemixInput {
|
|
|
3996
4044
|
/** Optional extra prompt context (≤8000 chars). */
|
|
3997
4045
|
userPrompt?: string;
|
|
3998
4046
|
}
|
|
3999
|
-
/** Input for {@link VoicesResource.dub}.
|
|
4047
|
+
/** Input for {@link VoicesResource.dub}. Provide exactly ONE source:
|
|
4048
|
+
* `audioUrl` (dubbed audio out), `videoUrl` (the dubbed VIDEO out, plus the
|
|
4049
|
+
* dubbed audio track as `output_data.audioUrl`), or `sourceUrl` (a public
|
|
4050
|
+
* YouTube/TikTok/direct link ElevenLabs fetches itself). Priced per minute
|
|
4051
|
+
* of the dubbed span; the span is capped at 30 minutes — use
|
|
4052
|
+
* `startTime`/`endTime` to dub part of a longer source. */
|
|
4000
4053
|
interface DubbingInput {
|
|
4001
|
-
/** URL of the audio to dub. */
|
|
4002
|
-
audioUrl
|
|
4054
|
+
/** URL of the audio to dub (audio mode). */
|
|
4055
|
+
audioUrl?: string;
|
|
4056
|
+
/** URL of the video to dub — the result is the dubbed VIDEO (+ audio track). */
|
|
4057
|
+
videoUrl?: string;
|
|
4058
|
+
/** Public page/media URL (YouTube, TikTok, or a direct link) — ElevenLabs fetches it directly. */
|
|
4059
|
+
sourceUrl?: string;
|
|
4003
4060
|
/** Target language ISO code (2–10 chars), e.g. `"es"`, `"pt-BR"`. */
|
|
4004
4061
|
targetLanguage: string;
|
|
4005
4062
|
/** Source language ISO code; auto-detected when omitted. */
|
|
4006
4063
|
sourceLanguage?: string;
|
|
4007
|
-
/** Expected number of speakers (1–20) — improves separation when known. */
|
|
4064
|
+
/** Expected number of speakers (1–20; 0 = auto-detect) — improves separation when known. */
|
|
4008
4065
|
numSpeakers?: number;
|
|
4009
4066
|
/** Keep the original voices instead of cloning them into the target language. */
|
|
4010
4067
|
disableVoiceCloning?: boolean;
|
|
4011
4068
|
/** Drop the background/music bed from the dubbed output. */
|
|
4012
4069
|
dropBackgroundAudio?: boolean;
|
|
4070
|
+
/** Dub only this window of the source (seconds). */
|
|
4071
|
+
startTime?: number;
|
|
4072
|
+
endTime?: number;
|
|
4073
|
+
/** Keep the source resolution on video dubs (slower render). */
|
|
4074
|
+
highestResolution?: boolean;
|
|
4075
|
+
useProfanityFilter?: boolean;
|
|
4076
|
+
/** Experimental: steer dubbed voices toward an accent. */
|
|
4077
|
+
targetAccent?: string;
|
|
4078
|
+
/** Apply ElevenLabs' own watermark to video dubs. */
|
|
4079
|
+
watermark?: boolean;
|
|
4013
4080
|
}
|
|
4014
4081
|
|
|
4015
4082
|
/**
|
package/dist/index.js
CHANGED
|
@@ -238,10 +238,17 @@ var WorkflowsResource = class {
|
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
240
|
* Import a `WorkflowExport` bundle into the specified project.
|
|
241
|
-
* Re-creates any bundled assets (characters, objects, locations)
|
|
241
|
+
* Re-creates any bundled assets (characters, objects, creatures, locations)
|
|
242
|
+
* under your account, and re-points BOTH the entity nodes and every `@`-chip
|
|
243
|
+
* (`ConnectedReference`) bound in the graph at the rows it created.
|
|
242
244
|
* Media the bundle references on other hosts is copied onto this instance's
|
|
243
|
-
* storage where reachable;
|
|
244
|
-
*
|
|
245
|
+
* storage where reachable; a bundled entity's images are copied whoever
|
|
246
|
+
* hosts them, because they are the exporter's bytes and their lifecycle is
|
|
247
|
+
* not yours. `importReport` says what was copied, what could not be reached
|
|
248
|
+
* and what was skipped (and why); `assetIdMap` maps each bundled entity id
|
|
249
|
+
* to the row created for it (for chips you hold outside the graph), and
|
|
250
|
+
* `assetsSkipped` names the entities your storage quota left uncreated —
|
|
251
|
+
* the workflow itself still lands.
|
|
245
252
|
*/
|
|
246
253
|
import(input) {
|
|
247
254
|
const { projectId, ...workflowJson } = input;
|
|
@@ -1756,6 +1763,19 @@ var VoicesResource = class {
|
|
|
1756
1763
|
dub(input) {
|
|
1757
1764
|
return this.client.request("POST", "/v1/dubbing", { body: input });
|
|
1758
1765
|
}
|
|
1766
|
+
/**
|
|
1767
|
+
* Voice a multi-speaker script as ONE audio file
|
|
1768
|
+
* (`POST /v1/text-to-dialogue`, ElevenLabs Dialogue v3). Each `dialogue`
|
|
1769
|
+
* line is `{ text, voice }` in speaking order — `voice` is a premade voice
|
|
1770
|
+
* name or an ElevenLabs voice UUID (cloned/library voices work too; mixed
|
|
1771
|
+
* casts are fine). At most 5,000 characters total across lines (≤2,000
|
|
1772
|
+
* recommended for best quality) and 10 unique voices. Line text may carry
|
|
1773
|
+
* `[audio tags]` like `[laughs]`. Costs credits and runs async — poll
|
|
1774
|
+
* `jobs.get(jobId)` for `output_data.audioUrl`.
|
|
1775
|
+
*/
|
|
1776
|
+
textToDialogue(input) {
|
|
1777
|
+
return this.client.request("POST", "/v1/text-to-dialogue", { body: input });
|
|
1778
|
+
}
|
|
1759
1779
|
/**
|
|
1760
1780
|
* Clone a voice from an audio FILE you hold in memory
|
|
1761
1781
|
* (`POST /v1/voice-clones`, multipart) — the counterpart to
|
|
@@ -2615,7 +2635,7 @@ var WorkspacesResource = class {
|
|
|
2615
2635
|
return this.client.request("POST", "/v1/workspaces/join", { body: { code } });
|
|
2616
2636
|
}
|
|
2617
2637
|
};
|
|
2618
|
-
var SDK_VERSION = "1.
|
|
2638
|
+
var SDK_VERSION = "1.25.0" ;
|
|
2619
2639
|
var CLIENT_HEADER = "X-Nodaro-Client";
|
|
2620
2640
|
var isBrowser = () => typeof window !== "undefined" && typeof window.document !== "undefined";
|
|
2621
2641
|
var NodaroClient = class _NodaroClient {
|