@apicity/kie 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +569 -0
  3. package/dist/src/chat.d.ts +56 -0
  4. package/dist/src/chat.d.ts.map +1 -0
  5. package/dist/src/chat.js +75 -0
  6. package/dist/src/chat.js.map +1 -0
  7. package/dist/src/claude.d.ts +76 -0
  8. package/dist/src/claude.d.ts.map +1 -0
  9. package/dist/src/claude.js +83 -0
  10. package/dist/src/claude.js.map +1 -0
  11. package/dist/src/example.d.ts +8 -0
  12. package/dist/src/example.d.ts.map +1 -0
  13. package/dist/src/example.js +186 -0
  14. package/dist/src/example.js.map +1 -0
  15. package/dist/src/index.d.ts +15 -0
  16. package/dist/src/index.d.ts.map +1 -0
  17. package/dist/src/index.js +14 -0
  18. package/dist/src/index.js.map +1 -0
  19. package/dist/src/kie.d.ts +5 -0
  20. package/dist/src/kie.d.ts.map +1 -0
  21. package/dist/src/kie.js +388 -0
  22. package/dist/src/kie.js.map +1 -0
  23. package/dist/src/middleware.d.ts +34 -0
  24. package/dist/src/middleware.d.ts.map +1 -0
  25. package/dist/src/middleware.js +219 -0
  26. package/dist/src/middleware.js.map +1 -0
  27. package/dist/src/model-schemas.d.ts +3 -0
  28. package/dist/src/model-schemas.d.ts.map +1 -0
  29. package/dist/src/model-schemas.js +1172 -0
  30. package/dist/src/model-schemas.js.map +1 -0
  31. package/dist/src/request.d.ts +9 -0
  32. package/dist/src/request.d.ts.map +1 -0
  33. package/dist/src/request.js +46 -0
  34. package/dist/src/request.js.map +1 -0
  35. package/dist/src/sse.d.ts +2 -0
  36. package/dist/src/sse.d.ts.map +1 -0
  37. package/dist/src/sse.js +41 -0
  38. package/dist/src/sse.js.map +1 -0
  39. package/dist/src/suno.d.ts +313 -0
  40. package/dist/src/suno.d.ts.map +1 -0
  41. package/dist/src/suno.js +391 -0
  42. package/dist/src/suno.js.map +1 -0
  43. package/dist/src/types.d.ts +119 -0
  44. package/dist/src/types.d.ts.map +1 -0
  45. package/dist/src/types.js +14 -0
  46. package/dist/src/types.js.map +1 -0
  47. package/dist/src/veo.d.ts +52 -0
  48. package/dist/src/veo.d.ts.map +1 -0
  49. package/dist/src/veo.js +40 -0
  50. package/dist/src/veo.js.map +1 -0
  51. package/dist/src/zod.d.ts +1982 -0
  52. package/dist/src/zod.d.ts.map +1 -0
  53. package/dist/src/zod.js +866 -0
  54. package/dist/src/zod.js.map +1 -0
  55. package/package.json +61 -0
