@felores/kie-ai-mcp-server 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -53,7 +53,7 @@ class KieAiMcpServer {
53
53
  constructor() {
54
54
  this.server = new Server({
55
55
  name: "kie-ai-mcp-server",
56
- version: "3.0.1",
56
+ version: "3.1.0",
57
57
  });
58
58
  // Initialize client with config from environment
59
59
  this.config = {
@@ -614,66 +614,92 @@ class KieAiMcpServer {
614
614
  },
615
615
  {
616
616
  name: "bytedance_seedance_video",
617
- description: "Generate videos using ByteDance Seedance models (unified tool for both text-to-video and image-to-video)",
617
+ description: "Generate videos with ByteDance Seedance 2.0 — multimodal inputs (image/video/audio references), native audio generation, standard and fast modes",
618
618
  inputSchema: {
619
619
  type: "object",
620
620
  properties: {
621
621
  prompt: {
622
622
  type: "string",
623
- description: "Text prompt for video generation (max 10000 characters)",
624
- minLength: 1,
625
- maxLength: 10000,
623
+ description: "Text prompt for video generation (3-20000 characters)",
624
+ minLength: 3,
625
+ maxLength: 20000,
626
626
  },
627
- image_url: {
627
+ mode: {
628
628
  type: "string",
629
- description: "URL of input image for image-to-video generation (optional - if not provided, uses text-to-video)",
629
+ description: "Generation mode standard (seedance-2, higher quality) or fast (seedance-2-fast, iterative workflows)",
630
+ enum: ["standard", "fast"],
631
+ default: "standard",
632
+ },
633
+ first_frame_url: {
634
+ type: "string",
635
+ description: "URL of image to use as the first frame (optional)",
630
636
  format: "uri",
631
637
  },
632
- quality: {
638
+ last_frame_url: {
633
639
  type: "string",
634
- description: "Model quality level - lite for faster generation, pro for higher quality",
635
- enum: ["lite", "pro"],
636
- default: "lite",
640
+ description: "URL of image to use as the last frame (optional)",
641
+ format: "uri",
642
+ },
643
+ reference_image_urls: {
644
+ type: "array",
645
+ description: "Reference images for style/subject guidance (up to 9)",
646
+ items: { type: "string", format: "uri" },
647
+ maxItems: 9,
648
+ },
649
+ reference_video_urls: {
650
+ type: "array",
651
+ description: "Reference videos for motion/style guidance (up to 3)",
652
+ items: { type: "string", format: "uri" },
653
+ maxItems: 3,
654
+ },
655
+ reference_audio_urls: {
656
+ type: "array",
657
+ description: "Reference audio for sound-guided generation (up to 3)",
658
+ items: { type: "string", format: "uri" },
659
+ maxItems: 3,
637
660
  },
638
661
  aspect_ratio: {
639
662
  type: "string",
640
663
  description: "Aspect ratio of the generated video",
641
- enum: ["1:1", "9:16", "16:9", "4:3", "3:4", "21:9", "9:21"],
664
+ enum: [
665
+ "1:1",
666
+ "9:16",
667
+ "16:9",
668
+ "4:3",
669
+ "3:4",
670
+ "21:9",
671
+ "9:21",
672
+ "adaptive",
673
+ ],
642
674
  default: "16:9",
643
675
  },
644
676
  resolution: {
645
677
  type: "string",
646
- description: "Video resolution - 480p for faster generation, 720p for balance, 1080p for higher quality",
647
- enum: ["480p", "720p", "1080p"],
678
+ description: "Video resolution 480p for faster, 720p for balance",
679
+ enum: ["480p", "720p"],
648
680
  default: "720p",
649
681
  },
650
682
  duration: {
651
- type: "string",
652
- description: "Duration of video in seconds (2-12)",
653
- pattern: "^[2-9]|1[0-2]$",
654
- default: "5",
655
- },
656
- camera_fixed: {
657
- type: "boolean",
658
- description: "Whether to fix the camera position",
659
- default: false,
660
- },
661
- seed: {
662
683
  type: "integer",
663
- description: "Random seed to control video generation. Use -1 for random",
664
- minimum: -1,
665
- maximum: 2147483647,
666
- default: -1,
684
+ description: "Duration of video in seconds (4-15)",
685
+ minimum: 4,
686
+ maximum: 15,
687
+ default: 5,
667
688
  },
668
- enable_safety_checker: {
689
+ generate_audio: {
669
690
  type: "boolean",
670
- description: "Enable content safety checking",
691
+ description: "Generate native audio for the video",
671
692
  default: true,
672
693
  },
673
- end_image_url: {
674
- type: "string",
675
- description: "URL of image the video should end with (image-to-video only)",
676
- format: "uri",
694
+ web_search: {
695
+ type: "boolean",
696
+ description: "Enable web search to enhance prompt understanding",
697
+ default: false,
698
+ },
699
+ nsfw_checker: {
700
+ type: "boolean",
701
+ description: "Enable NSFW content filtering",
702
+ default: false,
677
703
  },
678
704
  callBackUrl: {
679
705
  type: "string",
@@ -1960,8 +1986,8 @@ class KieAiMcpServer {
1960
1986
  },
1961
1987
  {
1962
1988
  uri: "kie://models/bytedance-seedance",
1963
- name: "ByteDance Seedance",
1964
- description: "Professional video generation with lite/pro quality modes",
1989
+ name: "ByteDance Seedance 2.0",
1990
+ description: "Multimodal video generation with native audio, image/video/audio references, standard and fast modes",
1965
1991
  mimeType: "text/markdown",
1966
1992
  annotations: {
1967
1993
  audience: ["assistant"],
@@ -3029,10 +3055,8 @@ class KieAiMcpServer {
3029
3055
  request.callBackUrl = this.getCallbackUrl(request.callBackUrl);
3030
3056
  const response = await this.client.generateByteDanceSeedanceVideo(request);
3031
3057
  if (response.code === 200 && response.data?.taskId) {
3032
- // Determine mode for user feedback
3033
- const isImageToVideo = !!request.image_url;
3034
- const mode = isImageToVideo ? "Image-to-Video" : "Text-to-Video";
3035
- const quality = request.quality || "lite";
3058
+ const mode = request.mode || "standard";
3059
+ const hasFrameInput = !!request.first_frame_url;
3036
3060
  // Store task in database
3037
3061
  await this.db.createTask({
3038
3062
  task_id: response.data.taskId,
@@ -3046,24 +3070,35 @@ class KieAiMcpServer {
3046
3070
  text: JSON.stringify({
3047
3071
  success: true,
3048
3072
  task_id: response.data.taskId,
3049
- message: `ByteDance Seedance ${mode} generation task created successfully`,
3073
+ message: `ByteDance Seedance 2.0 ${mode} generation task created successfully`,
3050
3074
  parameters: {
3051
- mode: mode,
3052
- quality: quality,
3075
+ mode,
3053
3076
  prompt: request.prompt.substring(0, 100) +
3054
3077
  (request.prompt.length > 100 ? "..." : ""),
3055
3078
  aspect_ratio: request.aspect_ratio || "16:9",
3056
3079
  resolution: request.resolution || "720p",
3057
- duration: request.duration || "5",
3058
- ...(isImageToVideo && { image_url: request.image_url }),
3059
- ...(request.end_image_url && {
3060
- end_image_url: request.end_image_url,
3080
+ duration: request.duration || 5,
3081
+ generate_audio: request.generate_audio !== false,
3082
+ ...(hasFrameInput && {
3083
+ first_frame_url: request.first_frame_url,
3084
+ }),
3085
+ ...(request.last_frame_url && {
3086
+ last_frame_url: request.last_frame_url,
3087
+ }),
3088
+ ...(request.reference_image_urls?.length && {
3089
+ reference_images: request.reference_image_urls.length,
3090
+ }),
3091
+ ...(request.reference_video_urls?.length && {
3092
+ reference_videos: request.reference_video_urls.length,
3093
+ }),
3094
+ ...(request.reference_audio_urls?.length && {
3095
+ reference_audios: request.reference_audio_urls.length,
3061
3096
  }),
3062
3097
  },
3063
3098
  next_steps: [
3064
3099
  "Use get_task_status to check generation progress",
3065
3100
  "Task completion will be sent to the provided callback URL",
3066
- `${mode} generation typically takes 2-5 minutes depending on quality and complexity`,
3101
+ `${mode} mode generation typically takes 2-5 minutes depending on duration and complexity`,
3067
3102
  ],
3068
3103
  }, null, 2),
3069
3104
  },
@@ -3078,26 +3113,28 @@ class KieAiMcpServer {
3078
3113
  catch (error) {
3079
3114
  if (error instanceof z.ZodError) {
3080
3115
  return this.formatError("bytedance_seedance_video", error, {
3081
- prompt: "Required: Text prompt for video generation (max 10000 characters)",
3082
- image_url: "Optional: URL of input image for image-to-video mode",
3083
- quality: "Optional: Model quality - lite (faster) or pro (higher quality, default: lite)",
3116
+ prompt: "Required: Text prompt for video generation (3-20000 characters)",
3117
+ mode: 'Optional: Generation mode "standard" or "fast" (default: standard)',
3118
+ first_frame_url: "Optional: URL of image to use as first frame",
3119
+ last_frame_url: "Optional: URL of image to use as last frame",
3120
+ reference_image_urls: "Optional: Reference images for style guidance (up to 9)",
3121
+ reference_video_urls: "Optional: Reference videos for motion guidance (up to 3)",
3122
+ reference_audio_urls: "Optional: Reference audio for sound-guided generation (up to 3)",
3084
3123
  aspect_ratio: "Optional: Video aspect ratio (default: 16:9)",
3085
- resolution: "Optional: Video resolution - 480p/720p/1080p (default: 720p)",
3086
- duration: "Optional: Video duration in seconds 2-12 (default: 5)",
3087
- camera_fixed: "Optional: Fix camera position (default: false)",
3088
- seed: "Optional: Random seed for reproducible results (default: -1 for random)",
3089
- enable_safety_checker: "Optional: Enable content safety checking (default: true)",
3090
- end_image_url: "Optional: URL of ending image (image-to-video only)",
3091
- callBackUrl: "Optional: URL for task completion notifications (uses KIE_AI_CALLBACK_URL env var if not provided)",
3124
+ resolution: 'Optional: Video resolution "480p" or "720p" (default: 720p)',
3125
+ duration: "Optional: Video duration in seconds 4-15 (default: 5)",
3126
+ generate_audio: "Optional: Generate native audio (default: true)",
3127
+ web_search: "Optional: Enable web search for prompt enhancement (default: false)",
3128
+ nsfw_checker: "Optional: Enable NSFW content filtering (default: false)",
3129
+ callBackUrl: "Optional: URL for task completion notifications",
3092
3130
  });
3093
3131
  }
3094
3132
  return this.formatError("bytedance_seedance_video", error, {
3095
- prompt: "Required: Text prompt for video generation (max 10000 characters)",
3096
- image_url: "Optional: URL of input image for image-to-video mode",
3097
- quality: "Optional: Model quality - lite or pro",
3133
+ prompt: "Required: Text prompt for video generation",
3134
+ mode: 'Optional: "standard" or "fast"',
3098
3135
  aspect_ratio: "Optional: Video aspect ratio",
3099
- resolution: "Optional: Video resolution",
3100
- duration: "Optional: Video duration in seconds 2-12",
3136
+ resolution: 'Optional: "480p" or "720p"',
3137
+ duration: "Optional: Duration in seconds 4-15",
3101
3138
  callBackUrl: "Optional: URL for task completion notifications",
3102
3139
  });
3103
3140
  }
@@ -4850,10 +4887,10 @@ The system automatically detects user intent:
4850
4887
  ## 🔧 Intelligent Parameter Selection
4851
4888
 
4852
4889
  ### **Video Parameters**
4853
- - **ByteDance Seedance**:
4854
- - Default: \`quality: "lite"\`, \`resolution: "720p"\`
4855
- - High Quality: \`quality: "pro"\`, \`resolution: "1080p"\`
4856
- - Professional 720p: \`quality: "pro"\`, \`resolution: "720p"\`
4890
+ - **ByteDance Seedance 2.0**:
4891
+ - Default: \`mode: "standard"\`, \`resolution: "720p"\`, \`generate_audio: true\`
4892
+ - Fast/Iterative: \`mode: "fast"\`, \`resolution: "480p"\`
4893
+ - Higher Quality: \`mode: "standard"\`, \`resolution: "720p"\`
4857
4894
 
4858
4895
  - **Veo3**:
4859
4896
  - Default: \`model: "veo3_fast"\`
@@ -5001,7 +5038,7 @@ These guidelines ensure optimal balance between quality requirements and cost ma
5001
5038
  | Model | Max Resolution | Quality Modes | Duration | Speed | Key Strengths |
5002
5039
  |-------|---------------|---------------|----------|-------|---------------|
5003
5040
  | **Google Veo3** | 1080p | veo3/veo3_fast | Default | Medium | Premium cinematic quality, 1080p support |
5004
- | **ByteDance Seedance** | 1080p | lite/pro | 2-12s | Medium | Professional standard, quality modes |
5041
+ | **ByteDance Seedance 2.0** | 720p | standard/fast | 4-15s | Medium | Multimodal refs, native audio, adaptive aspect |
5005
5042
  | **Wan Video 2.5** | 1080p | Single | 5-10s | Fast | Quick generation, social media |
5006
5043
  | **Runway Aleph** | 1080p | Single | Source | Medium | Video-to-video editing, style transfer |
5007
5044
 
@@ -5009,32 +5046,33 @@ These guidelines ensure optimal balance between quality requirements and cost ma
5009
5046
 
5010
5047
  ### Default Settings (Cost-Effective)
5011
5048
  - **Resolution**: 720p (unless user requests high quality)
5012
- - **Quality Mode**: lite/fast (unless user requests high quality)
5013
- - **Model**: ByteDance Seedance lite as default
5049
+ - **Quality Mode**: standard/fast (unless user requests "fast" explicitly)
5050
+ - **Model**: ByteDance Seedance 2.0 standard as default
5014
5051
 
5015
5052
  ### High Quality Upgrades
5016
- - **User says "high quality"**: Pro models + 1080p
5017
- - **User says "high quality in 720p"**: Pro models + 720p
5053
+ - **User says "high quality"**: Standard mode + 720p (already default)
5018
5054
  - **User says "cinematic"**: Veo3 model
5019
- - **User says "fast/quick"**: Lite models + 720p (already default)
5055
+ - **User says "fast/quick"**: Seedance fast mode + 480p
5020
5056
 
5021
5057
  ## Use Case Recommendations
5022
5058
 
5023
5059
  - **Cinematic/Premium Content**: Veo3 (model: "veo3")
5024
- - **Professional/Commercial**: ByteDance Seedance (quality: "pro")
5025
- - **Social Media/Fast**: Wan Video 2.5 or ByteDance lite
5060
+ - **Professional/Commercial**: ByteDance Seedance 2.0 (mode: "standard")
5061
+ - **Social Media/Fast**: ByteDance Seedance 2.0 fast or Wan Video 2.5
5062
+ - **Multimodal (refs + audio)**: ByteDance Seedance 2.0 with reference URLs
5026
5063
  - **Video Editing**: Runway Aleph (existing video transformation)
5027
5064
 
5028
5065
  ## Parameter Mapping
5029
5066
 
5030
5067
  ### Input Methods
5031
5068
  - **Text-to-Video**: All models (prompt only)
5032
- - **Image-to-Video**: Veo3 (imageUrls), ByteDance (image_url), Wan (image_url)
5069
+ - **Image-to-Video**: Veo3 (imageUrls), Seedance (first_frame_url), Wan (image_url)
5033
5070
  - **Video-to-Video**: Runway Aleph (videoUrl)
5071
+ - **Multimodal Refs**: Seedance 2.0 (reference_image/video/audio_urls)
5034
5072
 
5035
5073
  ### Quality Control
5036
5074
  - **Veo3**: model selection (veo3 vs veo3_fast)
5037
- - **ByteDance**: quality parameter (lite vs pro) + resolution
5075
+ - **Seedance 2.0**: mode (standard vs fast) + resolution
5038
5076
  - **Wan**: resolution parameter only
5039
5077
  - **Runway**: implicit (no quality settings)
5040
5078
 
@@ -5053,7 +5091,7 @@ These guidelines ensure optimal balance between quality requirements and cost ma
5053
5091
  ### **CRITICAL COST CONTROL RULES**
5054
5092
  - **Resolution**: ALWAYS use \`"720p"\` unless user explicitly requests high quality
5055
5093
  - **Quality Level**: ALWAYS use **lite/fast** versions unless user requests "high quality"
5056
- - **Model Selection**: bytedance_seedance_video with \`quality: "lite"\` as default
5094
+ - **Model Selection**: bytedance_seedance_video with \`mode: "standard"\` as default
5057
5095
 
5058
5096
  ### **Quality Upgrade Logic**
5059
5097
 
@@ -5158,7 +5196,7 @@ These guidelines ensure optimal balance between quality requirements and cost ma
5158
5196
  "ideogram-reframe": "ideogram_reframe_image.md",
5159
5197
  // Video models
5160
5198
  veo3: "google_veo3-text-to-image.md",
5161
- "bytedance-seedance": "bytedance_seedance-v1-lite-text-to-video.md",
5199
+ "bytedance-seedance": "bytedance_seedance-2.md",
5162
5200
  "wan-video": "wan_2-5-text-to-video.md",
5163
5201
  "runway-aleph": "runway_aleph_video.md",
5164
5202
  "kling-v2-1": "kling_v2-1-pro.md",
@@ -187,37 +187,38 @@ export class KieAiClient {
187
187
  return this.makeRequest("/jobs/createTask", "POST", jobRequest);
188
188
  }
189
189
  async generateByteDanceSeedanceVideo(request) {
190
- // Determine model based on quality and mode (text-to-video vs image-to-video)
191
- const isImageToVideo = !!request.image_url;
192
- const quality = request.quality || "lite";
193
- let model;
194
- if (isImageToVideo) {
195
- model =
196
- quality === "pro"
197
- ? "bytedance/v1-pro-image-to-video"
198
- : "bytedance/v1-lite-image-to-video";
199
- }
200
- else {
201
- model =
202
- quality === "pro"
203
- ? "bytedance/v1-pro-text-to-video"
204
- : "bytedance/v1-lite-text-to-video";
205
- }
190
+ // Seedance 2.0: two model variants
191
+ const model = request.mode === "fast"
192
+ ? "bytedance/seedance-2-fast"
193
+ : "bytedance/seedance-2";
206
194
  const input = {
207
195
  prompt: request.prompt,
208
196
  aspect_ratio: request.aspect_ratio || "16:9",
209
197
  resolution: request.resolution || "720p",
210
- duration: request.duration || "5",
211
- camera_fixed: request.camera_fixed || false,
212
- seed: request.seed !== undefined ? request.seed : -1,
213
- enable_safety_checker: request.enable_safety_checker === true,
198
+ duration: request.duration || 5,
199
+ generate_audio: request.generate_audio !== false,
200
+ nsfw_checker: request.nsfw_checker === true,
214
201
  };
215
- // Add image-specific parameters
216
- if (isImageToVideo) {
217
- input.image_url = request.image_url;
218
- if (request.end_image_url) {
219
- input.end_image_url = request.end_image_url;
220
- }
202
+ // Frame control
203
+ if (request.first_frame_url) {
204
+ input.first_frame_url = request.first_frame_url;
205
+ }
206
+ if (request.last_frame_url) {
207
+ input.last_frame_url = request.last_frame_url;
208
+ }
209
+ // Multimodal references
210
+ if (request.reference_image_urls?.length) {
211
+ input.reference_image_urls = request.reference_image_urls;
212
+ }
213
+ if (request.reference_video_urls?.length) {
214
+ input.reference_video_urls = request.reference_video_urls;
215
+ }
216
+ if (request.reference_audio_urls?.length) {
217
+ input.reference_audio_urls = request.reference_audio_urls;
218
+ }
219
+ // Web search
220
+ if (request.web_search) {
221
+ input.web_search = true;
221
222
  }
222
223
  const jobRequest = {
223
224
  model,
package/dist/types.d.ts CHANGED
@@ -196,64 +196,79 @@ export declare const ElevenLabsSoundEffectsSchema: z.ZodObject<{
196
196
  }>;
197
197
  export declare const ByteDanceSeedanceVideoSchema: z.ZodEffects<z.ZodObject<{
198
198
  prompt: z.ZodString;
199
- image_url: z.ZodOptional<z.ZodString>;
200
- quality: z.ZodOptional<z.ZodDefault<z.ZodEnum<["lite", "pro"]>>>;
201
- aspect_ratio: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1:1", "9:16", "16:9", "4:3", "3:4", "21:9", "9:21"]>>>;
202
- resolution: z.ZodOptional<z.ZodDefault<z.ZodEnum<["480p", "720p", "1080p"]>>>;
203
- duration: z.ZodOptional<z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>>;
204
- camera_fixed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
205
- seed: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
206
- enable_safety_checker: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
207
- end_image_url: z.ZodOptional<z.ZodString>;
199
+ mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<["standard", "fast"]>>>;
200
+ first_frame_url: z.ZodOptional<z.ZodString>;
201
+ last_frame_url: z.ZodOptional<z.ZodString>;
202
+ reference_image_urls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
203
+ reference_video_urls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
204
+ reference_audio_urls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
205
+ aspect_ratio: z.ZodOptional<z.ZodDefault<z.ZodEnum<["1:1", "9:16", "16:9", "4:3", "3:4", "21:9", "9:21", "adaptive"]>>>;
206
+ resolution: z.ZodOptional<z.ZodDefault<z.ZodEnum<["480p", "720p"]>>>;
207
+ duration: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
208
+ generate_audio: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
209
+ web_search: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
210
+ nsfw_checker: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
208
211
  callBackUrl: z.ZodOptional<z.ZodString>;
209
212
  }, "strip", z.ZodTypeAny, {
210
213
  prompt: string;
211
- aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | undefined;
212
- resolution?: "480p" | "720p" | "1080p" | undefined;
214
+ aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | "adaptive" | undefined;
215
+ resolution?: "480p" | "720p" | undefined;
213
216
  callBackUrl?: string | undefined;
214
- image_url?: string | undefined;
215
- quality?: "lite" | "pro" | undefined;
216
- duration?: string | undefined;
217
- camera_fixed?: boolean | undefined;
218
- seed?: number | undefined;
219
- enable_safety_checker?: boolean | undefined;
220
- end_image_url?: string | undefined;
217
+ mode?: "standard" | "fast" | undefined;
218
+ first_frame_url?: string | undefined;
219
+ last_frame_url?: string | undefined;
220
+ reference_image_urls?: string[] | undefined;
221
+ reference_video_urls?: string[] | undefined;
222
+ reference_audio_urls?: string[] | undefined;
223
+ duration?: number | undefined;
224
+ generate_audio?: boolean | undefined;
225
+ web_search?: boolean | undefined;
226
+ nsfw_checker?: boolean | undefined;
221
227
  }, {
222
228
  prompt: string;
223
- aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | undefined;
224
- resolution?: "480p" | "720p" | "1080p" | undefined;
229
+ aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | "adaptive" | undefined;
230
+ resolution?: "480p" | "720p" | undefined;
225
231
  callBackUrl?: string | undefined;
226
- image_url?: string | undefined;
227
- quality?: "lite" | "pro" | undefined;
228
- duration?: string | undefined;
229
- camera_fixed?: boolean | undefined;
230
- seed?: number | undefined;
231
- enable_safety_checker?: boolean | undefined;
232
- end_image_url?: string | undefined;
232
+ mode?: "standard" | "fast" | undefined;
233
+ first_frame_url?: string | undefined;
234
+ last_frame_url?: string | undefined;
235
+ reference_image_urls?: string[] | undefined;
236
+ reference_video_urls?: string[] | undefined;
237
+ reference_audio_urls?: string[] | undefined;
238
+ duration?: number | undefined;
239
+ generate_audio?: boolean | undefined;
240
+ web_search?: boolean | undefined;
241
+ nsfw_checker?: boolean | undefined;
233
242
  }>, {
234
243
  prompt: string;
235
- aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | undefined;
236
- resolution?: "480p" | "720p" | "1080p" | undefined;
244
+ aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | "adaptive" | undefined;
245
+ resolution?: "480p" | "720p" | undefined;
237
246
  callBackUrl?: string | undefined;
238
- image_url?: string | undefined;
239
- quality?: "lite" | "pro" | undefined;
240
- duration?: string | undefined;
241
- camera_fixed?: boolean | undefined;
242
- seed?: number | undefined;
243
- enable_safety_checker?: boolean | undefined;
244
- end_image_url?: string | undefined;
247
+ mode?: "standard" | "fast" | undefined;
248
+ first_frame_url?: string | undefined;
249
+ last_frame_url?: string | undefined;
250
+ reference_image_urls?: string[] | undefined;
251
+ reference_video_urls?: string[] | undefined;
252
+ reference_audio_urls?: string[] | undefined;
253
+ duration?: number | undefined;
254
+ generate_audio?: boolean | undefined;
255
+ web_search?: boolean | undefined;
256
+ nsfw_checker?: boolean | undefined;
245
257
  }, {
246
258
  prompt: string;
247
- aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | undefined;
248
- resolution?: "480p" | "720p" | "1080p" | undefined;
259
+ aspect_ratio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | "9:21" | "adaptive" | undefined;
260
+ resolution?: "480p" | "720p" | undefined;
249
261
  callBackUrl?: string | undefined;
250
- image_url?: string | undefined;
251
- quality?: "lite" | "pro" | undefined;
252
- duration?: string | undefined;
253
- camera_fixed?: boolean | undefined;
254
- seed?: number | undefined;
255
- enable_safety_checker?: boolean | undefined;
256
- end_image_url?: string | undefined;
262
+ mode?: "standard" | "fast" | undefined;
263
+ first_frame_url?: string | undefined;
264
+ last_frame_url?: string | undefined;
265
+ reference_image_urls?: string[] | undefined;
266
+ reference_video_urls?: string[] | undefined;
267
+ reference_audio_urls?: string[] | undefined;
268
+ duration?: number | undefined;
269
+ generate_audio?: boolean | undefined;
270
+ web_search?: boolean | undefined;
271
+ nsfw_checker?: boolean | undefined;
257
272
  }>;
258
273
  export declare const RunwayAlephVideoSchema: z.ZodObject<{
259
274
  prompt: z.ZodString;
@@ -269,18 +284,18 @@ export declare const RunwayAlephVideoSchema: z.ZodObject<{
269
284
  videoUrl: string;
270
285
  aspectRatio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
271
286
  callBackUrl?: string | undefined;
272
- seed?: number | undefined;
273
287
  waterMark?: string | undefined;
274
288
  uploadCn?: boolean | undefined;
289
+ seed?: number | undefined;
275
290
  referenceImage?: string | undefined;
276
291
  }, {
277
292
  prompt: string;
278
293
  videoUrl: string;
279
294
  aspectRatio?: "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
280
295
  callBackUrl?: string | undefined;
281
- seed?: number | undefined;
282
296
  waterMark?: string | undefined;
283
297
  uploadCn?: boolean | undefined;
298
+ seed?: number | undefined;
284
299
  referenceImage?: string | undefined;
285
300
  }>;
286
301
  export declare const WanVideoSchema: z.ZodEffects<z.ZodObject<{
@@ -298,9 +313,9 @@ export declare const WanVideoSchema: z.ZodEffects<z.ZodObject<{
298
313
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
299
314
  resolution?: "720p" | "1080p" | undefined;
300
315
  callBackUrl?: string | undefined;
301
- image_url?: string | undefined;
302
316
  duration?: "5" | "10" | undefined;
303
317
  seed?: number | undefined;
318
+ image_url?: string | undefined;
304
319
  negative_prompt?: string | undefined;
305
320
  enable_prompt_expansion?: boolean | undefined;
306
321
  }, {
@@ -308,9 +323,9 @@ export declare const WanVideoSchema: z.ZodEffects<z.ZodObject<{
308
323
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
309
324
  resolution?: "720p" | "1080p" | undefined;
310
325
  callBackUrl?: string | undefined;
311
- image_url?: string | undefined;
312
326
  duration?: "5" | "10" | undefined;
313
327
  seed?: number | undefined;
328
+ image_url?: string | undefined;
314
329
  negative_prompt?: string | undefined;
315
330
  enable_prompt_expansion?: boolean | undefined;
316
331
  }>, {
@@ -318,9 +333,9 @@ export declare const WanVideoSchema: z.ZodEffects<z.ZodObject<{
318
333
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
319
334
  resolution?: "720p" | "1080p" | undefined;
320
335
  callBackUrl?: string | undefined;
321
- image_url?: string | undefined;
322
336
  duration?: "5" | "10" | undefined;
323
337
  seed?: number | undefined;
338
+ image_url?: string | undefined;
324
339
  negative_prompt?: string | undefined;
325
340
  enable_prompt_expansion?: boolean | undefined;
326
341
  }, {
@@ -328,9 +343,9 @@ export declare const WanVideoSchema: z.ZodEffects<z.ZodObject<{
328
343
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
329
344
  resolution?: "720p" | "1080p" | undefined;
330
345
  callBackUrl?: string | undefined;
331
- image_url?: string | undefined;
332
346
  duration?: "5" | "10" | undefined;
333
347
  seed?: number | undefined;
348
+ image_url?: string | undefined;
334
349
  negative_prompt?: string | undefined;
335
350
  enable_prompt_expansion?: boolean | undefined;
336
351
  }>;
@@ -349,24 +364,24 @@ export declare const ByteDanceSeedreamImageSchema: z.ZodObject<{
349
364
  prompt: string;
350
365
  aspect_ratio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
351
366
  callBackUrl?: string | undefined;
352
- quality?: "basic" | "high" | undefined;
353
367
  seed?: number | undefined;
354
368
  image_urls?: string[] | undefined;
355
369
  version?: "4" | "5-lite" | undefined;
356
370
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_3_2" | "portrait_16_9" | "landscape_4_3" | "landscape_3_2" | "landscape_16_9" | "landscape_21_9" | undefined;
357
371
  image_resolution?: "1K" | "2K" | "4K" | undefined;
358
372
  max_images?: number | undefined;
373
+ quality?: "basic" | "high" | undefined;
359
374
  }, {
360
375
  prompt: string;
361
376
  aspect_ratio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
362
377
  callBackUrl?: string | undefined;
363
- quality?: "basic" | "high" | undefined;
364
378
  seed?: number | undefined;
365
379
  image_urls?: string[] | undefined;
366
380
  version?: "4" | "5-lite" | undefined;
367
381
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_3_2" | "portrait_16_9" | "landscape_4_3" | "landscape_3_2" | "landscape_16_9" | "landscape_21_9" | undefined;
368
382
  image_resolution?: "1K" | "2K" | "4K" | undefined;
369
383
  max_images?: number | undefined;
384
+ quality?: "basic" | "high" | undefined;
370
385
  }>;
371
386
  export declare const ZImageSchema: z.ZodObject<{
372
387
  prompt: z.ZodString;
@@ -395,37 +410,37 @@ export declare const GrokImagineSchema: z.ZodEffects<z.ZodObject<{
395
410
  prompt?: string | undefined;
396
411
  aspect_ratio?: "1:1" | "2:3" | "3:2" | undefined;
397
412
  callBackUrl?: string | undefined;
413
+ mode?: "fun" | "normal" | "spicy" | undefined;
398
414
  image_urls?: string[] | undefined;
399
415
  task_id?: string | undefined;
400
416
  index?: number | undefined;
401
- mode?: "fun" | "normal" | "spicy" | undefined;
402
417
  generation_mode?: "text-to-image" | "text-to-video" | "image-to-video" | "upscale" | undefined;
403
418
  }, {
404
419
  prompt?: string | undefined;
405
420
  aspect_ratio?: "1:1" | "2:3" | "3:2" | undefined;
406
421
  callBackUrl?: string | undefined;
422
+ mode?: "fun" | "normal" | "spicy" | undefined;
407
423
  image_urls?: string[] | undefined;
408
424
  task_id?: string | undefined;
409
425
  index?: number | undefined;
410
- mode?: "fun" | "normal" | "spicy" | undefined;
411
426
  generation_mode?: "text-to-image" | "text-to-video" | "image-to-video" | "upscale" | undefined;
412
427
  }>, {
413
428
  prompt?: string | undefined;
414
429
  aspect_ratio?: "1:1" | "2:3" | "3:2" | undefined;
415
430
  callBackUrl?: string | undefined;
431
+ mode?: "fun" | "normal" | "spicy" | undefined;
416
432
  image_urls?: string[] | undefined;
417
433
  task_id?: string | undefined;
418
434
  index?: number | undefined;
419
- mode?: "fun" | "normal" | "spicy" | undefined;
420
435
  generation_mode?: "text-to-image" | "text-to-video" | "image-to-video" | "upscale" | undefined;
421
436
  }, {
422
437
  prompt?: string | undefined;
423
438
  aspect_ratio?: "1:1" | "2:3" | "3:2" | undefined;
424
439
  callBackUrl?: string | undefined;
440
+ mode?: "fun" | "normal" | "spicy" | undefined;
425
441
  image_urls?: string[] | undefined;
426
442
  task_id?: string | undefined;
427
443
  index?: number | undefined;
428
- mode?: "fun" | "normal" | "spicy" | undefined;
429
444
  generation_mode?: "text-to-image" | "text-to-video" | "image-to-video" | "upscale" | undefined;
430
445
  }>;
431
446
  export type GrokImagineRequest = z.infer<typeof GrokImagineSchema>;
@@ -463,13 +478,13 @@ export declare const KlingAvatarSchema: z.ZodObject<{
463
478
  image_url: string;
464
479
  audio_url: string;
465
480
  callBackUrl?: string | undefined;
466
- quality?: "pro" | "standard" | undefined;
481
+ quality?: "standard" | "pro" | undefined;
467
482
  }, {
468
483
  prompt: string;
469
484
  image_url: string;
470
485
  audio_url: string;
471
486
  callBackUrl?: string | undefined;
472
- quality?: "pro" | "standard" | undefined;
487
+ quality?: "standard" | "pro" | undefined;
473
488
  }>;
474
489
  export type KlingAvatarRequest = z.infer<typeof KlingAvatarSchema>;
475
490
  export declare const QwenImageSchema: z.ZodEffects<z.ZodObject<{
@@ -490,13 +505,13 @@ export declare const QwenImageSchema: z.ZodEffects<z.ZodObject<{
490
505
  prompt: string;
491
506
  output_format?: "png" | "jpeg" | undefined;
492
507
  callBackUrl?: string | undefined;
493
- image_url?: string | undefined;
494
508
  seed?: number | undefined;
495
- enable_safety_checker?: boolean | undefined;
509
+ image_url?: string | undefined;
496
510
  negative_prompt?: string | undefined;
497
511
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_16_9" | "landscape_4_3" | "landscape_16_9" | undefined;
498
512
  num_inference_steps?: number | undefined;
499
513
  guidance_scale?: number | undefined;
514
+ enable_safety_checker?: boolean | undefined;
500
515
  acceleration?: "high" | "none" | "regular" | undefined;
501
516
  num_images?: "1" | "2" | "3" | "4" | undefined;
502
517
  sync_mode?: boolean | undefined;
@@ -504,13 +519,13 @@ export declare const QwenImageSchema: z.ZodEffects<z.ZodObject<{
504
519
  prompt: string;
505
520
  output_format?: "png" | "jpeg" | undefined;
506
521
  callBackUrl?: string | undefined;
507
- image_url?: string | undefined;
508
522
  seed?: number | undefined;
509
- enable_safety_checker?: boolean | undefined;
523
+ image_url?: string | undefined;
510
524
  negative_prompt?: string | undefined;
511
525
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_16_9" | "landscape_4_3" | "landscape_16_9" | undefined;
512
526
  num_inference_steps?: number | undefined;
513
527
  guidance_scale?: number | undefined;
528
+ enable_safety_checker?: boolean | undefined;
514
529
  acceleration?: "high" | "none" | "regular" | undefined;
515
530
  num_images?: "1" | "2" | "3" | "4" | undefined;
516
531
  sync_mode?: boolean | undefined;
@@ -518,13 +533,13 @@ export declare const QwenImageSchema: z.ZodEffects<z.ZodObject<{
518
533
  prompt: string;
519
534
  output_format?: "png" | "jpeg" | undefined;
520
535
  callBackUrl?: string | undefined;
521
- image_url?: string | undefined;
522
536
  seed?: number | undefined;
523
- enable_safety_checker?: boolean | undefined;
537
+ image_url?: string | undefined;
524
538
  negative_prompt?: string | undefined;
525
539
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_16_9" | "landscape_4_3" | "landscape_16_9" | undefined;
526
540
  num_inference_steps?: number | undefined;
527
541
  guidance_scale?: number | undefined;
542
+ enable_safety_checker?: boolean | undefined;
528
543
  acceleration?: "high" | "none" | "regular" | undefined;
529
544
  num_images?: "1" | "2" | "3" | "4" | undefined;
530
545
  sync_mode?: boolean | undefined;
@@ -532,13 +547,13 @@ export declare const QwenImageSchema: z.ZodEffects<z.ZodObject<{
532
547
  prompt: string;
533
548
  output_format?: "png" | "jpeg" | undefined;
534
549
  callBackUrl?: string | undefined;
535
- image_url?: string | undefined;
536
550
  seed?: number | undefined;
537
- enable_safety_checker?: boolean | undefined;
551
+ image_url?: string | undefined;
538
552
  negative_prompt?: string | undefined;
539
553
  image_size?: "square" | "square_hd" | "portrait_4_3" | "portrait_16_9" | "landscape_4_3" | "landscape_16_9" | undefined;
540
554
  num_inference_steps?: number | undefined;
541
555
  guidance_scale?: number | undefined;
556
+ enable_safety_checker?: boolean | undefined;
542
557
  acceleration?: "high" | "none" | "regular" | undefined;
543
558
  num_images?: "1" | "2" | "3" | "4" | undefined;
544
559
  sync_mode?: boolean | undefined;
@@ -576,15 +591,15 @@ export declare const MidjourneyGenerateSchema: z.ZodEffects<z.ZodObject<{
576
591
  aspectRatio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
577
592
  callBackUrl?: string | undefined;
578
593
  enableTranslation?: boolean | undefined;
579
- speed?: "turbo" | "relax" | "fast" | undefined;
580
- quality?: number | undefined;
581
- seed?: number | undefined;
594
+ speed?: "turbo" | "fast" | "relax" | undefined;
582
595
  waterMark?: string | undefined;
596
+ seed?: number | undefined;
583
597
  version?: string | undefined;
598
+ quality?: number | undefined;
584
599
  fileUrl?: string | undefined;
585
600
  fileUrls?: string[] | undefined;
586
601
  taskType?: "mj_txt2img" | "mj_img2img" | "mj_style_reference" | "mj_omni_reference" | "mj_video" | "mj_video_hd" | undefined;
587
- processMode?: "relax" | "fast" | undefined;
602
+ processMode?: "fast" | "relax" | undefined;
588
603
  weird?: number | undefined;
589
604
  raw?: boolean | undefined;
590
605
  stylize?: number | undefined;
@@ -604,15 +619,15 @@ export declare const MidjourneyGenerateSchema: z.ZodEffects<z.ZodObject<{
604
619
  aspectRatio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
605
620
  callBackUrl?: string | undefined;
606
621
  enableTranslation?: boolean | undefined;
607
- speed?: "turbo" | "relax" | "fast" | undefined;
608
- quality?: number | undefined;
609
- seed?: number | undefined;
622
+ speed?: "turbo" | "fast" | "relax" | undefined;
610
623
  waterMark?: string | undefined;
624
+ seed?: number | undefined;
611
625
  version?: string | undefined;
626
+ quality?: number | undefined;
612
627
  fileUrl?: string | undefined;
613
628
  fileUrls?: string[] | undefined;
614
629
  taskType?: "mj_txt2img" | "mj_img2img" | "mj_style_reference" | "mj_omni_reference" | "mj_video" | "mj_video_hd" | undefined;
615
- processMode?: "relax" | "fast" | undefined;
630
+ processMode?: "fast" | "relax" | undefined;
616
631
  weird?: number | undefined;
617
632
  raw?: boolean | undefined;
618
633
  stylize?: number | undefined;
@@ -632,15 +647,15 @@ export declare const MidjourneyGenerateSchema: z.ZodEffects<z.ZodObject<{
632
647
  aspectRatio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
633
648
  callBackUrl?: string | undefined;
634
649
  enableTranslation?: boolean | undefined;
635
- speed?: "turbo" | "relax" | "fast" | undefined;
636
- quality?: number | undefined;
637
- seed?: number | undefined;
650
+ speed?: "turbo" | "fast" | "relax" | undefined;
638
651
  waterMark?: string | undefined;
652
+ seed?: number | undefined;
639
653
  version?: string | undefined;
654
+ quality?: number | undefined;
640
655
  fileUrl?: string | undefined;
641
656
  fileUrls?: string[] | undefined;
642
657
  taskType?: "mj_txt2img" | "mj_img2img" | "mj_style_reference" | "mj_omni_reference" | "mj_video" | "mj_video_hd" | undefined;
643
- processMode?: "relax" | "fast" | undefined;
658
+ processMode?: "fast" | "relax" | undefined;
644
659
  weird?: number | undefined;
645
660
  raw?: boolean | undefined;
646
661
  stylize?: number | undefined;
@@ -660,15 +675,15 @@ export declare const MidjourneyGenerateSchema: z.ZodEffects<z.ZodObject<{
660
675
  aspectRatio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9" | undefined;
661
676
  callBackUrl?: string | undefined;
662
677
  enableTranslation?: boolean | undefined;
663
- speed?: "turbo" | "relax" | "fast" | undefined;
664
- quality?: number | undefined;
665
- seed?: number | undefined;
678
+ speed?: "turbo" | "fast" | "relax" | undefined;
666
679
  waterMark?: string | undefined;
680
+ seed?: number | undefined;
667
681
  version?: string | undefined;
682
+ quality?: number | undefined;
668
683
  fileUrl?: string | undefined;
669
684
  fileUrls?: string[] | undefined;
670
685
  taskType?: "mj_txt2img" | "mj_img2img" | "mj_style_reference" | "mj_omni_reference" | "mj_video" | "mj_video_hd" | undefined;
671
- processMode?: "relax" | "fast" | undefined;
686
+ processMode?: "fast" | "relax" | undefined;
672
687
  weird?: number | undefined;
673
688
  raw?: boolean | undefined;
674
689
  stylize?: number | undefined;
@@ -926,9 +941,9 @@ export declare const KlingVideoSchema: z.ZodEffects<z.ZodObject<{
926
941
  prompt: string;
927
942
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
928
943
  callBackUrl?: string | undefined;
944
+ mode?: "pro" | "std" | undefined;
929
945
  duration?: string | undefined;
930
946
  image_urls?: string[] | undefined;
931
- mode?: "pro" | "std" | undefined;
932
947
  sound?: boolean | undefined;
933
948
  multi_shots?: boolean | undefined;
934
949
  multi_prompt?: {
@@ -945,9 +960,9 @@ export declare const KlingVideoSchema: z.ZodEffects<z.ZodObject<{
945
960
  prompt: string;
946
961
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
947
962
  callBackUrl?: string | undefined;
963
+ mode?: "pro" | "std" | undefined;
948
964
  duration?: string | undefined;
949
965
  image_urls?: string[] | undefined;
950
- mode?: "pro" | "std" | undefined;
951
966
  sound?: boolean | undefined;
952
967
  multi_shots?: boolean | undefined;
953
968
  multi_prompt?: {
@@ -964,9 +979,9 @@ export declare const KlingVideoSchema: z.ZodEffects<z.ZodObject<{
964
979
  prompt: string;
965
980
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
966
981
  callBackUrl?: string | undefined;
982
+ mode?: "pro" | "std" | undefined;
967
983
  duration?: string | undefined;
968
984
  image_urls?: string[] | undefined;
969
- mode?: "pro" | "std" | undefined;
970
985
  sound?: boolean | undefined;
971
986
  multi_shots?: boolean | undefined;
972
987
  multi_prompt?: {
@@ -983,9 +998,9 @@ export declare const KlingVideoSchema: z.ZodEffects<z.ZodObject<{
983
998
  prompt: string;
984
999
  aspect_ratio?: "1:1" | "9:16" | "16:9" | undefined;
985
1000
  callBackUrl?: string | undefined;
1001
+ mode?: "pro" | "std" | undefined;
986
1002
  duration?: string | undefined;
987
1003
  image_urls?: string[] | undefined;
988
- mode?: "pro" | "std" | undefined;
989
1004
  sound?: boolean | undefined;
990
1005
  multi_shots?: boolean | undefined;
991
1006
  multi_prompt?: {
@@ -1014,9 +1029,9 @@ export declare const HailuoVideoSchema: z.ZodEffects<z.ZodObject<{
1014
1029
  prompt: string;
1015
1030
  resolution?: "512P" | "768P" | "1080P" | undefined;
1016
1031
  callBackUrl?: string | undefined;
1017
- quality?: "pro" | "standard" | undefined;
1018
1032
  duration?: "6" | "10" | undefined;
1019
1033
  version?: "02" | "2.3" | undefined;
1034
+ quality?: "standard" | "pro" | undefined;
1020
1035
  imageUrl?: string | undefined;
1021
1036
  endImageUrl?: string | undefined;
1022
1037
  promptOptimizer?: boolean | undefined;
@@ -1024,9 +1039,9 @@ export declare const HailuoVideoSchema: z.ZodEffects<z.ZodObject<{
1024
1039
  prompt: string;
1025
1040
  resolution?: "512P" | "768P" | "1080P" | undefined;
1026
1041
  callBackUrl?: string | undefined;
1027
- quality?: "pro" | "standard" | undefined;
1028
1042
  duration?: "6" | "10" | undefined;
1029
1043
  version?: "02" | "2.3" | undefined;
1044
+ quality?: "standard" | "pro" | undefined;
1030
1045
  imageUrl?: string | undefined;
1031
1046
  endImageUrl?: string | undefined;
1032
1047
  promptOptimizer?: boolean | undefined;
@@ -1034,9 +1049,9 @@ export declare const HailuoVideoSchema: z.ZodEffects<z.ZodObject<{
1034
1049
  prompt: string;
1035
1050
  resolution?: "512P" | "768P" | "1080P" | undefined;
1036
1051
  callBackUrl?: string | undefined;
1037
- quality?: "pro" | "standard" | undefined;
1038
1052
  duration?: "6" | "10" | undefined;
1039
1053
  version?: "02" | "2.3" | undefined;
1054
+ quality?: "standard" | "pro" | undefined;
1040
1055
  imageUrl?: string | undefined;
1041
1056
  endImageUrl?: string | undefined;
1042
1057
  promptOptimizer?: boolean | undefined;
@@ -1044,9 +1059,9 @@ export declare const HailuoVideoSchema: z.ZodEffects<z.ZodObject<{
1044
1059
  prompt: string;
1045
1060
  resolution?: "512P" | "768P" | "1080P" | undefined;
1046
1061
  callBackUrl?: string | undefined;
1047
- quality?: "pro" | "standard" | undefined;
1048
1062
  duration?: "6" | "10" | undefined;
1049
1063
  version?: "02" | "2.3" | undefined;
1064
+ quality?: "standard" | "pro" | undefined;
1050
1065
  imageUrl?: string | undefined;
1051
1066
  endImageUrl?: string | undefined;
1052
1067
  promptOptimizer?: boolean | undefined;
@@ -1065,7 +1080,7 @@ export declare const SoraVideoSchema: z.ZodEffects<z.ZodObject<{
1065
1080
  aspect_ratio?: "portrait" | "landscape" | undefined;
1066
1081
  callBackUrl?: string | undefined;
1067
1082
  image_urls?: string[] | undefined;
1068
- size?: "high" | "standard" | undefined;
1083
+ size?: "standard" | "high" | undefined;
1069
1084
  n_frames?: "10" | "15" | "25" | undefined;
1070
1085
  remove_watermark?: boolean | undefined;
1071
1086
  }, {
@@ -1073,7 +1088,7 @@ export declare const SoraVideoSchema: z.ZodEffects<z.ZodObject<{
1073
1088
  aspect_ratio?: "portrait" | "landscape" | undefined;
1074
1089
  callBackUrl?: string | undefined;
1075
1090
  image_urls?: string[] | undefined;
1076
- size?: "high" | "standard" | undefined;
1091
+ size?: "standard" | "high" | undefined;
1077
1092
  n_frames?: "10" | "15" | "25" | undefined;
1078
1093
  remove_watermark?: boolean | undefined;
1079
1094
  }>, {
@@ -1081,7 +1096,7 @@ export declare const SoraVideoSchema: z.ZodEffects<z.ZodObject<{
1081
1096
  aspect_ratio?: "portrait" | "landscape" | undefined;
1082
1097
  callBackUrl?: string | undefined;
1083
1098
  image_urls?: string[] | undefined;
1084
- size?: "high" | "standard" | undefined;
1099
+ size?: "standard" | "high" | undefined;
1085
1100
  n_frames?: "10" | "15" | "25" | undefined;
1086
1101
  remove_watermark?: boolean | undefined;
1087
1102
  }, {
@@ -1089,7 +1104,7 @@ export declare const SoraVideoSchema: z.ZodEffects<z.ZodObject<{
1089
1104
  aspect_ratio?: "portrait" | "landscape" | undefined;
1090
1105
  callBackUrl?: string | undefined;
1091
1106
  image_urls?: string[] | undefined;
1092
- size?: "high" | "standard" | undefined;
1107
+ size?: "standard" | "high" | undefined;
1093
1108
  n_frames?: "10" | "15" | "25" | undefined;
1094
1109
  remove_watermark?: boolean | undefined;
1095
1110
  }>;
@@ -1138,8 +1153,8 @@ export declare const WanAnimateSchema: z.ZodObject<{
1138
1153
  resolution: z.ZodOptional<z.ZodDefault<z.ZodEnum<["480p", "580p", "720p"]>>>;
1139
1154
  callBackUrl: z.ZodOptional<z.ZodString>;
1140
1155
  }, "strip", z.ZodTypeAny, {
1141
- image_url: string;
1142
1156
  mode: "animate" | "replace";
1157
+ image_url: string;
1143
1158
  video_url: string;
1144
1159
  resolution?: "480p" | "720p" | "580p" | undefined;
1145
1160
  callBackUrl?: string | undefined;
package/dist/types.js CHANGED
@@ -176,41 +176,40 @@ export const ElevenLabsSoundEffectsSchema = z.object({
176
176
  .optional(),
177
177
  callBackUrl: z.string().url().optional(),
178
178
  });
179
+ // ByteDance Seedance 2.0 - Multimodal video generation with native audio
179
180
  export const ByteDanceSeedanceVideoSchema = z
180
181
  .object({
181
- prompt: z.string().min(1).max(10000),
182
- image_url: z.string().url().optional(),
183
- quality: z.enum(["lite", "pro"]).default("lite").optional(),
182
+ prompt: z.string().min(3).max(20000),
183
+ // Mode: standard (seedance-2) or fast (seedance-2-fast)
184
+ mode: z.enum(["standard", "fast"]).default("standard").optional(),
185
+ // Frame control
186
+ first_frame_url: z.string().url().optional(),
187
+ last_frame_url: z.string().url().optional(),
188
+ // Multimodal references
189
+ reference_image_urls: z.array(z.string().url()).max(9).optional(),
190
+ reference_video_urls: z.array(z.string().url()).max(3).optional(),
191
+ reference_audio_urls: z.array(z.string().url()).max(3).optional(),
192
+ // Output settings
184
193
  aspect_ratio: z
185
- .enum(["1:1", "9:16", "16:9", "4:3", "3:4", "21:9", "9:21"])
194
+ .enum(["1:1", "9:16", "16:9", "4:3", "3:4", "21:9", "9:21", "adaptive"])
186
195
  .default("16:9")
187
196
  .optional(),
188
- resolution: z.enum(["480p", "720p", "1080p"]).default("720p").optional(),
189
- duration: z
190
- .string()
191
- .refine((val) => {
192
- const num = parseInt(val);
193
- return !isNaN(num) && num >= 2 && num <= 12;
194
- }, {
195
- message: "Duration must be a string number between 2 and 12",
196
- })
197
- .default("5")
198
- .optional(),
199
- camera_fixed: z.boolean().default(false).optional(),
200
- seed: z.number().int().min(-1).max(2147483647).default(-1).optional(),
201
- enable_safety_checker: z.boolean().default(false).optional(),
202
- end_image_url: z.string().url().optional(),
197
+ resolution: z.enum(["480p", "720p"]).default("720p").optional(),
198
+ duration: z.number().int().min(4).max(15).default(5).optional(),
199
+ // Audio & safety
200
+ generate_audio: z.boolean().default(true).optional(),
201
+ web_search: z.boolean().default(false).optional(),
202
+ nsfw_checker: z.boolean().default(false).optional(),
203
203
  callBackUrl: z.string().url().optional(),
204
204
  })
205
205
  .refine((data) => {
206
- // If image_url is provided, aspect_ratio should be limited to options supported by image-to-video models
207
- if (data.image_url) {
208
- const validRatios = ["1:1", "9:16", "16:9", "4:3", "3:4", "21:9"];
209
- return !data.aspect_ratio || validRatios.includes(data.aspect_ratio);
206
+ // "adaptive" aspect_ratio only valid with first_frame_url
207
+ if (data.aspect_ratio === "adaptive" && !data.first_frame_url) {
208
+ return false;
210
209
  }
211
210
  return true;
212
211
  }, {
213
- message: "Invalid aspect_ratio for image-to-video mode. Valid options: 1:1, 9:16, 16:9, 4:3, 3:4, 21:9",
212
+ message: "aspect_ratio 'adaptive' requires first_frame_url",
214
213
  path: ["aspect_ratio"],
215
214
  });
216
215
  export const RunwayAlephVideoSchema = z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felores/kie-ai-mcp-server",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "MCP server for Kie.ai APIs (24 AI tools: Nano Banana image generation/editing/upscaling, Veo3 video generation, Suno music generation, ElevenLabs TTS/sound effects, ByteDance Seedance/Seedream video/image, Qwen image generation/editing, Runway Aleph video transformation, Midjourney AI generation, Wan video generation, Hailuo video generation, Kling video generation, OpenAI 4o image generation/editing/variants, Flux Kontext image generation/editing, Recraft background removal, Ideogram image reframing, Sora 2 video generation, Topaz image upscaling)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {