n8n-nodes-speechall 0.1.2

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.
Files changed (59) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +165 -0
  3. package/dist/credentials/SpeechallApi.credentials.d.ts +13 -0
  4. package/dist/credentials/SpeechallApi.credentials.js +43 -0
  5. package/dist/credentials/SpeechallApi.credentials.js.map +1 -0
  6. package/dist/nodes/Speechall/Speechall.node.d.ts +11 -0
  7. package/dist/nodes/Speechall/Speechall.node.js +79 -0
  8. package/dist/nodes/Speechall/Speechall.node.js.map +1 -0
  9. package/dist/nodes/Speechall/Speechall.node.json +18 -0
  10. package/dist/nodes/Speechall/descriptions/SpeechToText.description.d.ts +2 -0
  11. package/dist/nodes/Speechall/descriptions/SpeechToText.description.js +154 -0
  12. package/dist/nodes/Speechall/descriptions/SpeechToText.description.js.map +1 -0
  13. package/dist/nodes/Speechall/generated/speechall-openapi.d.ts +528 -0
  14. package/dist/nodes/Speechall/generated/speechall-openapi.js +3 -0
  15. package/dist/nodes/Speechall/generated/speechall-openapi.js.map +1 -0
  16. package/dist/nodes/Speechall/helpers/binary.d.ts +8 -0
  17. package/dist/nodes/Speechall/helpers/binary.js +29 -0
  18. package/dist/nodes/Speechall/helpers/binary.js.map +1 -0
  19. package/dist/nodes/Speechall/helpers/fields.d.ts +11 -0
  20. package/dist/nodes/Speechall/helpers/fields.js +344 -0
  21. package/dist/nodes/Speechall/helpers/fields.js.map +1 -0
  22. package/dist/nodes/Speechall/helpers/models.d.ts +13 -0
  23. package/dist/nodes/Speechall/helpers/models.js +148 -0
  24. package/dist/nodes/Speechall/helpers/models.js.map +1 -0
  25. package/dist/nodes/Speechall/helpers/normalize.d.ts +14 -0
  26. package/dist/nodes/Speechall/helpers/normalize.js +109 -0
  27. package/dist/nodes/Speechall/helpers/normalize.js.map +1 -0
  28. package/dist/nodes/Speechall/helpers/replacementRules.d.ts +4 -0
  29. package/dist/nodes/Speechall/helpers/replacementRules.js +130 -0
  30. package/dist/nodes/Speechall/helpers/replacementRules.js.map +1 -0
  31. package/dist/nodes/Speechall/helpers/types.d.ts +74 -0
  32. package/dist/nodes/Speechall/helpers/types.js +5 -0
  33. package/dist/nodes/Speechall/helpers/types.js.map +1 -0
  34. package/dist/nodes/Speechall/loadOptions/getSpeechToTextModels.d.ts +2 -0
  35. package/dist/nodes/Speechall/loadOptions/getSpeechToTextModels.js +13 -0
  36. package/dist/nodes/Speechall/loadOptions/getSpeechToTextModels.js.map +1 -0
  37. package/dist/nodes/Speechall/operations/listModels.operation.d.ts +2 -0
  38. package/dist/nodes/Speechall/operations/listModels.operation.js +30 -0
  39. package/dist/nodes/Speechall/operations/listModels.operation.js.map +1 -0
  40. package/dist/nodes/Speechall/operations/transcribeFile.operation.d.ts +2 -0
  41. package/dist/nodes/Speechall/operations/transcribeFile.operation.js +149 -0
  42. package/dist/nodes/Speechall/operations/transcribeFile.operation.js.map +1 -0
  43. package/dist/nodes/Speechall/operations/transcribeRemoteUrl.operation.d.ts +2 -0
  44. package/dist/nodes/Speechall/operations/transcribeRemoteUrl.operation.js +132 -0
  45. package/dist/nodes/Speechall/operations/transcribeRemoteUrl.operation.js.map +1 -0
  46. package/dist/nodes/Speechall/speechall.dark.svg +7 -0
  47. package/dist/nodes/Speechall/speechall.svg +7 -0
  48. package/dist/nodes/Speechall/transport/errors.d.ts +12 -0
  49. package/dist/nodes/Speechall/transport/errors.js +151 -0
  50. package/dist/nodes/Speechall/transport/errors.js.map +1 -0
  51. package/dist/nodes/Speechall/transport/speechallApiRequest.d.ts +15 -0
  52. package/dist/nodes/Speechall/transport/speechallApiRequest.js +81 -0
  53. package/dist/nodes/Speechall/transport/speechallApiRequest.js.map +1 -0
  54. package/dist/package.json +68 -0
  55. package/examples/google-drive-audio-to-transcript.json +71 -0
  56. package/examples/meeting-recording-to-diarized-transcript.json +59 -0
  57. package/examples/remote-podcast-url-to-srt.json +66 -0
  58. package/examples/webhook-audio-upload-to-json-transcript.json +64 -0
  59. package/package.json +68 -0
