@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/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"]}