@@ -0,0 +1,1172 @@
1
+ export const modelInputSchemas = {
2
+ "kling-3.0/video": {
3
+ type: "video",
4
+ fields: {
5
+ prompt: { type: "string", description: "Video generation prompt" },
6
+ image_urls: {
7
+ type: "array",
8
+ description: "Reference image URLs",
9
+ items: { type: "string" },
10
+ },
11
+ sound: {
12
+ type: "boolean",
13
+ description: "Include sound (default false, true when multi_shots)",
14
+ },
15
+ duration: {
16
+ type: "string",
17
+ required: true,
18
+ enum: [
19
+ "3",
20
+ "4",
21
+ "5",
22
+ "6",
23
+ "7",
24
+ "8",
25
+ "9",
26
+ "10",
27
+ "11",
28
+ "12",
29
+ "13",
30
+ "14",
31
+ "15",
32
+ ],
33
+ description: "Duration in seconds",
34
+ },
35
+ aspect_ratio: {
36
+ type: "string",
37
+ enum: ["16:9", "9:16", "1:1"],
38
+ description: "Output aspect ratio",
39
+ },
40
+ mode: {
41
+ type: "string",
42
+ required: true,
43
+ enum: ["std", "pro", "4K"],
44
+ description: "Quality mode",
45
+ },
46
+ multi_shots: {
47
+ type: "boolean",
48
+ required: true,
49
+ description: "Enable multi-shot mode",
50
+ },
51
+ multi_prompt: {
52
+ type: "array",
53
+ description: "Per-shot prompts",
54
+ items: {
55
+ type: "object",
56
+ properties: {
57
+ prompt: { type: "string", required: true },
58
+ duration: { type: "number", required: true },
59
+ },
60
+ },
61
+ },
62
+ kling_elements: {
63
+ type: "array",
64
+ description: "Kling elements for generation",
65
+ items: {
66
+ type: "object",
67
+ properties: {
68
+ name: { type: "string", required: true },
69
+ description: { type: "string", required: true },
70
+ element_input_urls: {
71
+ type: "array",
72
+ items: { type: "string" },
73
+ },
74
+ },
75
+ },
76
+ },
77
+ },
78
+ },
79
+ "kling-3.0/motion-control": {
80
+ type: "video",
81
+ fields: {
82
+ prompt: { type: "string", description: "Motion control prompt" },
83
+ input_urls: {
84
+ type: "array",
85
+ required: true,
86
+ description: "Input image URLs",
87
+ items: { type: "string" },
88
+ },
89
+ video_urls: {
90
+ type: "array",
91
+ required: true,
92
+ description: "Input video URLs",
93
+ items: { type: "string" },
94
+ },
95
+ mode: {
96
+ type: "string",
97
+ enum: ["720p", "1080p"],
98
+ description: "Output resolution (default 720p)",
99
+ },
100
+ character_orientation: {
101
+ type: "string",
102
+ enum: ["video", "image"],
103
+ description: "Character orientation source (default video)",
104
+ },
105
+ background_source: {
106
+ type: "string",
107
+ enum: ["input_video", "input_image"],
108
+ description: "Background source (default input_video)",
109
+ },
110
+ },
111
+ },
112
+ "grok-imagine/text-to-image": {
113
+ type: "image",
114
+ fields: {
115
+ prompt: {
116
+ type: "string",
117
+ required: true,
118
+ description: "Image generation prompt (max 5000 chars)",
119
+ },
120
+ aspect_ratio: {
121
+ type: "string",
122
+ enum: ["2:3", "3:2", "1:1", "16:9", "9:16"],
123
+ description: "Output aspect ratio (default 1:1)",
124
+ },
125
+ nsfw_checker: {
126
+ type: "boolean",
127
+ description: "Enable content filtering (default false; false returns raw model output)",
128
+ },
129
+ enable_pro: {
130
+ type: "boolean",
131
+ description: "Quality mode when true, speed mode when false",
132
+ },
133
+ },
134
+ },
135
+ "grok-imagine/image-to-image": {
136
+ type: "image",
137
+ fields: {
138
+ prompt: {
139
+ type: "string",
140
+ description: "Modification prompt (max 390000 chars)",
141
+ },
142
+ image_urls: {
143
+ type: "array",
144
+ required: true,
145
+ description: "Input image URL (exactly 1)",
146
+ items: { type: "string" },
147
+ },
148
+ nsfw_checker: {
149
+ type: "boolean",
150
+ description: "Enable content filtering (default false; false returns raw model output)",
151
+ },
152
+ },
153
+ },
154
+ "grok-imagine/text-to-video": {
155
+ type: "video",
156
+ fields: {
157
+ prompt: {
158
+ type: "string",
159
+ required: true,
160
+ description: "Video generation prompt (max 5000 chars)",
161
+ },
162
+ aspect_ratio: {
163
+ type: "string",
164
+ enum: ["2:3", "3:2", "1:1", "16:9", "9:16"],
165
+ description: "Output aspect ratio (default 2:3)",
166
+ },
167
+ mode: {
168
+ type: "string",
169
+ enum: ["fun", "normal", "spicy"],
170
+ description: "Generation mode (default normal)",
171
+ },
172
+ duration: {
173
+ type: "number",
174
+ description: "Duration in seconds (6-30, default 6)",
175
+ },
176
+ resolution: {
177
+ type: "string",
178
+ enum: ["480p", "720p"],
179
+ description: "Output resolution (default 480p)",
180
+ },
181
+ nsfw_checker: {
182
+ type: "boolean",
183
+ description: "Enable content filtering (default false; false returns raw model output)",
184
+ },
185
+ },
186
+ },
187
+ "grok-imagine/image-to-video": {
188
+ type: "video",
189
+ fields: {
190
+ prompt: {
191
+ type: "string",
192
+ description: "Video generation prompt (max 5000 chars)",
193
+ },
194
+ image_urls: {
195
+ type: "array",
196
+ description: "Reference image URLs (max 7)",
197
+ items: { type: "string" },
198
+ },
199
+ task_id: {
200
+ type: "string",
201
+ description: "Reference task ID (max 100 chars)",
202
+ },
203
+ index: { type: "number", description: "Frame index (0-5, default 0)" },
204
+ mode: {
205
+ type: "string",
206
+ enum: ["fun", "normal", "spicy"],
207
+ description: "Generation mode (default normal)",
208
+ },
209
+ duration: {
210
+ type: "number",
211
+ description: "Duration in seconds (6-30, default 6)",
212
+ },
213
+ resolution: {
214
+ type: "string",
215
+ enum: ["480p", "720p"],
216
+ description: "Output resolution (default 480p)",
217
+ },
218
+ aspect_ratio: {
219
+ type: "string",
220
+ enum: ["2:3", "3:2", "1:1", "16:9", "9:16"],
221
+ description: "Output aspect ratio (default 16:9)",
222
+ },
223
+ nsfw_checker: {
224
+ type: "boolean",
225
+ description: "Enable content filtering (default false; false returns raw model output)",
226
+ },
227
+ },
228
+ },
229
+ "grok-imagine/extend": {
230
+ type: "video",
231
+ fields: {
232
+ task_id: {
233
+ type: "string",
234
+ required: true,
235
+ description: "Video task ID to extend (max 100 chars)",
236
+ },
237
+ prompt: {
238
+ type: "string",
239
+ required: true,
240
+ description: "Extension prompt",
241
+ },
242
+ extend_at: {
243
+ type: "string",
244
+ required: true,
245
+ description: "Starting position for extension",
246
+ },
247
+ extend_times: {
248
+ type: "string",
249
+ required: true,
250
+ enum: ["6", "10"],
251
+ description: "Extension duration in seconds (default '6')",
252
+ },
253
+ },
254
+ },
255
+ "grok-imagine/upscale": {
256
+ type: "video",
257
+ fields: {
258
+ task_id: {
259
+ type: "string",
260
+ required: true,
261
+ description: "Video task ID to upscale (max 100 chars)",
262
+ },
263
+ },
264
+ },
265
+ "nano-banana-pro": {
266
+ type: "image",
267
+ fields: {
268
+ prompt: {
269
+ type: "string",
270
+ required: true,
271
+ description: "Image generation prompt",
272
+ },
273
+ image_input: {
274
+ type: "array",
275
+ description: "Reference images",
276
+ items: { type: "string" },
277
+ },
278
+ aspect_ratio: {
279
+ type: "string",
280
+ enum: [
281
+ "1:1",
282
+ "2:3",
283
+ "3:2",
284
+ "3:4",
285
+ "4:3",
286
+ "4:5",
287
+ "5:4",
288
+ "9:16",
289
+ "16:9",
290
+ "21:9",
291
+ "auto",
292
+ ],
293
+ description: "Output aspect ratio",
294
+ },
295
+ resolution: {
296
+ type: "string",
297
+ enum: ["1K", "2K", "4K"],
298
+ description: "Output resolution",
299
+ },
300
+ output_format: {
301
+ type: "string",
302
+ enum: ["png", "jpg"],
303
+ description: "Image format",
304
+ },
305
+ },
306
+ },
307
+ "bytedance/seedance-2-fast": {
308
+ type: "video",
309
+ fields: {
310
+ prompt: {
311
+ type: "string",
312
+ required: true,
313
+ description: "Video generation prompt (3-2500 chars)",
314
+ },
315
+ first_frame_url: {
316
+ type: "string",
317
+ description: "First frame image URL or asset://{assetId}",
318
+ },
319
+ last_frame_url: {
320
+ type: "string",
321
+ description: "Last frame image URL or asset://{assetId}",
322
+ },
323
+ reference_image_urls: {
324
+ type: "array",
325
+ description: "Reference image URLs or asset:// refs (max 9 total with first+last frames)",
326
+ items: { type: "string" },
327
+ },
328
+ reference_video_urls: {
329
+ type: "array",
330
+ description: "Reference video URLs (max 3, total duration <= 15s)",
331
+ items: { type: "string" },
332
+ },
333
+ reference_audio_urls: {
334
+ type: "array",
335
+ description: "Reference audio URLs (max 3, total duration <= 15s)",
336
+ items: { type: "string" },
337
+ },
338
+ return_last_frame: {
339
+ type: "boolean",
340
+ description: "Return the last frame of the video as an image (default false)",
341
+ },
342
+ generate_audio: {
343
+ type: "boolean",
344
+ description: "Generate accompanying audio (default true, higher cost)",
345
+ },
346
+ resolution: {
347
+ type: "string",
348
+ enum: ["480p", "720p"],
349
+ description: "Output resolution (default 720p)",
350
+ },
351
+ aspect_ratio: {
352
+ type: "string",
353
+ enum: ["1:1", "4:3", "3:4", "16:9", "9:16", "21:9", "adaptive"],
354
+ description: "Output aspect ratio (default 16:9)",
355
+ },
356
+ duration: {
357
+ type: "number",
358
+ description: "Duration in seconds, 4-15 (default 8)",
359
+ },
360
+ web_search: {
361
+ type: "boolean",
362
+ required: true,
363
+ description: "Use online search",
364
+ },
365
+ nsfw_checker: {
366
+ type: "boolean",
367
+ description: "Content safety filter (default false)",
368
+ },
369
+ },
370
+ },
371
+ "bytedance/seedance-2": {
372
+ type: "video",
373
+ fields: {
374
+ prompt: {
375
+ type: "string",
376
+ required: true,
377
+ description: "Video generation prompt (3-20000 chars)",
378
+ },
379
+ first_frame_url: {
380
+ type: "string",
381
+ description: "First frame image URL or asset://{assetId}",
382
+ },
383
+ last_frame_url: {
384
+ type: "string",
385
+ description: "Last frame image URL or asset://{assetId}",
386
+ },
387
+ reference_image_urls: {
388
+ type: "array",
389
+ description: "Reference image URLs or asset:// refs (max 9 total with first+last frames)",
390
+ items: { type: "string" },
391
+ },
392
+ reference_video_urls: {
393
+ type: "array",
394
+ description: "Reference video URLs (max 3, total duration <= 15s)",
395
+ items: { type: "string" },
396
+ },
397
+ reference_audio_urls: {
398
+ type: "array",
399
+ description: "Reference audio URLs (max 3, total duration <= 15s)",
400
+ items: { type: "string" },
401
+ },
402
+ return_last_frame: {
403
+ type: "boolean",
404
+ description: "Return the last frame of the video as an image (default false)",
405
+ },
406
+ generate_audio: {
407
+ type: "boolean",
408
+ description: "Generate accompanying audio (default true, higher cost)",
409
+ },
410
+ resolution: {
411
+ type: "string",
412
+ enum: ["480p", "720p", "1080p"],
413
+ description: "Output resolution (default 720p)",
414
+ },
415
+ aspect_ratio: {
416
+ type: "string",
417
+ enum: ["1:1", "4:3", "3:4", "16:9", "9:16", "21:9", "adaptive"],
418
+ description: "Output aspect ratio (default 16:9)",
419
+ },
420
+ duration: {
421
+ type: "number",
422
+ description: "Duration in seconds, 4-15 (default 5)",
423
+ },
424
+ web_search: {
425
+ type: "boolean",
426
+ required: true,
427
+ description: "Use online search",
428
+ },
429
+ nsfw_checker: {
430
+ type: "boolean",
431
+ description: "Content safety filter (default false)",
432
+ },
433
+ },
434
+ },
435
+ "nano-banana-2": {
436
+ type: "image",
437
+ fields: {
438
+ prompt: {
439
+ type: "string",
440
+ required: true,
441
+ description: "Image generation prompt",
442
+ },
443
+ image_input: {
444
+ type: "array",
445
+ description: "Reference images",
446
+ items: { type: "string" },
447
+ },
448
+ aspect_ratio: {
449
+ type: "string",
450
+ enum: [
451
+ "1:1",
452
+ "2:3",
453
+ "3:2",
454
+ "3:4",
455
+ "4:3",
456
+ "4:5",
457
+ "5:4",
458
+ "9:16",
459
+ "16:9",
460
+ "21:9",
461
+ "1:4",
462
+ "1:8",
463
+ "4:1",
464
+ "8:1",
465
+ "auto",
466
+ ],
467
+ description: "Output aspect ratio",
468
+ },
469
+ resolution: {
470
+ type: "string",
471
+ enum: ["1K", "2K", "4K"],
472
+ description: "Output resolution",
473
+ },
474
+ output_format: {
475
+ type: "string",
476
+ enum: ["png", "jpg"],
477
+ description: "Image format",
478
+ },
479
+ },
480
+ },
481
+ "gpt-image/1.5-image-to-image": {
482
+ type: "image",
483
+ fields: {
484
+ input_urls: {
485
+ type: "array",
486
+ required: true,
487
+ description: "Input image URLs",
488
+ items: { type: "string" },
489
+ },
490
+ prompt: {
491
+ type: "string",
492
+ required: true,
493
+ description: "Modification prompt",
494
+ },
495
+ aspect_ratio: {
496
+ type: "string",
497
+ enum: ["1:1", "2:3", "3:2"],
498
+ description: "Output aspect ratio",
499
+ },
500
+ quality: {
501
+ type: "string",
502
+ enum: ["medium", "high"],
503
+ description: "Output quality",
504
+ },
505
+ },
506
+ },
507
+ "gpt-image-2-image-to-image": {
508
+ type: "image",
509
+ fields: {
510
+ prompt: {
511
+ type: "string",
512
+ required: true,
513
+ description: "Modification prompt (max 20000 chars)",
514
+ },
515
+ input_urls: {
516
+ type: "array",
517
+ required: true,
518
+ description: "Input image URLs (max 16)",
519
+ items: { type: "string" },
520
+ },
521
+ aspect_ratio: {
522
+ type: "string",
523
+ enum: ["auto", "1:1", "9:16", "16:9", "4:3", "3:4"],
524
+ description: "Output aspect ratio (default auto)",
525
+ },
526
+ resolution: {
527
+ type: "string",
528
+ enum: ["1K", "2K", "4K"],
529
+ description: "Output resolution. 1:1 cannot upscale to 4K; auto/unset aspect_ratio is 1K only — other combos fail at task creation.",
530
+ },
531
+ nsfw_checker: {
532
+ type: "boolean",
533
+ description: "Enable content filtering (default false; false returns raw model output)",
534
+ },
535
+ },
536
+ },
537
+ "gpt-image-2-text-to-image": {
538
+ type: "image",
539
+ fields: {
540
+ prompt: {
541
+ type: "string",
542
+ required: true,
543
+ description: "Image generation prompt (max 20000 chars)",
544
+ },
545
+ aspect_ratio: {
546
+ type: "string",
547
+ enum: ["auto", "1:1", "9:16", "16:9", "4:3", "3:4"],
548
+ description: "Output aspect ratio (default auto)",
549
+ },
550
+ resolution: {
551
+ type: "string",
552
+ enum: ["1K", "2K", "4K"],
553
+ description: "Output resolution. 1:1 cannot upscale to 4K; auto/unset aspect_ratio is 1K only — other combos fail at task creation.",
554
+ },
555
+ nsfw_checker: {
556
+ type: "boolean",
557
+ description: "Enable content filtering (default false; false returns raw model output)",
558
+ },
559
+ },
560
+ },
561
+ "seedream/5-lite-image-to-image": {
562
+ type: "image",
563
+ fields: {
564
+ image_urls: {
565
+ type: "array",
566
+ required: true,
567
+ description: "Input image URLs (max 14)",
568
+ items: { type: "string" },
569
+ },
570
+ prompt: {
571
+ type: "string",
572
+ required: true,
573
+ description: "Modification prompt (3-3000 chars)",
574
+ },
575
+ aspect_ratio: {
576
+ type: "string",
577
+ enum: ["1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9"],
578
+ description: "Output aspect ratio (default 1:1)",
579
+ },
580
+ quality: {
581
+ type: "string",
582
+ required: true,
583
+ enum: ["basic", "high"],
584
+ description: "Output quality (basic=2K, high=4K). Required — Kie rejects createTask without it.",
585
+ },
586
+ nsfw_checker: {
587
+ type: "boolean",
588
+ description: "Content safety filter",
589
+ },
590
+ },
591
+ },
592
+ "seedream/5-lite-text-to-image": {
593
+ type: "image",
594
+ fields: {
595
+ prompt: {
596
+ type: "string",
597
+ required: true,
598
+ description: "Text description of the image to generate (3-3000 chars)",
599
+ },
600
+ aspect_ratio: {
601
+ type: "string",
602
+ enum: ["1:1", "4:3", "3:4", "16:9", "9:16", "2:3", "3:2", "21:9"],
603
+ description: "Output aspect ratio (default 1:1)",
604
+ },
605
+ quality: {
606
+ type: "string",
607
+ required: true,
608
+ enum: ["basic", "high"],
609
+ description: "Output quality (basic=2K, high=4K). Required — Kie rejects createTask without it.",
610
+ },
611
+ nsfw_checker: {
612
+ type: "boolean",
613
+ description: "Content safety filter",
614
+ },
615
+ },
616
+ },
617
+ "qwen2/text-to-image": {
618
+ type: "image",
619
+ fields: {
620
+ prompt: {
621
+ type: "string",
622
+ required: true,
623
+ description: "Image generation prompt",
624
+ },
625
+ image_size: {
626
+ type: "string",
627
+ enum: [
628
+ "square",
629
+ "square_hd",
630
+ "portrait_4_3",
631
+ "portrait_16_9",
632
+ "landscape_4_3",
633
+ "landscape_16_9",
634
+ ],
635
+ description: "Output image size (default square_hd)",
636
+ },
637
+ num_inference_steps: {
638
+ type: "number",
639
+ description: "Inference steps (2-250, default 30)",
640
+ },
641
+ seed: { type: "number", description: "Random seed" },
642
+ guidance_scale: {
643
+ type: "number",
644
+ description: "Guidance scale (0-20, default 2.5)",
645
+ },
646
+ enable_safety_checker: {
647
+ type: "boolean",
648
+ description: "Content safety filter",
649
+ },
650
+ output_format: {
651
+ type: "string",
652
+ enum: ["png", "jpeg"],
653
+ description: "Image format (default png)",
654
+ },
655
+ negative_prompt: {
656
+ type: "string",
657
+ description: "Negative prompt (max 500 chars)",
658
+ },
659
+ acceleration: {
660
+ type: "string",
661
+ enum: ["none", "regular", "high"],
662
+ description: "Speed vs quality tradeoff (default none)",
663
+ },
664
+ },
665
+ },
666
+ "qwen2/image-edit": {
667
+ type: "image",
668
+ fields: {
669
+ prompt: {
670
+ type: "string",
671
+ required: true,
672
+ description: "Image editing prompt (max 800 chars)",
673
+ },
674
+ image_url: {
675
+ type: "array",
676
+ required: true,
677
+ description: "URLs of the images to edit (jpeg/png/webp, max 10MB each)",
678
+ items: { type: "string" },
679
+ },
680
+ image_size: {
681
+ type: "string",
682
+ enum: ["1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9", "21:9"],
683
+ description: "Output image aspect ratio (default 16:9)",
684
+ },
685
+ output_format: {
686
+ type: "string",
687
+ enum: ["png", "jpeg"],
688
+ description: "Image format (default png)",
689
+ },
690
+ seed: {
691
+ type: "number",
692
+ description: "Random seed",
693
+ },
694
+ nsfw_checker: {
695
+ type: "boolean",
696
+ description: "Content safety filter (default true)",
697
+ },
698
+ },
699
+ },
700
+ "wan/2-7-image-to-video": {
701
+ type: "video",
702
+ fields: {
703
+ prompt: {
704
+ type: "string",
705
+ required: true,
706
+ description: "Positive prompt (max 5000 chars)",
707
+ },
708
+ negative_prompt: {
709
+ type: "string",
710
+ description: "Negative prompt (max 500 chars)",
711
+ },
712
+ first_frame_url: {
713
+ type: "string",
714
+ description: "First frame image URL",
715
+ },
716
+ last_frame_url: {
717
+ type: "string",
718
+ description: "Last frame image URL",
719
+ },
720
+ first_clip_url: {
721
+ type: "string",
722
+ description: "First clip video URL for video continuation",
723
+ },
724
+ driving_audio_url: {
725
+ type: "string",
726
+ description: "Driving audio URL",
727
+ },
728
+ resolution: {
729
+ type: "string",
730
+ enum: ["720p", "1080p"],
731
+ description: "Video resolution (default 1080p)",
732
+ },
733
+ duration: {
734
+ type: "number",
735
+ description: "Duration in seconds, 2-15 (default 5)",
736
+ },
737
+ prompt_extend: {
738
+ type: "boolean",
739
+ description: "Intelligent prompt rewriting (default true)",
740
+ },
741
+ watermark: {
742
+ type: "boolean",
743
+ description: "AI-generated watermark (default false)",
744
+ },
745
+ seed: {
746
+ type: "number",
747
+ description: "Random seed (0-2147483647)",
748
+ },
749
+ nsfw_checker: {
750
+ type: "boolean",
751
+ description: "Content safety filter (default false)",
752
+ },
753
+ },
754
+ },
755
+ "wan/2-7-text-to-video": {
756
+ type: "video",
757
+ fields: {
758
+ prompt: {
759
+ type: "string",
760
+ required: true,
761
+ description: "Positive prompt (max 5000 chars)",
762
+ },
763
+ negative_prompt: {
764
+ type: "string",
765
+ description: "Negative prompt (max 500 chars)",
766
+ },
767
+ audio_url: {
768
+ type: "string",
769
+ description: "Optional custom audio URL",
770
+ },
771
+ resolution: {
772
+ type: "string",
773
+ enum: ["720p", "1080p"],
774
+ description: "Video resolution (default 1080p)",
775
+ },
776
+ ratio: {
777
+ type: "string",
778
+ enum: ["16:9", "9:16", "1:1", "4:3", "3:4"],
779
+ description: "Video aspect ratio (default 16:9)",
780
+ },
781
+ duration: {
782
+ type: "number",
783
+ description: "Duration in seconds, 2-15 (default 5)",
784
+ },
785
+ prompt_extend: {
786
+ type: "boolean",
787
+ description: "Intelligent prompt rewriting (default true)",
788
+ },
789
+ watermark: {
790
+ type: "boolean",
791
+ description: "AI-generated watermark (default false)",
792
+ },
793
+ seed: {
794
+ type: "number",
795
+ description: "Random seed (0-2147483647)",
796
+ },
797
+ nsfw_checker: {
798
+ type: "boolean",
799
+ description: "Content safety filter (default false)",
800
+ },
801
+ },
802
+ },
803
+ "wan/2-7-r2v": {
804
+ type: "video",
805
+ fields: {
806
+ prompt: {
807
+ type: "string",
808
+ required: true,
809
+ description: "Positive prompt (max 5000 chars)",
810
+ },
811
+ negative_prompt: {
812
+ type: "string",
813
+ description: "Negative prompt (max 500 chars)",
814
+ },
815
+ reference_image: {
816
+ type: "array",
817
+ description: "Array of reference image URLs (max 5 total with videos)",
818
+ },
819
+ reference_video: {
820
+ type: "array",
821
+ description: "Array of reference video URLs (max 5 total with images)",
822
+ },
823
+ first_frame: {
824
+ type: "string",
825
+ description: "First frame image URL (overrides aspect_ratio)",
826
+ },
827
+ reference_voice: {
828
+ type: "string",
829
+ description: "Audio URL for voice timbre (wav/mp3, 1-10s, max 15MB)",
830
+ },
831
+ resolution: {
832
+ type: "string",
833
+ enum: ["720p", "1080p"],
834
+ description: "Video resolution (default 1080p)",
835
+ },
836
+ aspect_ratio: {
837
+ type: "string",
838
+ enum: ["16:9", "9:16", "1:1", "4:3", "3:4"],
839
+ description: "Video aspect ratio (default 16:9, ignored if first_frame set)",
840
+ },
841
+ duration: {
842
+ type: "number",
843
+ description: "Duration in seconds, 2-10 (default 5)",
844
+ },
845
+ prompt_extend: {
846
+ type: "boolean",
847
+ description: "Intelligent prompt rewriting (default true)",
848
+ },
849
+ watermark: {
850
+ type: "boolean",
851
+ description: "AI-generated watermark (default false)",
852
+ },
853
+ seed: {
854
+ type: "number",
855
+ description: "Random seed (0-2147483647)",
856
+ },
857
+ nsfw_checker: {
858
+ type: "boolean",
859
+ description: "Content safety filter (default false)",
860
+ },
861
+ },
862
+ },
863
+ "wan/2-7-videoedit": {
864
+ type: "video",
865
+ fields: {
866
+ prompt: {
867
+ type: "string",
868
+ description: "Positive prompt (max 5000 chars)",
869
+ },
870
+ negative_prompt: {
871
+ type: "string",
872
+ description: "Negative prompt (max 500 chars)",
873
+ },
874
+ video_url: {
875
+ type: "string",
876
+ required: true,
877
+ description: "Source video URL (mp4/mov, 2-10s, max 100MB)",
878
+ },
879
+ reference_image: {
880
+ type: "string",
881
+ description: "Reference image URL for style guidance (max 20MB)",
882
+ },
883
+ resolution: {
884
+ type: "string",
885
+ enum: ["720p", "1080p"],
886
+ description: "Video resolution (default 1080p)",
887
+ },
888
+ aspect_ratio: {
889
+ type: "string",
890
+ enum: ["16:9", "9:16", "1:1", "4:3", "3:4"],
891
+ description: "Output aspect ratio (default matches input video)",
892
+ },
893
+ duration: {
894
+ type: "number",
895
+ description: "Duration in seconds, 0 or 2-10 (default 0 = full input duration)",
896
+ },
897
+ audio_setting: {
898
+ type: "string",
899
+ enum: ["auto", "origin"],
900
+ description: "Audio handling: auto (model decides) or origin (keep original)",
901
+ },
902
+ prompt_extend: {
903
+ type: "boolean",
904
+ description: "Intelligent prompt rewriting (default true)",
905
+ },
906
+ watermark: {
907
+ type: "boolean",
908
+ description: "AI-generated watermark (default false)",
909
+ },
910
+ seed: {
911
+ type: "number",
912
+ description: "Random seed (0-2147483647)",
913
+ },
914
+ nsfw_checker: {
915
+ type: "boolean",
916
+ description: "Content safety filter (default false)",
917
+ },
918
+ },
919
+ },
920
+ "wan/2-7-image": {
921
+ type: "image",
922
+ fields: {
923
+ prompt: {
924
+ type: "string",
925
+ required: true,
926
+ description: "Prompt for image generation or editing (max 5000 chars)",
927
+ },
928
+ input_urls: {
929
+ type: "array",
930
+ description: "Array of input image URLs (max 9)",
931
+ },
932
+ aspect_ratio: {
933
+ type: "string",
934
+ enum: ["1:1", "16:9", "4:3", "21:9", "3:4", "9:16", "8:1", "1:8"],
935
+ description: "Output aspect ratio when no image input is provided (default 1:1)",
936
+ },
937
+ enable_sequential: {
938
+ type: "boolean",
939
+ description: "Enable sequential/group image mode (default false)",
940
+ },
941
+ n: {
942
+ type: "number",
943
+ description: "Number of images to generate: 1-4 when sequential=false (default 4), 1-12 when sequential=true (default 12)",
944
+ },
945
+ resolution: {
946
+ type: "string",
947
+ enum: ["1K", "2K", "4K"],
948
+ description: "Output resolution (default 2K)",
949
+ },
950
+ thinking_mode: {
951
+ type: "boolean",
952
+ description: "Enable thinking mode (only when sequential=false and no input_urls, default false)",
953
+ },
954
+ color_palette: {
955
+ type: "array",
956
+ description: "Custom color theme with 3-10 {hex, ratio} entries (only when sequential=false)",
957
+ },
958
+ bbox_list: {
959
+ type: "array",
960
+ description: "Interactive editing bounding boxes, max 2 per image, format [x1, y1, x2, y2]",
961
+ },
962
+ watermark: {
963
+ type: "boolean",
964
+ description: "Add watermark (default false)",
965
+ },
966
+ seed: {
967
+ type: "number",
968
+ description: "Random seed (0-2147483647)",
969
+ },
970
+ nsfw_checker: {
971
+ type: "boolean",
972
+ description: "Content safety filter (default false)",
973
+ },
974
+ },
975
+ },
976
+ "wan/2-7-image-pro": {
977
+ type: "image",
978
+ fields: {
979
+ prompt: {
980
+ type: "string",
981
+ required: true,
982
+ description: "Prompt for image generation or editing (max 5000 chars)",
983
+ },
984
+ input_urls: {
985
+ type: "array",
986
+ description: "Array of input image URLs (max 9)",
987
+ },
988
+ aspect_ratio: {
989
+ type: "string",
990
+ enum: ["1:1", "16:9", "4:3", "21:9", "3:4", "9:16", "8:1", "1:8"],
991
+ description: "Output aspect ratio when no image input is provided (default 1:1)",
992
+ },
993
+ enable_sequential: {
994
+ type: "boolean",
995
+ description: "Enable sequential/group image mode (default false)",
996
+ },
997
+ n: {
998
+ type: "number",
999
+ description: "Number of images to generate: 1-4 when sequential=false (default 4), 1-12 when sequential=true (default 12)",
1000
+ },
1001
+ resolution: {
1002
+ type: "string",
1003
+ enum: ["1K", "2K", "4K"],
1004
+ description: "Output resolution (default 2K, 4K only for text-to-image in standard mode)",
1005
+ },
1006
+ thinking_mode: {
1007
+ type: "boolean",
1008
+ description: "Enable thinking mode (only when sequential=false and no input_urls, default false)",
1009
+ },
1010
+ color_palette: {
1011
+ type: "array",
1012
+ description: "Custom color theme with 3-10 {hex, ratio} entries (only when sequential=false)",
1013
+ },
1014
+ bbox_list: {
1015
+ type: "array",
1016
+ description: "Interactive editing bounding boxes, max 2 per image, format [x1, y1, x2, y2]",
1017
+ },
1018
+ watermark: {
1019
+ type: "boolean",
1020
+ description: "Add watermark (default false)",
1021
+ },
1022
+ seed: {
1023
+ type: "number",
1024
+ description: "Random seed (0-2147483647)",
1025
+ },
1026
+ nsfw_checker: {
1027
+ type: "boolean",
1028
+ description: "Content safety filter (default false)",
1029
+ },
1030
+ },
1031
+ },
1032
+ "sora-watermark-remover": {
1033
+ type: "video",
1034
+ fields: {
1035
+ video_url: {
1036
+ type: "string",
1037
+ required: true,
1038
+ description: "URL to video for watermark removal",
1039
+ },
1040
+ upload_method: {
1041
+ type: "string",
1042
+ enum: ["s3", "oss"],
1043
+ description: "Storage destination (default s3, oss for China)",
1044
+ },
1045
+ },
1046
+ },
1047
+ "happyhorse/text-to-video": {
1048
+ type: "video",
1049
+ fields: {
1050
+ prompt: {
1051
+ type: "string",
1052
+ required: true,
1053
+ description: "Video generation prompt (max 5000 non-Chinese / 2500 Chinese chars)",
1054
+ },
1055
+ resolution: {
1056
+ type: "string",
1057
+ enum: ["720p", "1080p"],
1058
+ description: "Output resolution (default 1080p)",
1059
+ },
1060
+ aspect_ratio: {
1061
+ type: "string",
1062
+ enum: ["16:9", "9:16", "1:1", "4:3", "3:4"],
1063
+ description: "Output aspect ratio (default 16:9)",
1064
+ },
1065
+ duration: {
1066
+ type: "number",
1067
+ description: "Duration in seconds, 3-15 (default 5)",
1068
+ },
1069
+ seed: {
1070
+ type: "number",
1071
+ description: "Random seed (0-2147483647)",
1072
+ },
1073
+ },
1074
+ },
1075
+ "happyhorse/image-to-video": {
1076
+ type: "video",
1077
+ fields: {
1078
+ prompt: {
1079
+ type: "string",
1080
+ description: "Video generation prompt (max 5000 non-Chinese / 2500 Chinese chars)",
1081
+ },
1082
+ image_urls: {
1083
+ type: "array",
1084
+ required: true,
1085
+ description: "First-frame image URL list (exactly 1 image required)",
1086
+ items: { type: "string" },
1087
+ },
1088
+ resolution: {
1089
+ type: "string",
1090
+ enum: ["720p", "1080p"],
1091
+ description: "Output resolution (default 1080p)",
1092
+ },
1093
+ duration: {
1094
+ type: "number",
1095
+ description: "Duration in seconds, 3-15 (default 5)",
1096
+ },
1097
+ seed: {
1098
+ type: "number",
1099
+ description: "Random seed (0-2147483647)",
1100
+ },
1101
+ },
1102
+ },
1103
+ "happyhorse/reference-to-video": {
1104
+ type: "video",
1105
+ fields: {
1106
+ prompt: {
1107
+ type: "string",
1108
+ required: true,
1109
+ description: "Video generation prompt (max 5000 non-Chinese / 2500 Chinese chars)",
1110
+ },
1111
+ reference_image: {
1112
+ type: "array",
1113
+ required: true,
1114
+ description: "Reference image URLs (1-9 images; order defines character1, character2, ...)",
1115
+ items: { type: "string" },
1116
+ },
1117
+ resolution: {
1118
+ type: "string",
1119
+ enum: ["720p", "1080p"],
1120
+ description: "Output resolution (default 1080p)",
1121
+ },
1122
+ aspect_ratio: {
1123
+ type: "string",
1124
+ enum: ["16:9", "9:16", "1:1", "4:3", "3:4"],
1125
+ description: "Output aspect ratio (default 16:9)",
1126
+ },
1127
+ duration: {
1128
+ type: "number",
1129
+ description: "Duration in seconds, 3-15 (default 5)",
1130
+ },
1131
+ seed: {
1132
+ type: "number",
1133
+ description: "Random seed (0-2147483647)",
1134
+ },
1135
+ },
1136
+ },
1137
+ "happyhorse/video-edit": {
1138
+ type: "video",
1139
+ fields: {
1140
+ prompt: {
1141
+ type: "string",
1142
+ required: true,
1143
+ description: "Edit instruction (max 5000 non-Chinese / 2500 Chinese chars)",
1144
+ },
1145
+ video_url: {
1146
+ type: "string",
1147
+ required: true,
1148
+ description: "Source video URL (mp4/mov, 3-60s, max 100MB, longest side <=2160px)",
1149
+ },
1150
+ reference_image: {
1151
+ type: "array",
1152
+ description: "Optional reference image URLs (0-5)",
1153
+ items: { type: "string" },
1154
+ },
1155
+ resolution: {
1156
+ type: "string",
1157
+ enum: ["720p", "1080p"],
1158
+ description: "Output resolution (default 1080p)",
1159
+ },
1160
+ audio_setting: {
1161
+ type: "string",
1162
+ enum: ["auto", "origin"],
1163
+ description: "Audio handling: auto (model decides) or origin (keep original) (default auto)",
1164
+ },
1165
+ seed: {
1166
+ type: "number",
1167
+ description: "Random seed (0-2147483647)",
1168
+ },
1169
+ },
1170
+ },
1171
+ };
1172
+ //# sourceMappingURL=model-schemas.js.map