@@ -0,0 +1,528 @@
1
+ export interface paths {
2
+ "/transcribe": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ get?: never;
10
+ put?: never;
11
+ post: operations["transcribe"];
12
+ delete?: never;
13
+ options?: never;
14
+ head?: never;
15
+ patch?: never;
16
+ trace?: never;
17
+ };
18
+ "/transcribe-remote": {
19
+ parameters: {
20
+ query?: never;
21
+ header?: never;
22
+ path?: never;
23
+ cookie?: never;
24
+ };
25
+ get?: never;
26
+ put?: never;
27
+ post: operations["transcribeRemote"];
28
+ delete?: never;
29
+ options?: never;
30
+ head?: never;
31
+ patch?: never;
32
+ trace?: never;
33
+ };
34
+ "/openai-compatible/audio/transcriptions": {
35
+ parameters: {
36
+ query?: never;
37
+ header?: never;
38
+ path?: never;
39
+ cookie?: never;
40
+ };
41
+ get?: never;
42
+ put?: never;
43
+ post: operations["openaiCompatibleCreateTranscription"];
44
+ delete?: never;
45
+ options?: never;
46
+ head?: never;
47
+ patch?: never;
48
+ trace?: never;
49
+ };
50
+ "/openai-compatible/audio/translations": {
51
+ parameters: {
52
+ query?: never;
53
+ header?: never;
54
+ path?: never;
55
+ cookie?: never;
56
+ };
57
+ get?: never;
58
+ put?: never;
59
+ post: operations["openaiCompatibleCreateTranslation"];
60
+ delete?: never;
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/replacement-rulesets": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ get?: never;
74
+ put?: never;
75
+ post: operations["createReplacementRuleset"];
76
+ delete?: never;
77
+ options?: never;
78
+ head?: never;
79
+ patch?: never;
80
+ trace?: never;
81
+ };
82
+ "/speech-to-text-models": {
83
+ parameters: {
84
+ query?: never;
85
+ header?: never;
86
+ path?: never;
87
+ cookie?: never;
88
+ };
89
+ get: operations["listSpeechToTextModels"];
90
+ put?: never;
91
+ post?: never;
92
+ delete?: never;
93
+ options?: never;
94
+ head?: never;
95
+ patch?: never;
96
+ trace?: never;
97
+ };
98
+ }
99
+ export type webhooks = Record<string, never>;
100
+ export interface components {
101
+ schemas: {
102
+ TranscriptionProvider: "amazon" | "assemblyai" | "azure" | "cloudflare" | "deepgram" | "elevenlabs" | "falai" | "fireworksai" | "gemini" | "gladia" | "google" | "groq" | "ibm" | "mistral" | "openai" | "revai" | "speechmatics";
103
+ TranscriptionModelIdentifier: "amazon.transcribe" | "assemblyai.universal" | "assemblyai.universal-2" | "assemblyai.universal-3-pro" | "azure.standard" | "cloudflare.whisper" | "cloudflare.whisper-large-v3-turbo" | "cloudflare.whisper-tiny-en" | "deepgram.nova-3" | "deepgram.nova-3-general" | "deepgram.nova-3-medical" | "deepgram.nova-2" | "deepgram.nova-2-general" | "deepgram.nova-2-meeting" | "deepgram.nova-2-finance" | "deepgram.nova-2-conversationalai" | "deepgram.nova-2-voicemail" | "deepgram.nova-2-video" | "deepgram.nova-2-medical" | "deepgram.nova-2-drivethru" | "deepgram.nova-2-automotive" | "deepgram.nova" | "deepgram.nova-general" | "deepgram.nova-phonecall" | "deepgram.nova-medical" | "deepgram.enhanced" | "deepgram.enhanced-general" | "deepgram.enhanced-meeting" | "deepgram.enhanced-phonecall" | "deepgram.enhanced-finance" | "deepgram.base" | "deepgram.meeting" | "deepgram.phonecall" | "deepgram.finance" | "deepgram.conversationalai" | "deepgram.voicemail" | "deepgram.video" | "elevenlabs.scribe-v1" | "falai.cohere-transcribe" | "falai.nvidia-nemotron-asr-multilingual" | "falai.whisper" | "falai.wizper" | "fireworksai.whisper-v3" | "fireworksai.whisper-v3-turbo" | "gladia.standard" | "google.enhanced" | "google.standard" | "gemini.gemini-2.5-pro" | "gemini.gemini-2.5-flash" | "gemini.gemini-2.5-flash-lite" | "groq.whisper-large-v3" | "groq.whisper-large-v3-turbo" | "ibm.standard" | "mistral.voxtral-mini" | "mistral.voxtral-mini-v2" | "openai.whisper-1" | "openai.gpt-4o-transcribe" | "openai.gpt-4o-mini-transcribe" | "openai.gpt-4o-transcribe-diarize" | "revai.machine" | "revai.fusion" | "speechmatics.enhanced" | "speechmatics.standard";
104
+ BaseTranscriptionConfiguration: {
105
+ model: components["schemas"]["TranscriptionModelIdentifier"];
106
+ language?: components["schemas"]["TranscriptLanguageCode"];
107
+ output_format?: components["schemas"]["TranscriptOutputFormat"];
108
+ ruleset_id?: string;
109
+ punctuation: boolean;
110
+ diarization: boolean;
111
+ initial_prompt?: string;
112
+ temperature?: number;
113
+ speakers_expected?: number;
114
+ custom_vocabulary?: string[];
115
+ };
116
+ RemoteTranscriptionConfiguration: components["schemas"]["BaseTranscriptionConfiguration"] & {
117
+ file_url: string;
118
+ replacement_ruleset?: components["schemas"]["ReplacementRule"][];
119
+ };
120
+ TranscriptLanguageCode: "auto" | "en" | "en_au" | "en_uk" | "en_us" | "af" | "am" | "ar" | "as" | "az" | "ba" | "be" | "bg" | "bn" | "bo" | "br" | "bs" | "ca" | "cs" | "cy" | "da" | "de" | "el" | "es" | "et" | "eu" | "fa" | "fi" | "fo" | "fr" | "gl" | "gu" | "ha" | "haw" | "he" | "hi" | "hr" | "ht" | "hu" | "hy" | "id" | "is" | "it" | "ja" | "jw" | "ka" | "kk" | "km" | "kn" | "ko" | "la" | "lb" | "ln" | "lo" | "lt" | "lv" | "mg" | "mi" | "mk" | "ml" | "mn" | "mr" | "ms" | "mt" | "my" | "ne" | "nl" | "nn" | "no" | "oc" | "pa" | "pl" | "ps" | "pt" | "ro" | "ru" | "sa" | "sd" | "si" | "sk" | "sl" | "sn" | "so" | "sq" | "sr" | "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "tk" | "tl" | "tr" | "tt" | "uk" | "ur" | "uz" | "vi" | "yi" | "yo" | "zh";
121
+ TranscriptOutputFormat: "text" | "json_text" | "json" | "srt" | "vtt";
122
+ TranscriptionOnlyText: {
123
+ id: string;
124
+ text: string;
125
+ };
126
+ TranscriptionDetailed: {
127
+ id: string;
128
+ text: string;
129
+ language?: string;
130
+ segments?: components["schemas"]["TranscriptionSegment"][];
131
+ words?: components["schemas"]["TranscriptionWord"][];
132
+ };
133
+ TranscriptionResponse: components["schemas"]["TranscriptionDetailed"] | components["schemas"]["TranscriptionOnlyText"];
134
+ TranscriptionSegment: {
135
+ start?: number;
136
+ end?: number;
137
+ text?: string;
138
+ speaker?: string;
139
+ confidence?: number;
140
+ };
141
+ TranscriptionWord: {
142
+ start: number;
143
+ end: number;
144
+ word: string;
145
+ speaker?: string;
146
+ confidence?: number;
147
+ };
148
+ SpeechToTextModel: {
149
+ id: components["schemas"]["TranscriptionModelIdentifier"];
150
+ display_name: string;
151
+ provider: components["schemas"]["TranscriptionProvider"];
152
+ description?: string | null;
153
+ cost_per_second_usd?: number | null;
154
+ is_available: boolean;
155
+ supported_languages?: string[] | null;
156
+ punctuation?: boolean | null;
157
+ diarization?: boolean | null;
158
+ streamable?: boolean | null;
159
+ real_time_factor?: number | null;
160
+ max_duration_seconds?: number | null;
161
+ max_file_size_bytes?: number | null;
162
+ version?: string | null;
163
+ release_date?: string | null;
164
+ model_type?: "general" | "phone_call" | "video" | "command_and_search" | "medical" | "legal" | "voicemail" | "meeting" | null;
165
+ accuracy_tier?: "basic" | "standard" | "enhanced" | "premium" | null;
166
+ supported_audio_encodings?: string[] | null;
167
+ supported_sample_rates?: number[] | null;
168
+ speaker_labels?: boolean | null;
169
+ word_timestamps?: boolean | null;
170
+ confidence_scores?: boolean | null;
171
+ language_detection?: boolean | null;
172
+ custom_vocabulary_support?: boolean | null;
173
+ profanity_filtering?: boolean | null;
174
+ noise_reduction?: boolean | null;
175
+ supports_srt: boolean;
176
+ supports_vtt: boolean;
177
+ voice_activity_detection?: boolean | null;
178
+ };
179
+ OpenAI_CreateTranscriptionRequest: {
180
+ file: string;
181
+ model: components["schemas"]["TranscriptionModelIdentifier"];
182
+ language?: string;
183
+ prompt?: string;
184
+ response_format?: components["schemas"]["OpenAI_AudioResponseFormat"];
185
+ temperature: number;
186
+ "timestamp_granularities[]": ("word" | "segment")[];
187
+ };
188
+ OpenAI_CreateTranscriptionResponseJson: {
189
+ text: string;
190
+ };
191
+ OpenAI_CreateTranscriptionResponseVerboseJson: {
192
+ language: string;
193
+ duration: number;
194
+ text: string;
195
+ words?: components["schemas"]["OpenAI_TranscriptionWord"][];
196
+ segments?: components["schemas"]["OpenAI_TranscriptionSegment"][];
197
+ };
198
+ OpenAI_CreateTranslationRequest: {
199
+ file: string;
200
+ model: string | "openai.whisper-1";
201
+ prompt?: string;
202
+ response_format?: components["schemas"]["OpenAI_AudioResponseFormat"];
203
+ temperature: number;
204
+ };
205
+ OpenAI_CreateTranslationResponseJson: {
206
+ text: string;
207
+ };
208
+ OpenAI_CreateTranslationResponseVerboseJson: {
209
+ language: string;
210
+ duration: string;
211
+ text: string;
212
+ segments?: components["schemas"]["OpenAI_TranscriptionSegment"][];
213
+ };
214
+ OpenAI_AudioResponseFormat: "json" | "text" | "srt" | "verbose_json" | "vtt";
215
+ OpenAI_TranscriptionSegment: {
216
+ id: number;
217
+ seek: number;
218
+ start: number;
219
+ end: number;
220
+ text: string;
221
+ tokens: number[];
222
+ temperature: number;
223
+ avg_logprob: number;
224
+ compression_ratio: number;
225
+ no_speech_prob: number;
226
+ };
227
+ OpenAI_TranscriptionWord: {
228
+ word: string;
229
+ start: number;
230
+ end: number;
231
+ };
232
+ ErrorResponse: {
233
+ message: string;
234
+ } & {
235
+ [key: string]: unknown;
236
+ };
237
+ ExactRule: {
238
+ kind: "exact";
239
+ search: string;
240
+ replacement: string;
241
+ caseSensitive: boolean;
242
+ };
243
+ RegexRule: {
244
+ kind: "regex";
245
+ pattern: string;
246
+ replacement: string;
247
+ flags?: ("i" | "m" | "s" | "x" | "u")[];
248
+ };
249
+ RegexGroupRule: {
250
+ kind: "regex_group";
251
+ pattern: string;
252
+ groupReplacements: {
253
+ [key: string]: string;
254
+ };
255
+ flags?: ("i" | "m" | "s" | "x" | "u")[];
256
+ };
257
+ ReplacementRule: components["schemas"]["ExactRule"] | components["schemas"]["RegexRule"] | components["schemas"]["RegexGroupRule"];
258
+ };
259
+ responses: {
260
+ DualFormatTranscriptionResponse: {
261
+ headers: {
262
+ [name: string]: unknown;
263
+ };
264
+ content: {
265
+ "application/json": components["schemas"]["TranscriptionResponse"];
266
+ "text/plain": string;
267
+ };
268
+ };
269
+ BadRequest: {
270
+ headers: {
271
+ [name: string]: unknown;
272
+ };
273
+ content: {
274
+ "application/json": components["schemas"]["ErrorResponse"];
275
+ };
276
+ };
277
+ Unauthorized: {
278
+ headers: {
279
+ [name: string]: unknown;
280
+ };
281
+ content: {
282
+ "application/json": components["schemas"]["ErrorResponse"];
283
+ };
284
+ };
285
+ PaymentRequired: {
286
+ headers: {
287
+ [name: string]: unknown;
288
+ };
289
+ content: {
290
+ "application/json": components["schemas"]["ErrorResponse"];
291
+ };
292
+ };
293
+ NotFound: {
294
+ headers: {
295
+ [name: string]: unknown;
296
+ };
297
+ content: {
298
+ "application/json": components["schemas"]["ErrorResponse"];
299
+ };
300
+ };
301
+ TooManyRequests: {
302
+ headers: {
303
+ "Retry-After"?: number;
304
+ [name: string]: unknown;
305
+ };
306
+ content: {
307
+ "application/json": components["schemas"]["ErrorResponse"];
308
+ };
309
+ };
310
+ InternalServerError: {
311
+ headers: {
312
+ [name: string]: unknown;
313
+ };
314
+ content: {
315
+ "application/json": components["schemas"]["ErrorResponse"];
316
+ "text/plain": string;
317
+ };
318
+ };
319
+ ServiceUnavailable: {
320
+ headers: {
321
+ [name: string]: unknown;
322
+ };
323
+ content: {
324
+ "application/json": components["schemas"]["ErrorResponse"];
325
+ };
326
+ };
327
+ GatewayTimeout: {
328
+ headers: {
329
+ [name: string]: unknown;
330
+ };
331
+ content: {
332
+ "application/json": components["schemas"]["ErrorResponse"];
333
+ };
334
+ };
335
+ };
336
+ parameters: never;
337
+ requestBodies: never;
338
+ headers: never;
339
+ pathItems: never;
340
+ }
341
+ export type $defs = Record<string, never>;
342
+ export interface operations {
343
+ transcribe: {
344
+ parameters: {
345
+ query: {
346
+ model: components["schemas"]["TranscriptionModelIdentifier"];
347
+ language?: components["schemas"]["TranscriptLanguageCode"];
348
+ output_format?: components["schemas"]["TranscriptOutputFormat"];
349
+ ruleset_id?: string;
350
+ punctuation?: boolean;
351
+ diarization?: boolean;
352
+ initial_prompt?: string;
353
+ temperature?: number;
354
+ speakers_expected?: number;
355
+ custom_vocabulary?: string[];
356
+ };
357
+ header?: never;
358
+ path?: never;
359
+ cookie?: never;
360
+ };
361
+ requestBody: {
362
+ content: {
363
+ "audio/*": string;
364
+ };
365
+ };
366
+ responses: {
367
+ 200: components["responses"]["DualFormatTranscriptionResponse"];
368
+ 400: components["responses"]["BadRequest"];
369
+ 401: components["responses"]["Unauthorized"];
370
+ 402: components["responses"]["PaymentRequired"];
371
+ 404: components["responses"]["NotFound"];
372
+ 429: components["responses"]["TooManyRequests"];
373
+ 500: components["responses"]["InternalServerError"];
374
+ 503: components["responses"]["ServiceUnavailable"];
375
+ 504: components["responses"]["GatewayTimeout"];
376
+ };
377
+ };
378
+ transcribeRemote: {
379
+ parameters: {
380
+ query?: never;
381
+ header?: never;
382
+ path?: never;
383
+ cookie?: never;
384
+ };
385
+ requestBody: {
386
+ content: {
387
+ "application/json": components["schemas"]["RemoteTranscriptionConfiguration"];
388
+ };
389
+ };
390
+ responses: {
391
+ 200: components["responses"]["DualFormatTranscriptionResponse"];
392
+ 400: components["responses"]["BadRequest"];
393
+ 401: components["responses"]["Unauthorized"];
394
+ 402: components["responses"]["PaymentRequired"];
395
+ 404: components["responses"]["NotFound"];
396
+ 429: components["responses"]["TooManyRequests"];
397
+ 500: components["responses"]["InternalServerError"];
398
+ 503: components["responses"]["ServiceUnavailable"];
399
+ 504: components["responses"]["GatewayTimeout"];
400
+ };
401
+ };
402
+ openaiCompatibleCreateTranscription: {
403
+ parameters: {
404
+ query?: never;
405
+ header?: never;
406
+ path?: never;
407
+ cookie?: never;
408
+ };
409
+ requestBody: {
410
+ content: {
411
+ "multipart/form-data": components["schemas"]["OpenAI_CreateTranscriptionRequest"];
412
+ };
413
+ };
414
+ responses: {
415
+ 200: {
416
+ headers: {
417
+ [name: string]: unknown;
418
+ };
419
+ content: {
420
+ "application/json": components["schemas"]["OpenAI_CreateTranscriptionResponseVerboseJson"] | components["schemas"]["OpenAI_CreateTranscriptionResponseJson"];
421
+ "text/plain": string;
422
+ };
423
+ };
424
+ 400: components["responses"]["BadRequest"];
425
+ 401: components["responses"]["Unauthorized"];
426
+ 402: components["responses"]["PaymentRequired"];
427
+ 404: components["responses"]["NotFound"];
428
+ 429: components["responses"]["TooManyRequests"];
429
+ 500: components["responses"]["InternalServerError"];
430
+ 503: components["responses"]["ServiceUnavailable"];
431
+ 504: components["responses"]["GatewayTimeout"];
432
+ };
433
+ };
434
+ openaiCompatibleCreateTranslation: {
435
+ parameters: {
436
+ query?: never;
437
+ header?: never;
438
+ path?: never;
439
+ cookie?: never;
440
+ };
441
+ requestBody: {
442
+ content: {
443
+ "multipart/form-data": components["schemas"]["OpenAI_CreateTranslationRequest"];
444
+ };
445
+ };
446
+ responses: {
447
+ 200: {
448
+ headers: {
449
+ [name: string]: unknown;
450
+ };
451
+ content: {
452
+ "application/json": components["schemas"]["OpenAI_CreateTranslationResponseVerboseJson"] | components["schemas"]["OpenAI_CreateTranslationResponseJson"];
453
+ "text/plain": string;
454
+ };
455
+ };
456
+ 400: components["responses"]["BadRequest"];
457
+ 401: components["responses"]["Unauthorized"];
458
+ 402: components["responses"]["PaymentRequired"];
459
+ 404: components["responses"]["NotFound"];
460
+ 429: components["responses"]["TooManyRequests"];
461
+ 500: components["responses"]["InternalServerError"];
462
+ 503: components["responses"]["ServiceUnavailable"];
463
+ 504: components["responses"]["GatewayTimeout"];
464
+ };
465
+ };
466
+ createReplacementRuleset: {
467
+ parameters: {
468
+ query?: never;
469
+ header?: never;
470
+ path?: never;
471
+ cookie?: never;
472
+ };
473
+ requestBody: {
474
+ content: {
475
+ "application/json": {
476
+ name: string;
477
+ rules: components["schemas"]["ReplacementRule"][];
478
+ };
479
+ };
480
+ };
481
+ responses: {
482
+ 201: {
483
+ headers: {
484
+ [name: string]: unknown;
485
+ };
486
+ content: {
487
+ "application/json": {
488
+ id: string;
489
+ };
490
+ };
491
+ };
492
+ 400: components["responses"]["BadRequest"];
493
+ 401: components["responses"]["Unauthorized"];
494
+ 402: components["responses"]["PaymentRequired"];
495
+ 429: components["responses"]["TooManyRequests"];
496
+ 500: components["responses"]["InternalServerError"];
497
+ 503: components["responses"]["ServiceUnavailable"];
498
+ 504: components["responses"]["GatewayTimeout"];
499
+ };
500
+ };
501
+ listSpeechToTextModels: {
502
+ parameters: {
503
+ query?: never;
504
+ header?: never;
505
+ path?: never;
506
+ cookie?: never;
507
+ };
508
+ requestBody?: never;
509
+ responses: {
510
+ 200: {
511
+ headers: {
512
+ [name: string]: unknown;
513
+ };
514
+ content: {
515
+ "application/json": components["schemas"]["SpeechToTextModel"][];
516
+ };
517
+ };
518
+ 400: components["responses"]["BadRequest"];
519
+ 401: components["responses"]["Unauthorized"];
520
+ 402: components["responses"]["PaymentRequired"];
521
+ 404: components["responses"]["NotFound"];
522
+ 429: components["responses"]["TooManyRequests"];
523
+ 500: components["responses"]["InternalServerError"];
524
+ 503: components["responses"]["ServiceUnavailable"];
525
+ 504: components["responses"]["GatewayTimeout"];
526
+ };
527
+ };
528
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=speechall-openapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speechall-openapi.js","sourceRoot":"","sources":["../../../../nodes/Speechall/generated/speechall-openapi.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { IBinaryKeyData, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ import type { TranscriptOutputFormat } from './types';
3
+ export declare function supportsTranscriptBinaryOutput(outputFormat: TranscriptOutputFormat): outputFormat is 'text' | 'srt' | 'vtt';
4
+ export declare function buildTranscriptBinaryMetadata(outputFormat: 'text' | 'srt' | 'vtt'): {
5
+ fileName: string;
6
+ mimeType: string;
7
+ };
8
+ export declare function addTranscriptBinaryOutput(this: IExecuteFunctions, item: INodeExecutionData, text: string, outputFormat: 'text' | 'srt' | 'vtt', binaryPropertyName: string): Promise<IBinaryKeyData>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.supportsTranscriptBinaryOutput = supportsTranscriptBinaryOutput;
4
+ exports.buildTranscriptBinaryMetadata = buildTranscriptBinaryMetadata;
5
+ exports.addTranscriptBinaryOutput = addTranscriptBinaryOutput;
6
+ const TEXT_BINARY_METADATA = {
7
+ text: { extension: 'txt', mimeType: 'text/plain' },
8
+ srt: { extension: 'srt', mimeType: 'application/x-subrip' },
9
+ vtt: { extension: 'vtt', mimeType: 'text/vtt' },
10
+ };
11
+ function supportsTranscriptBinaryOutput(outputFormat) {
12
+ return outputFormat === 'text' || outputFormat === 'srt' || outputFormat === 'vtt';
13
+ }
14
+ function buildTranscriptBinaryMetadata(outputFormat) {
15
+ const metadata = TEXT_BINARY_METADATA[outputFormat];
16
+ return {
17
+ fileName: `speechall-transcript.${metadata.extension}`,
18
+ mimeType: metadata.mimeType,
19
+ };
20
+ }
21
+ async function addTranscriptBinaryOutput(item, text, outputFormat, binaryPropertyName) {
22
+ var _a;
23
+ const { fileName, mimeType } = buildTranscriptBinaryMetadata(outputFormat);
24
+ const binary = { ...((_a = item.binary) !== null && _a !== void 0 ? _a : {}) };
25
+ const prepared = await this.helpers.prepareBinaryData(Buffer.from(text, 'utf8'), fileName, mimeType);
26
+ binary[binaryPropertyName] = prepared;
27
+ return binary;
28
+ }
29
+ //# sourceMappingURL=binary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../nodes/Speechall/helpers/binary.ts"],"names":[],"mappings":";;AAkBA,wEAIC;AAED,sEASC;AAED,8DAgBC;AA1CD,MAAM,oBAAoB,GAGtB;IACH,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE;IAClD,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IAC3D,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;CAC/C,CAAC;AAEF,SAAgB,8BAA8B,CAC7C,YAAoC;IAEpC,OAAO,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,KAAK,CAAC;AACpF,CAAC;AAED,SAAgB,6BAA6B,CAAC,YAAoC;IAIjF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO;QACN,QAAQ,EAAE,wBAAwB,QAAQ,CAAC,SAAS,EAAE;QACtD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC3B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAE9C,IAAwB,EACxB,IAAY,EACZ,YAAoC,EACpC,kBAA0B;;IAE1B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACpD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EACzB,QAAQ,EACR,QAAQ,CACR,CAAC;IACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAuB,CAAC;IACrD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { IDisplayOptions, INodeProperties } from 'n8n-workflow';
2
+ export declare const TRANSCRIPT_OUTPUT_FORMAT_OPTIONS: {
3
+ name: string;
4
+ value: string;
5
+ }[];
6
+ export declare function modelSelectionFields(displayOptions: IDisplayOptions): INodeProperties[];
7
+ export declare function languageField(displayOptions: IDisplayOptions): INodeProperties;
8
+ export declare function transcriptOutputFormatField(displayOptions: IDisplayOptions): INodeProperties;
9
+ export declare function advancedTranscriptionFields(displayOptions: IDisplayOptions): INodeProperties[];
10
+ export declare function binaryOutputFields(displayOptions: IDisplayOptions): INodeProperties[];
11
+ export declare function replacementRulesField(displayOptions: IDisplayOptions): INodeProperties;