@runapi.ai/suno 0.2.1
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/LICENSE +201 -0
- package/README.md +43 -0
- package/dist/index.d.mts +531 -0
- package/dist/index.d.ts +531 -0
- package/dist/index.js +567 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +541 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +79 -0
- package/skills/suno/README.md +58 -0
- package/skills/suno/SKILL.md +238 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
// src/client.ts
|
|
2
|
+
import { createHttpClient } from "@runapi.ai/core";
|
|
3
|
+
|
|
4
|
+
// src/resources/text-to-music.ts
|
|
5
|
+
import { compactParams } from "@runapi.ai/core";
|
|
6
|
+
import { pollUntilComplete } from "@runapi.ai/core/internal";
|
|
7
|
+
var ENDPOINT = "/api/v1/suno/text_to_music";
|
|
8
|
+
var TextToMusic = class {
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
http;
|
|
13
|
+
async run(params, options) {
|
|
14
|
+
const { id } = await this.create(params, options);
|
|
15
|
+
const response = await pollUntilComplete(() => this.get(id, options), {
|
|
16
|
+
maxWaitMs: options?.maxWaitMs,
|
|
17
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
18
|
+
});
|
|
19
|
+
return response;
|
|
20
|
+
}
|
|
21
|
+
async create(params, options) {
|
|
22
|
+
return this.http.request("POST", ENDPOINT, {
|
|
23
|
+
body: compactParams(params),
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async get(id, options) {
|
|
28
|
+
return this.http.request("GET", `${ENDPOINT}/${id}`, {
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// src/resources/extend-music.ts
|
|
35
|
+
import { compactParams as compactParams2 } from "@runapi.ai/core";
|
|
36
|
+
import { pollUntilComplete as pollUntilComplete2 } from "@runapi.ai/core/internal";
|
|
37
|
+
var ENDPOINT2 = "/api/v1/suno/extend_music";
|
|
38
|
+
var ExtendMusic = class {
|
|
39
|
+
constructor(http) {
|
|
40
|
+
this.http = http;
|
|
41
|
+
}
|
|
42
|
+
http;
|
|
43
|
+
async run(params, options) {
|
|
44
|
+
const { id } = await this.create(params, options);
|
|
45
|
+
const response = await pollUntilComplete2(() => this.get(id, options), {
|
|
46
|
+
maxWaitMs: options?.maxWaitMs,
|
|
47
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
48
|
+
});
|
|
49
|
+
return response;
|
|
50
|
+
}
|
|
51
|
+
async create(params, options) {
|
|
52
|
+
return this.http.request("POST", ENDPOINT2, {
|
|
53
|
+
body: compactParams2(params),
|
|
54
|
+
...options
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async get(id, options) {
|
|
58
|
+
return this.http.request("GET", `${ENDPOINT2}/${id}`, {
|
|
59
|
+
...options
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// src/resources/generate-artwork.ts
|
|
65
|
+
import { compactParams as compactParams3 } from "@runapi.ai/core";
|
|
66
|
+
import { pollUntilComplete as pollUntilComplete3 } from "@runapi.ai/core/internal";
|
|
67
|
+
var ENDPOINT3 = "/api/v1/suno/generate_artwork";
|
|
68
|
+
var GenerateArtwork = class {
|
|
69
|
+
constructor(http) {
|
|
70
|
+
this.http = http;
|
|
71
|
+
}
|
|
72
|
+
http;
|
|
73
|
+
async run(params, options) {
|
|
74
|
+
const { id } = await this.create(params, options);
|
|
75
|
+
const response = await pollUntilComplete3(() => this.get(id, options), {
|
|
76
|
+
maxWaitMs: options?.maxWaitMs,
|
|
77
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
78
|
+
});
|
|
79
|
+
return response;
|
|
80
|
+
}
|
|
81
|
+
async create(params, options) {
|
|
82
|
+
return this.http.request("POST", ENDPOINT3, {
|
|
83
|
+
body: compactParams3(params),
|
|
84
|
+
...options
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async get(id, options) {
|
|
88
|
+
return this.http.request("GET", `${ENDPOINT3}/${id}`, {
|
|
89
|
+
...options
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
// src/resources/cover-audio.ts
|
|
95
|
+
import { compactParams as compactParams4 } from "@runapi.ai/core";
|
|
96
|
+
import { pollUntilComplete as pollUntilComplete4 } from "@runapi.ai/core/internal";
|
|
97
|
+
var ENDPOINT4 = "/api/v1/suno/cover_audio";
|
|
98
|
+
var CoverAudio = class {
|
|
99
|
+
constructor(http) {
|
|
100
|
+
this.http = http;
|
|
101
|
+
}
|
|
102
|
+
http;
|
|
103
|
+
async run(params, options) {
|
|
104
|
+
const { id } = await this.create(params, options);
|
|
105
|
+
const response = await pollUntilComplete4(() => this.get(id, options), {
|
|
106
|
+
maxWaitMs: options?.maxWaitMs,
|
|
107
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
108
|
+
});
|
|
109
|
+
return response;
|
|
110
|
+
}
|
|
111
|
+
async create(params, options) {
|
|
112
|
+
return this.http.request("POST", ENDPOINT4, {
|
|
113
|
+
body: compactParams4(params),
|
|
114
|
+
...options
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async get(id, options) {
|
|
118
|
+
return this.http.request("GET", `${ENDPOINT4}/${id}`, {
|
|
119
|
+
...options
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// src/resources/add-instrumental.ts
|
|
125
|
+
import { compactParams as compactParams5 } from "@runapi.ai/core";
|
|
126
|
+
import { pollUntilComplete as pollUntilComplete5 } from "@runapi.ai/core/internal";
|
|
127
|
+
var ENDPOINT5 = "/api/v1/suno/add_instrumental";
|
|
128
|
+
var AddInstrumental = class {
|
|
129
|
+
constructor(http) {
|
|
130
|
+
this.http = http;
|
|
131
|
+
}
|
|
132
|
+
http;
|
|
133
|
+
async run(params, options) {
|
|
134
|
+
const { id } = await this.create(params, options);
|
|
135
|
+
const response = await pollUntilComplete5(() => this.get(id, options), {
|
|
136
|
+
maxWaitMs: options?.maxWaitMs,
|
|
137
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
138
|
+
});
|
|
139
|
+
return response;
|
|
140
|
+
}
|
|
141
|
+
async create(params, options) {
|
|
142
|
+
return this.http.request("POST", ENDPOINT5, {
|
|
143
|
+
body: compactParams5(params),
|
|
144
|
+
...options
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
async get(id, options) {
|
|
148
|
+
return this.http.request("GET", `${ENDPOINT5}/${id}`, {
|
|
149
|
+
...options
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// src/resources/add-vocals.ts
|
|
155
|
+
import { compactParams as compactParams6 } from "@runapi.ai/core";
|
|
156
|
+
import { pollUntilComplete as pollUntilComplete6 } from "@runapi.ai/core/internal";
|
|
157
|
+
var ENDPOINT6 = "/api/v1/suno/add_vocals";
|
|
158
|
+
var AddVocals = class {
|
|
159
|
+
constructor(http) {
|
|
160
|
+
this.http = http;
|
|
161
|
+
}
|
|
162
|
+
http;
|
|
163
|
+
async run(params, options) {
|
|
164
|
+
const { id } = await this.create(params, options);
|
|
165
|
+
const response = await pollUntilComplete6(() => this.get(id, options), {
|
|
166
|
+
maxWaitMs: options?.maxWaitMs,
|
|
167
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
168
|
+
});
|
|
169
|
+
return response;
|
|
170
|
+
}
|
|
171
|
+
async create(params, options) {
|
|
172
|
+
return this.http.request("POST", ENDPOINT6, {
|
|
173
|
+
body: compactParams6(params),
|
|
174
|
+
...options
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
async get(id, options) {
|
|
178
|
+
return this.http.request("GET", `${ENDPOINT6}/${id}`, {
|
|
179
|
+
...options
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// src/resources/separate-audio-stems.ts
|
|
185
|
+
import { compactParams as compactParams7 } from "@runapi.ai/core";
|
|
186
|
+
import { pollUntilComplete as pollUntilComplete7 } from "@runapi.ai/core/internal";
|
|
187
|
+
var ENDPOINT7 = "/api/v1/suno/separate_audio_stems";
|
|
188
|
+
var SeparateAudioStems = class {
|
|
189
|
+
constructor(http) {
|
|
190
|
+
this.http = http;
|
|
191
|
+
}
|
|
192
|
+
http;
|
|
193
|
+
async run(params, options) {
|
|
194
|
+
const { id } = await this.create(params, options);
|
|
195
|
+
const response = await pollUntilComplete7(() => this.get(id, options), {
|
|
196
|
+
maxWaitMs: options?.maxWaitMs,
|
|
197
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
198
|
+
});
|
|
199
|
+
return response;
|
|
200
|
+
}
|
|
201
|
+
async create(params, options) {
|
|
202
|
+
return this.http.request("POST", ENDPOINT7, {
|
|
203
|
+
body: compactParams7(params),
|
|
204
|
+
...options
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
async get(id, options) {
|
|
208
|
+
return this.http.request("GET", `${ENDPOINT7}/${id}`, {
|
|
209
|
+
...options
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
// src/resources/generate-midi.ts
|
|
215
|
+
import { compactParams as compactParams8 } from "@runapi.ai/core";
|
|
216
|
+
import { pollUntilComplete as pollUntilComplete8 } from "@runapi.ai/core/internal";
|
|
217
|
+
var ENDPOINT8 = "/api/v1/suno/generate_midi";
|
|
218
|
+
var GenerateMidi = class {
|
|
219
|
+
constructor(http) {
|
|
220
|
+
this.http = http;
|
|
221
|
+
}
|
|
222
|
+
http;
|
|
223
|
+
async run(params, options) {
|
|
224
|
+
const { id } = await this.create(params, options);
|
|
225
|
+
const response = await pollUntilComplete8(() => this.get(id, options), {
|
|
226
|
+
maxWaitMs: options?.maxWaitMs,
|
|
227
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
228
|
+
});
|
|
229
|
+
return response;
|
|
230
|
+
}
|
|
231
|
+
async create(params, options) {
|
|
232
|
+
return this.http.request("POST", ENDPOINT8, {
|
|
233
|
+
body: compactParams8(params),
|
|
234
|
+
...options
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
async get(id, options) {
|
|
238
|
+
return this.http.request("GET", `${ENDPOINT8}/${id}`, {
|
|
239
|
+
...options
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// src/resources/convert-audio.ts
|
|
245
|
+
import { compactParams as compactParams9 } from "@runapi.ai/core";
|
|
246
|
+
import { pollUntilComplete as pollUntilComplete9 } from "@runapi.ai/core/internal";
|
|
247
|
+
var ENDPOINT9 = "/api/v1/suno/convert_audio";
|
|
248
|
+
var ConvertAudio = class {
|
|
249
|
+
constructor(http) {
|
|
250
|
+
this.http = http;
|
|
251
|
+
}
|
|
252
|
+
http;
|
|
253
|
+
async run(params, options) {
|
|
254
|
+
const { id } = await this.create(params, options);
|
|
255
|
+
const response = await pollUntilComplete9(() => this.get(id, options), {
|
|
256
|
+
maxWaitMs: options?.maxWaitMs,
|
|
257
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
258
|
+
});
|
|
259
|
+
return response;
|
|
260
|
+
}
|
|
261
|
+
async create(params, options) {
|
|
262
|
+
return this.http.request("POST", ENDPOINT9, {
|
|
263
|
+
body: compactParams9(params),
|
|
264
|
+
...options
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
async get(id, options) {
|
|
268
|
+
return this.http.request("GET", `${ENDPOINT9}/${id}`, {
|
|
269
|
+
...options
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
// src/resources/visualize-music.ts
|
|
275
|
+
import { compactParams as compactParams10 } from "@runapi.ai/core";
|
|
276
|
+
import { pollUntilComplete as pollUntilComplete10 } from "@runapi.ai/core/internal";
|
|
277
|
+
var ENDPOINT10 = "/api/v1/suno/visualize_music";
|
|
278
|
+
var VisualizeMusic = class {
|
|
279
|
+
constructor(http) {
|
|
280
|
+
this.http = http;
|
|
281
|
+
}
|
|
282
|
+
http;
|
|
283
|
+
async run(params, options) {
|
|
284
|
+
const { id } = await this.create(params, options);
|
|
285
|
+
const response = await pollUntilComplete10(() => this.get(id, options), {
|
|
286
|
+
maxWaitMs: options?.maxWaitMs,
|
|
287
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
288
|
+
});
|
|
289
|
+
return response;
|
|
290
|
+
}
|
|
291
|
+
async create(params, options) {
|
|
292
|
+
return this.http.request("POST", ENDPOINT10, {
|
|
293
|
+
body: compactParams10(params),
|
|
294
|
+
...options
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
async get(id, options) {
|
|
298
|
+
return this.http.request("GET", `${ENDPOINT10}/${id}`, {
|
|
299
|
+
...options
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
// src/resources/generate-lyrics.ts
|
|
305
|
+
import { compactParams as compactParams11 } from "@runapi.ai/core";
|
|
306
|
+
import { pollUntilComplete as pollUntilComplete11 } from "@runapi.ai/core/internal";
|
|
307
|
+
var ENDPOINT11 = "/api/v1/suno/generate_lyrics";
|
|
308
|
+
var GenerateLyrics = class {
|
|
309
|
+
constructor(http) {
|
|
310
|
+
this.http = http;
|
|
311
|
+
}
|
|
312
|
+
http;
|
|
313
|
+
async run(params, options) {
|
|
314
|
+
const { id } = await this.create(params, options);
|
|
315
|
+
const response = await pollUntilComplete11(() => this.get(id, options), {
|
|
316
|
+
maxWaitMs: options?.maxWaitMs,
|
|
317
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
318
|
+
});
|
|
319
|
+
return response;
|
|
320
|
+
}
|
|
321
|
+
async create(params, options) {
|
|
322
|
+
return this.http.request("POST", ENDPOINT11, {
|
|
323
|
+
body: compactParams11(params),
|
|
324
|
+
...options
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
async get(id, options) {
|
|
328
|
+
return this.http.request("GET", `${ENDPOINT11}/${id}`, {
|
|
329
|
+
...options
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
// src/resources/get-timestamped-lyrics.ts
|
|
335
|
+
import { compactParams as compactParams12 } from "@runapi.ai/core";
|
|
336
|
+
var ENDPOINT12 = "/api/v1/suno/get_timestamped_lyrics";
|
|
337
|
+
var GetTimestampedLyrics = class {
|
|
338
|
+
constructor(http) {
|
|
339
|
+
this.http = http;
|
|
340
|
+
}
|
|
341
|
+
http;
|
|
342
|
+
async run(params, options) {
|
|
343
|
+
return this.http.request("POST", ENDPOINT12, {
|
|
344
|
+
body: compactParams12(params),
|
|
345
|
+
...options
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
// src/resources/replace-section.ts
|
|
351
|
+
import { compactParams as compactParams13 } from "@runapi.ai/core";
|
|
352
|
+
import { pollUntilComplete as pollUntilComplete12 } from "@runapi.ai/core/internal";
|
|
353
|
+
var ENDPOINT13 = "/api/v1/suno/replace_section";
|
|
354
|
+
var ReplaceSection = class {
|
|
355
|
+
constructor(http) {
|
|
356
|
+
this.http = http;
|
|
357
|
+
}
|
|
358
|
+
http;
|
|
359
|
+
async run(params, options) {
|
|
360
|
+
const { id } = await this.create(params, options);
|
|
361
|
+
const response = await pollUntilComplete12(() => this.get(id, options), {
|
|
362
|
+
maxWaitMs: options?.maxWaitMs,
|
|
363
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
364
|
+
});
|
|
365
|
+
return response;
|
|
366
|
+
}
|
|
367
|
+
async create(params, options) {
|
|
368
|
+
return this.http.request("POST", ENDPOINT13, {
|
|
369
|
+
body: compactParams13(params),
|
|
370
|
+
...options
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
async get(id, options) {
|
|
374
|
+
return this.http.request("GET", `${ENDPOINT13}/${id}`, {
|
|
375
|
+
...options
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
// src/resources/create-mashup.ts
|
|
381
|
+
import { compactParams as compactParams14 } from "@runapi.ai/core";
|
|
382
|
+
import { pollUntilComplete as pollUntilComplete13 } from "@runapi.ai/core/internal";
|
|
383
|
+
var ENDPOINT14 = "/api/v1/suno/create_mashup";
|
|
384
|
+
var CreateMashup = class {
|
|
385
|
+
constructor(http) {
|
|
386
|
+
this.http = http;
|
|
387
|
+
}
|
|
388
|
+
http;
|
|
389
|
+
async run(params, options) {
|
|
390
|
+
const { id } = await this.create(params, options);
|
|
391
|
+
const response = await pollUntilComplete13(() => this.get(id, options), {
|
|
392
|
+
maxWaitMs: options?.maxWaitMs,
|
|
393
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
394
|
+
});
|
|
395
|
+
return response;
|
|
396
|
+
}
|
|
397
|
+
async create(params, options) {
|
|
398
|
+
return this.http.request("POST", ENDPOINT14, {
|
|
399
|
+
body: compactParams14(params),
|
|
400
|
+
...options
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
async get(id, options) {
|
|
404
|
+
return this.http.request("GET", `${ENDPOINT14}/${id}`, {
|
|
405
|
+
...options
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
};
|
|
409
|
+
|
|
410
|
+
// src/resources/text-to-sound.ts
|
|
411
|
+
import { compactParams as compactParams15 } from "@runapi.ai/core";
|
|
412
|
+
import { pollUntilComplete as pollUntilComplete14 } from "@runapi.ai/core/internal";
|
|
413
|
+
var ENDPOINT15 = "/api/v1/suno/text_to_sound";
|
|
414
|
+
var TextToSound = class {
|
|
415
|
+
constructor(http) {
|
|
416
|
+
this.http = http;
|
|
417
|
+
}
|
|
418
|
+
http;
|
|
419
|
+
async run(params, options) {
|
|
420
|
+
const { id } = await this.create(params, options);
|
|
421
|
+
const response = await pollUntilComplete14(() => this.get(id, options), {
|
|
422
|
+
maxWaitMs: options?.maxWaitMs,
|
|
423
|
+
pollIntervalMs: options?.pollIntervalMs
|
|
424
|
+
});
|
|
425
|
+
return response;
|
|
426
|
+
}
|
|
427
|
+
async create(params, options) {
|
|
428
|
+
return this.http.request("POST", ENDPOINT15, {
|
|
429
|
+
body: compactParams15(params),
|
|
430
|
+
...options
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
async get(id, options) {
|
|
434
|
+
return this.http.request("GET", `${ENDPOINT15}/${id}`, {
|
|
435
|
+
...options
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
// src/resources/generate-persona.ts
|
|
441
|
+
import { compactParams as compactParams16 } from "@runapi.ai/core";
|
|
442
|
+
var ENDPOINT16 = "/api/v1/suno/generate_persona";
|
|
443
|
+
var GeneratePersona = class {
|
|
444
|
+
constructor(http) {
|
|
445
|
+
this.http = http;
|
|
446
|
+
}
|
|
447
|
+
http;
|
|
448
|
+
async run(params, options) {
|
|
449
|
+
return this.http.request("POST", ENDPOINT16, {
|
|
450
|
+
body: compactParams16(params),
|
|
451
|
+
...options
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
// src/resources/boost-style.ts
|
|
457
|
+
import { compactParams as compactParams17 } from "@runapi.ai/core";
|
|
458
|
+
var ENDPOINT17 = "/api/v1/suno/boost_style";
|
|
459
|
+
var BoostStyle = class {
|
|
460
|
+
constructor(http) {
|
|
461
|
+
this.http = http;
|
|
462
|
+
}
|
|
463
|
+
http;
|
|
464
|
+
async run(params, options) {
|
|
465
|
+
return this.http.request("POST", ENDPOINT17, {
|
|
466
|
+
body: compactParams17(params),
|
|
467
|
+
...options
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
|
|
472
|
+
// src/client.ts
|
|
473
|
+
var SunoClient = class {
|
|
474
|
+
textToMusic;
|
|
475
|
+
extendMusic;
|
|
476
|
+
generateArtwork;
|
|
477
|
+
coverAudio;
|
|
478
|
+
addInstrumental;
|
|
479
|
+
addVocals;
|
|
480
|
+
separateAudioStems;
|
|
481
|
+
generateMidi;
|
|
482
|
+
convertAudio;
|
|
483
|
+
visualizeMusic;
|
|
484
|
+
generateLyrics;
|
|
485
|
+
getTimestampedLyrics;
|
|
486
|
+
replaceSection;
|
|
487
|
+
createMashup;
|
|
488
|
+
textToSound;
|
|
489
|
+
generatePersona;
|
|
490
|
+
boostStyle;
|
|
491
|
+
constructor(options = {}) {
|
|
492
|
+
const http = createHttpClient(options);
|
|
493
|
+
this.textToMusic = new TextToMusic(http);
|
|
494
|
+
this.extendMusic = new ExtendMusic(http);
|
|
495
|
+
this.generateArtwork = new GenerateArtwork(http);
|
|
496
|
+
this.coverAudio = new CoverAudio(http);
|
|
497
|
+
this.addInstrumental = new AddInstrumental(http);
|
|
498
|
+
this.addVocals = new AddVocals(http);
|
|
499
|
+
this.separateAudioStems = new SeparateAudioStems(http);
|
|
500
|
+
this.generateMidi = new GenerateMidi(http);
|
|
501
|
+
this.convertAudio = new ConvertAudio(http);
|
|
502
|
+
this.visualizeMusic = new VisualizeMusic(http);
|
|
503
|
+
this.generateLyrics = new GenerateLyrics(http);
|
|
504
|
+
this.getTimestampedLyrics = new GetTimestampedLyrics(http);
|
|
505
|
+
this.replaceSection = new ReplaceSection(http);
|
|
506
|
+
this.createMashup = new CreateMashup(http);
|
|
507
|
+
this.textToSound = new TextToSound(http);
|
|
508
|
+
this.generatePersona = new GeneratePersona(http);
|
|
509
|
+
this.boostStyle = new BoostStyle(http);
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
|
|
513
|
+
// src/index.ts
|
|
514
|
+
import {
|
|
515
|
+
RunApiError,
|
|
516
|
+
AuthenticationError,
|
|
517
|
+
InsufficientCreditsError,
|
|
518
|
+
NotFoundError,
|
|
519
|
+
ValidationError,
|
|
520
|
+
RateLimitError,
|
|
521
|
+
ServiceUnavailableError,
|
|
522
|
+
NetworkError,
|
|
523
|
+
TimeoutError,
|
|
524
|
+
TaskTimeoutError,
|
|
525
|
+
TaskFailedError
|
|
526
|
+
} from "@runapi.ai/core";
|
|
527
|
+
export {
|
|
528
|
+
AuthenticationError,
|
|
529
|
+
InsufficientCreditsError,
|
|
530
|
+
NetworkError,
|
|
531
|
+
NotFoundError,
|
|
532
|
+
RateLimitError,
|
|
533
|
+
RunApiError,
|
|
534
|
+
ServiceUnavailableError,
|
|
535
|
+
SunoClient,
|
|
536
|
+
TaskFailedError,
|
|
537
|
+
TaskTimeoutError,
|
|
538
|
+
TimeoutError,
|
|
539
|
+
ValidationError
|
|
540
|
+
};
|
|
541
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/resources/text-to-music.ts","../src/resources/extend-music.ts","../src/resources/generate-artwork.ts","../src/resources/cover-audio.ts","../src/resources/add-instrumental.ts","../src/resources/add-vocals.ts","../src/resources/separate-audio-stems.ts","../src/resources/generate-midi.ts","../src/resources/convert-audio.ts","../src/resources/visualize-music.ts","../src/resources/generate-lyrics.ts","../src/resources/get-timestamped-lyrics.ts","../src/resources/replace-section.ts","../src/resources/create-mashup.ts","../src/resources/text-to-sound.ts","../src/resources/generate-persona.ts","../src/resources/boost-style.ts","../src/index.ts"],"sourcesContent":["import { createHttpClient, type ClientOptions } from '@runapi.ai/core';\nimport { TextToMusic } from './resources/text-to-music';\nimport { ExtendMusic } from './resources/extend-music';\nimport { GenerateArtwork } from './resources/generate-artwork';\nimport { CoverAudio } from './resources/cover-audio';\nimport { AddInstrumental } from './resources/add-instrumental';\nimport { AddVocals } from './resources/add-vocals';\nimport { SeparateAudioStems } from './resources/separate-audio-stems';\nimport { GenerateMidi } from './resources/generate-midi';\nimport { ConvertAudio } from './resources/convert-audio';\nimport { VisualizeMusic } from './resources/visualize-music';\nimport { GenerateLyrics } from './resources/generate-lyrics';\nimport { GetTimestampedLyrics } from './resources/get-timestamped-lyrics';\nimport { ReplaceSection } from './resources/replace-section';\nimport { CreateMashup } from './resources/create-mashup';\nimport { TextToSound } from './resources/text-to-sound';\nimport { GeneratePersona } from './resources/generate-persona';\nimport { BoostStyle } from './resources/boost-style';\n\n/**\n * Suno API client.\n *\n * @example\n * ```typescript\n * const client = new SunoClient({\n * apiKey: 'your-api-key',\n * baseUrl: 'https://runapi.ai',\n * });\n *\n * const result = await client.textToMusic.run({\n * custom_mode: false,\n * instrumental: false,\n * prompt: 'A chill lo-fi beat with soft vocals',\n * model: 'V4_5PLUS',\n * });\n * ```\n */\nexport class SunoClient {\n public readonly textToMusic: TextToMusic;\n public readonly extendMusic: ExtendMusic;\n public readonly generateArtwork: GenerateArtwork;\n public readonly coverAudio: CoverAudio;\n public readonly addInstrumental: AddInstrumental;\n public readonly addVocals: AddVocals;\n public readonly separateAudioStems: SeparateAudioStems;\n public readonly generateMidi: GenerateMidi;\n public readonly convertAudio: ConvertAudio;\n public readonly visualizeMusic: VisualizeMusic;\n public readonly generateLyrics: GenerateLyrics;\n public readonly getTimestampedLyrics: GetTimestampedLyrics;\n public readonly replaceSection: ReplaceSection;\n public readonly createMashup: CreateMashup;\n public readonly textToSound: TextToSound;\n public readonly generatePersona: GeneratePersona;\n public readonly boostStyle: BoostStyle;\n\n constructor(options: ClientOptions = {}) {\n const http = createHttpClient(options);\n this.textToMusic = new TextToMusic(http);\n this.extendMusic = new ExtendMusic(http);\n this.generateArtwork = new GenerateArtwork(http);\n this.coverAudio = new CoverAudio(http);\n this.addInstrumental = new AddInstrumental(http);\n this.addVocals = new AddVocals(http);\n this.separateAudioStems = new SeparateAudioStems(http);\n this.generateMidi = new GenerateMidi(http);\n this.convertAudio = new ConvertAudio(http);\n this.visualizeMusic = new VisualizeMusic(http);\n this.generateLyrics = new GenerateLyrics(http);\n this.getTimestampedLyrics = new GetTimestampedLyrics(http);\n this.replaceSection = new ReplaceSection(http);\n this.createMashup = new CreateMashup(http);\n this.textToSound = new TextToSound(http);\n this.generatePersona = new GeneratePersona(http);\n this.boostStyle = new BoostStyle(http);\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedTextToMusicResponse, TextToMusicParams, TextToMusicResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/text_to_music';\n\nexport class TextToMusic {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: TextToMusicParams, options?: RequestOptions & PollingOptions): Promise<CompletedTextToMusicResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<TextToMusicResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedTextToMusicResponse;\n }\n\n async create(params: TextToMusicParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<TextToMusicResponse> {\n return this.http.request<TextToMusicResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedExtendMusicResponse, ExtendMusicParams, ExtendMusicResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/extend_music';\n\nexport class ExtendMusic {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: ExtendMusicParams, options?: RequestOptions & PollingOptions): Promise<CompletedExtendMusicResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<ExtendMusicResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedExtendMusicResponse;\n }\n\n async create(params: ExtendMusicParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<ExtendMusicResponse> {\n return this.http.request<ExtendMusicResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedGenerateArtworkResponse, GenerateArtworkParams, GenerateArtworkResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/generate_artwork';\n\nexport class GenerateArtwork {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: GenerateArtworkParams, options?: RequestOptions & PollingOptions): Promise<CompletedGenerateArtworkResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<GenerateArtworkResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedGenerateArtworkResponse;\n }\n\n async create(params: GenerateArtworkParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<GenerateArtworkResponse> {\n return this.http.request<GenerateArtworkResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedCoverAudioResponse, CoverAudioParams, CoverAudioResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/cover_audio';\n\nexport class CoverAudio {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: CoverAudioParams, options?: RequestOptions & PollingOptions): Promise<CompletedCoverAudioResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<CoverAudioResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedCoverAudioResponse;\n }\n\n async create(params: CoverAudioParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<CoverAudioResponse> {\n return this.http.request<CoverAudioResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedAddInstrumentalResponse, AddInstrumentalParams, AddInstrumentalResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/add_instrumental';\n\nexport class AddInstrumental {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: AddInstrumentalParams, options?: RequestOptions & PollingOptions): Promise<CompletedAddInstrumentalResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<AddInstrumentalResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedAddInstrumentalResponse;\n }\n\n async create(params: AddInstrumentalParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<AddInstrumentalResponse> {\n return this.http.request<AddInstrumentalResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedAddVocalsResponse, AddVocalsParams, AddVocalsResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/add_vocals';\n\nexport class AddVocals {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: AddVocalsParams, options?: RequestOptions & PollingOptions): Promise<CompletedAddVocalsResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<AddVocalsResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedAddVocalsResponse;\n }\n\n async create(params: AddVocalsParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<AddVocalsResponse> {\n return this.http.request<AddVocalsResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedSeparateAudioStemsResponse, SeparateAudioStemsParams, SeparateAudioStemsResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/separate_audio_stems';\n\nexport class SeparateAudioStems {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: SeparateAudioStemsParams, options?: RequestOptions & PollingOptions): Promise<CompletedSeparateAudioStemsResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<SeparateAudioStemsResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedSeparateAudioStemsResponse;\n }\n\n async create(params: SeparateAudioStemsParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<SeparateAudioStemsResponse> {\n return this.http.request<SeparateAudioStemsResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedGenerateMidiResponse, GenerateMidiParams, GenerateMidiResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/generate_midi';\n\nexport class GenerateMidi {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: GenerateMidiParams, options?: RequestOptions & PollingOptions): Promise<CompletedGenerateMidiResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<GenerateMidiResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedGenerateMidiResponse;\n }\n\n async create(params: GenerateMidiParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<GenerateMidiResponse> {\n return this.http.request<GenerateMidiResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedConvertAudioResponse, ConvertAudioParams, ConvertAudioResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/convert_audio';\n\nexport class ConvertAudio {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: ConvertAudioParams, options?: RequestOptions & PollingOptions): Promise<CompletedConvertAudioResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<ConvertAudioResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedConvertAudioResponse;\n }\n\n async create(params: ConvertAudioParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<ConvertAudioResponse> {\n return this.http.request<ConvertAudioResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedVisualizeMusicResponse, VisualizeMusicParams, VisualizeMusicResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/visualize_music';\n\nexport class VisualizeMusic {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: VisualizeMusicParams, options?: RequestOptions & PollingOptions): Promise<CompletedVisualizeMusicResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<VisualizeMusicResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedVisualizeMusicResponse;\n }\n\n async create(params: VisualizeMusicParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<VisualizeMusicResponse> {\n return this.http.request<VisualizeMusicResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedGenerateLyricsResponse, GenerateLyricsParams, GenerateLyricsResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/generate_lyrics';\n\nexport class GenerateLyrics {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: GenerateLyricsParams, options?: RequestOptions & PollingOptions): Promise<CompletedGenerateLyricsResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<GenerateLyricsResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedGenerateLyricsResponse;\n }\n\n async create(params: GenerateLyricsParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<GenerateLyricsResponse> {\n return this.http.request<GenerateLyricsResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport type { GetTimestampedLyricsParams, GetTimestampedLyricsResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/get_timestamped_lyrics';\n\nexport class GetTimestampedLyrics {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: GetTimestampedLyricsParams, options?: RequestOptions): Promise<GetTimestampedLyricsResponse> {\n return this.http.request<GetTimestampedLyricsResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedReplaceSectionResponse, ReplaceSectionParams, ReplaceSectionResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/replace_section';\n\nexport class ReplaceSection {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: ReplaceSectionParams, options?: RequestOptions & PollingOptions): Promise<CompletedReplaceSectionResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<ReplaceSectionResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedReplaceSectionResponse;\n }\n\n async create(params: ReplaceSectionParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<ReplaceSectionResponse> {\n return this.http.request<ReplaceSectionResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedCreateMashupResponse, CreateMashupParams, CreateMashupResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/create_mashup';\n\nexport class CreateMashup {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: CreateMashupParams, options?: RequestOptions & PollingOptions): Promise<CompletedCreateMashupResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<CreateMashupResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedCreateMashupResponse;\n }\n\n async create(params: CreateMashupParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<CreateMashupResponse> {\n return this.http.request<CreateMashupResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions, PollingOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport { pollUntilComplete } from '@runapi.ai/core/internal';\nimport type { CompletedTextToSoundResponse, TextToSoundParams, TextToSoundResponse, TaskCreateResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/text_to_sound';\n\nexport class TextToSound {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: TextToSoundParams, options?: RequestOptions & PollingOptions): Promise<CompletedTextToSoundResponse> {\n const { id } = await this.create(params, options);\n const response = await pollUntilComplete<TextToSoundResponse>(() => this.get(id, options), {\n maxWaitMs: options?.maxWaitMs,\n pollIntervalMs: options?.pollIntervalMs,\n });\n return response as CompletedTextToSoundResponse;\n }\n\n async create(params: TextToSoundParams, options?: RequestOptions): Promise<TaskCreateResponse> {\n return this.http.request<TaskCreateResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n\n async get(id: string, options?: RequestOptions): Promise<TextToSoundResponse> {\n return this.http.request<TextToSoundResponse>('GET', `${ENDPOINT}/${id}`, {\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport type { GeneratePersonaParams, GeneratePersonaResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/generate_persona';\n\nexport class GeneratePersona {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: GeneratePersonaParams, options?: RequestOptions): Promise<GeneratePersonaResponse> {\n return this.http.request<GeneratePersonaResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n}\n","import type { HttpClient, RequestOptions } from '@runapi.ai/core';\nimport { compactParams } from '@runapi.ai/core';\nimport type { BoostStyleParams, BoostStyleResponse } from '../types';\n\nconst ENDPOINT = '/api/v1/suno/boost_style';\n\nexport class BoostStyle {\n constructor(private readonly http: HttpClient) {}\n\n async run(params: BoostStyleParams, options?: RequestOptions): Promise<BoostStyleResponse> {\n return this.http.request<BoostStyleResponse>('POST', ENDPOINT, {\n body: compactParams(params),\n ...options,\n });\n }\n}\n","export { SunoClient } from './client';\nexport * from './types';\n\n// Re-export common errors from core for convenience\nexport {\n RunApiError,\n AuthenticationError,\n InsufficientCreditsError,\n NotFoundError,\n ValidationError,\n RateLimitError,\n ServiceUnavailableError,\n NetworkError,\n TimeoutError,\n TaskTimeoutError,\n TaskFailedError,\n} from '@runapi.ai/core';\n"],"mappings":"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","names":["compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","pollUntilComplete","ENDPOINT","compactParams","ENDPOINT","compactParams","ENDPOINT"]}
|