{
  "actions": {
    "elevenlabs/isolate-audio": {
      "model": "ElevenLabs",
      "endpoint": "isolate_audio",
      "task_type": "asynchronous",
      "models": [
        "audio-isolation"
      ],
      "fields_by_model": {
        "audio-isolation": {
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "elevenlabs/speech-to-text": {
      "model": "ElevenLabs",
      "endpoint": "speech_to_text",
      "task_type": "asynchronous",
      "models": [
        "speech-to-text"
      ],
      "fields_by_model": {
        "speech-to-text": {
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          },
          "tag_audio_events": {
            "type": "boolean"
          },
          "diarize": {
            "type": "boolean"
          }
        }
      }
    },
    "elevenlabs/text-to-dialogue": {
      "model": "ElevenLabs",
      "endpoint": "text_to_dialogue",
      "task_type": "asynchronous",
      "models": [
        "text-to-dialogue-v3"
      ],
      "fields_by_model": {
        "text-to-dialogue-v3": {
          "dialogue": {
            "type": "array",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "stability": {
            "type": "number",
            "enum": [
              0.0,
              0.5,
              1.0
            ]
          },
          "language_code": {
            "type": "string"
          }
        }
      }
    },
    "elevenlabs/text-to-sound": {
      "model": "ElevenLabs",
      "endpoint": "text_to_sound",
      "task_type": "asynchronous",
      "models": [
        "sound-effect-v2"
      ],
      "fields_by_model": {
        "sound-effect-v2": {
          "text": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "loop": {
            "type": "boolean"
          },
          "duration_seconds": {
            "type": "number"
          },
          "prompt_influence": {
            "type": "number"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "mp3_22050_32",
              "mp3_44100_32",
              "mp3_44100_64",
              "mp3_44100_96",
              "mp3_44100_128",
              "mp3_44100_192",
              "pcm_8000",
              "pcm_16000",
              "pcm_22050",
              "pcm_24000",
              "pcm_44100",
              "pcm_48000",
              "ulaw_8000",
              "alaw_8000",
              "opus_48000_32",
              "opus_48000_64",
              "opus_48000_96",
              "opus_48000_128",
              "opus_48000_192"
            ]
          }
        }
      }
    },
    "elevenlabs/text-to-speech": {
      "model": "ElevenLabs",
      "endpoint": "text_to_speech",
      "task_type": "asynchronous",
      "models": [
        "text-to-speech-multilingual-v2",
        "text-to-speech-turbo-v2.5"
      ],
      "rules": [
        {
          "when": {
            "model": "text-to-speech-multilingual-v2"
          },
          "required": [
            "voice"
          ]
        }
      ],
      "fields_by_model": {
        "text-to-speech-multilingual-v2": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "required": true
          },
          "voice": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "stability": {
            "type": "number"
          },
          "similarity_boost": {
            "type": "number"
          },
          "style": {
            "type": "number"
          },
          "speed": {
            "type": "number"
          },
          "timestamps": {
            "type": "boolean"
          },
          "previous_text": {
            "type": "string"
          },
          "next_text": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          }
        },
        "text-to-speech-turbo-v2.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "required": true
          },
          "voice": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "stability": {
            "type": "number"
          },
          "similarity_boost": {
            "type": "number"
          },
          "style": {
            "type": "number"
          },
          "speed": {
            "type": "number"
          },
          "timestamps": {
            "type": "boolean"
          },
          "previous_text": {
            "type": "string"
          },
          "next_text": {
            "type": "string"
          },
          "language_code": {
            "type": "string"
          }
        }
      }
    },
    "fish-audio/create-voice": {
      "model": "Fish Audio",
      "endpoint": "create_voice",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "name": {
            "type": "string",
            "required": true
          },
          "source_audio_url": {
            "type": "string",
            "required": true
          }
        }
      }
    },
    "fish-audio/get-voice": {
      "model": "Fish Audio",
      "endpoint": "get_voice",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "voice_id": {
            "type": "string",
            "required": true
          }
        }
      }
    },
    "fish-audio/list-voices": {
      "model": "Fish Audio",
      "endpoint": "list_voices",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "page_number": {
            "type": "integer",
            "min": 1,
            "default": 1
          },
          "page_size": {
            "type": "integer",
            "max": 100,
            "min": 1,
            "default": 10
          }
        }
      }
    },
    "fish-audio/text-to-speech": {
      "model": "Fish Audio",
      "endpoint": "text_to_speech",
      "task_type": "synchronous",
      "models": [
        "s1",
        "s2-pro",
        "s2.1-pro"
      ],
      "rules": [
        {
          "when": {
            "output_format": "wav"
          },
          "forbidden": [
            "bitrate_kbps"
          ]
        },
        {
          "enum": {
            "sample_rate_hz": [
              32000,
              44100
            ]
          },
          "when": {
            "output_format": "mp3"
          }
        },
        {
          "enum": {
            "sample_rate_hz": [
              32000,
              44100
            ]
          },
          "when": {
            "output_format": {
              "present": false
            }
          }
        }
      ],
      "fields_by_model": {
        "s1": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "mp3",
              "wav"
            ],
            "default": "mp3",
            "description": "Output audio format."
          },
          "sample_rate_hz": {
            "type": "integer",
            "enum": [
              8000,
              16000,
              24000,
              32000,
              44100
            ],
            "default": 44100,
            "description": "Output sample rate. MP3 supports 32000 and 44100 Hz; WAV supports every listed value."
          },
          "bitrate_kbps": {
            "type": "integer",
            "enum": [
              64,
              128,
              192
            ],
            "default": 128,
            "description": "MP3 bitrate. Not accepted for WAV output."
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "required": true,
                  "description": "Exact transcript of the reference audio."
                },
                "audio": {
                  "type": "string",
                  "required": true,
                  "description": "Base64-encoded raw audio bytes."
                }
              }
            },
            "description": "Inline reference audio samples for this request."
          },
          "voice_id": {
            "type": "string"
          }
        },
        "s2-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "mp3",
              "wav"
            ],
            "default": "mp3",
            "description": "Output audio format."
          },
          "sample_rate_hz": {
            "type": "integer",
            "enum": [
              8000,
              16000,
              24000,
              32000,
              44100
            ],
            "default": 44100,
            "description": "Output sample rate. MP3 supports 32000 and 44100 Hz; WAV supports every listed value."
          },
          "bitrate_kbps": {
            "type": "integer",
            "enum": [
              64,
              128,
              192
            ],
            "default": 128,
            "description": "MP3 bitrate. Not accepted for WAV output."
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "required": true,
                  "description": "Exact transcript of the reference audio."
                },
                "audio": {
                  "type": "string",
                  "required": true,
                  "description": "Base64-encoded raw audio bytes."
                }
              }
            },
            "description": "Inline reference audio samples for this request."
          },
          "voice_id": {
            "type": "string"
          }
        },
        "s2.1-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "mp3",
              "wav"
            ],
            "default": "mp3",
            "description": "Output audio format."
          },
          "sample_rate_hz": {
            "type": "integer",
            "enum": [
              8000,
              16000,
              24000,
              32000,
              44100
            ],
            "default": 44100,
            "description": "Output sample rate. MP3 supports 32000 and 44100 Hz; WAV supports every listed value."
          },
          "bitrate_kbps": {
            "type": "integer",
            "enum": [
              64,
              128,
              192
            ],
            "default": 128,
            "description": "MP3 bitrate. Not accepted for WAV output."
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "required": true,
                  "description": "Exact transcript of the reference audio."
                },
                "audio": {
                  "type": "string",
                  "required": true,
                  "description": "Base64-encoded raw audio bytes."
                }
              }
            },
            "description": "Inline reference audio samples for this request."
          },
          "voice_id": {
            "type": "string"
          }
        }
      }
    },
    "flux-2/remix-image": {
      "model": "Flux 2",
      "endpoint": "remix_image",
      "task_type": "asynchronous",
      "models": [
        "flux-2-flex-remix-image",
        "flux-2-max-remix-image",
        "flux-2-pro-remix-image"
      ],
      "rules": [
        {
          "when": {
            "model": "flux-2-flex-remix-image"
          },
          "forbidden": [
            "output_count"
          ]
        },
        {
          "when": {
            "model": "flux-2-max-remix-image"
          },
          "forbidden": [
            "enable_safety_checker"
          ]
        },
        {
          "when": {
            "model": "flux-2-pro-remix-image"
          },
          "forbidden": [
            "output_count"
          ]
        }
      ],
      "fields_by_model": {
        "flux-2-flex-remix-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image editing instruction."
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 8,
            "min_items": 1,
            "description": "Public source image URLs."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3",
              "auto"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "flux-2-max-remix-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image editing instruction."
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 1,
            "min_items": 1,
            "description": "Exactly one public HTTP(S) source image URL."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "required": true,
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k"
            ],
            "default": "1k",
            "description": "Output resolution."
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1,
            "description": "Number of images to generate."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "flux-2-pro-remix-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image editing instruction."
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 8,
            "min_items": 1,
            "description": "Public source image URLs."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3",
              "auto"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "flux-2/text-to-image": {
      "model": "Flux 2",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "flux-2-flex-text-to-image",
        "flux-2-max-text-to-image",
        "flux-2-pro-text-to-image"
      ],
      "rules": [
        {
          "when": {
            "model": "flux-2-flex-text-to-image"
          },
          "forbidden": [
            "output_count"
          ]
        },
        {
          "when": {
            "model": "flux-2-max-text-to-image"
          },
          "forbidden": [
            "enable_safety_checker"
          ]
        },
        {
          "when": {
            "model": "flux-2-pro-text-to-image"
          },
          "forbidden": [
            "output_count"
          ]
        }
      ],
      "fields_by_model": {
        "flux-2-flex-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image description."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "flux-2-max-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image description."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "required": true,
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k"
            ],
            "default": "1k",
            "description": "Output resolution."
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1,
            "description": "Number of images to generate."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "flux-2-pro-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Image description."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "flux-kontext/text-to-image": {
      "model": "Flux Kontext",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "flux-kontext-max",
        "flux-kontext-pro"
      ],
      "fields_by_model": {
        "flux-kontext-max": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Image description (English only)."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "21:9",
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16"
            ],
            "description": "Output aspect ratio. Default: 16:9."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "jpeg",
              "png"
            ],
            "description": "Output format. Default: jpeg."
          },
          "source_image_url": {
            "type": "string",
            "description": "Source image URL for editing mode."
          },
          "enable_translation": {
            "type": "boolean",
            "description": "Auto-translate non-English prompts. Default: true."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "description": "Expand the prompt with more detail. Default: false."
          },
          "safety_tolerance": {
            "type": "integer",
            "description": "Content safety threshold. 0-6 for generation, 0-2 for editing. Default: 2."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "watermark": {
            "type": "string",
            "description": "Watermark identifier."
          }
        },
        "flux-kontext-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Image description (English only)."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "21:9",
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16"
            ],
            "description": "Output aspect ratio. Default: 16:9."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "jpeg",
              "png"
            ],
            "description": "Output format. Default: jpeg."
          },
          "source_image_url": {
            "type": "string",
            "description": "Source image URL for editing mode."
          },
          "enable_translation": {
            "type": "boolean",
            "description": "Auto-translate non-English prompts. Default: true."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "description": "Expand the prompt with more detail. Default: false."
          },
          "safety_tolerance": {
            "type": "integer",
            "description": "Content safety threshold. 0-6 for generation, 0-2 for editing. Default: 2."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "watermark": {
            "type": "string",
            "description": "Watermark identifier."
          }
        }
      }
    },
    "flux/remix-image": {
      "model": "Flux",
      "endpoint": "remix_image",
      "task_type": "asynchronous",
      "models": [
        "flux-dev",
        "flux-pro"
      ],
      "fields_by_model": {
        "flux-dev": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "default": "1:1"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1
          },
          "callback_url": {
            "type": "string"
          }
        },
        "flux-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "default": "1:1"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "flux/text-to-image": {
      "model": "Flux",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "flux-2-klein",
        "flux-dev",
        "flux-pro"
      ],
      "fields_by_model": {
        "flux-2-klein": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "default": "1:1"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1
          },
          "callback_url": {
            "type": "string"
          }
        },
        "flux-dev": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "default": "1:1"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1
          },
          "callback_url": {
            "type": "string"
          }
        },
        "flux-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "default": "1:1"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1
            ],
            "default": 1
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gemini-omni/create-audio": {
      "model": "Gemini Omni",
      "endpoint": "create_audio",
      "task_type": "synchronous",
      "models": [
        "gemini-omni-audio"
      ],
      "fields_by_model": {
        "gemini-omni-audio": {
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Voice identity used for the audio preset."
          },
          "name": {
            "type": "string",
            "max": 210,
            "length": true,
            "required": true,
            "description": "Audio preset display name."
          },
          "voice_description": {
            "type": "string",
            "max": 20000,
            "length": true,
            "description": "Voice characteristics such as pitch, tone, or accent."
          },
          "example_dialogue": {
            "type": "string",
            "max": 120,
            "length": true,
            "description": "Example dialogue demonstrating the voice style."
          }
        }
      }
    },
    "gemini-omni/create-character": {
      "model": "Gemini Omni",
      "endpoint": "create_character",
      "task_type": "synchronous",
      "models": [
        "gemini-omni-character"
      ],
      "fields_by_model": {
        "gemini-omni-character": {
          "descriptions": {
            "type": "string",
            "max": 20000,
            "length": true,
            "required": true,
            "description": "Character appearance, identity, style, clothing, or personality description."
          },
          "reference_image_url": {
            "type": "string",
            "required": true,
            "description": "Public portrait reference image URL."
          },
          "body_reference_image_url": {
            "type": "string",
            "description": "Optional public full-body reference image URL; reference_image_url must provide the portrait."
          },
          "audio_ids": {
            "type": "array",
            "description": "Audio preset IDs returned by create-audio."
          },
          "character_name": {
            "type": "string",
            "max": 210,
            "length": true,
            "description": "Character display name."
          }
        }
      }
    },
    "gemini-omni/text-to-video": {
      "model": "Gemini Omni",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "gemini-omni-flash-1-1",
        "gemini-omni-flash-preview",
        "gemini-omni-text-to-video"
      ],
      "rules": [
        {
          "when": {
            "model": "gemini-omni-flash-1-1",
            "first_frame_image_url": {
              "present": true
            }
          },
          "forbidden": [
            "reference_image_urls",
            "audio_ids",
            "video_list",
            "character_ids"
          ]
        },
        {
          "when": {
            "model": "gemini-omni-flash-1-1",
            "last_frame_image_url": {
              "present": true
            }
          },
          "required": [
            "first_frame_image_url"
          ]
        },
        {
          "when": {
            "model": "gemini-omni-flash-preview"
          },
          "forbidden": [
            "reference_image_urls",
            "audio_ids",
            "video_list",
            "character_ids",
            "first_frame_image_url",
            "last_frame_image_url",
            "duration_seconds",
            "seed"
          ]
        },
        {
          "when": {
            "model": "gemini-omni-text-to-video"
          },
          "forbidden": [
            "first_frame_image_url",
            "last_frame_image_url"
          ]
        }
      ],
      "fields_by_model": {
        "gemini-omni-flash-1-1": {
          "model": {
            "type": "string",
            "description": "Model slug; defaults to gemini-omni-text-to-video when omitted."
          },
          "prompt": {
            "type": "string",
            "max": 20000,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              6,
              8,
              10
            ],
            "required": true,
            "description": "Output duration in seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 7,
            "description": "Public reference image URLs; images, video clips, and characters share a seven-unit reference limit."
          },
          "audio_ids": {
            "type": "array",
            "max_items": 3,
            "description": "Audio preset IDs returned by create-audio."
          },
          "video_list": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "required": true,
                  "description": "Public source video URL."
                },
                "ends": {
                  "min": 0,
                  "type": "number",
                  "required": true,
                  "description": "Clip end time in seconds; must be greater than start and no more than 10 seconds after start."
                },
                "start": {
                  "min": 0,
                  "type": "number",
                  "required": true,
                  "description": "Clip start time in seconds."
                }
              }
            },
            "max_items": 1,
            "description": "Source video clips; each clip consumes two reference units."
          },
          "character_ids": {
            "type": "array",
            "max_items": 3,
            "description": "Character IDs returned by create-character; dual-image characters consume two of the shared seven reference units."
          },
          "first_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public first-frame image URL; mutually exclusive with reference images, audio IDs, video clips, and character IDs."
          },
          "last_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public last-frame image URL; requires first_frame_image_url."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Deterministic generation seed."
          }
        },
        "gemini-omni-flash-preview": {
          "model": {
            "type": "string",
            "description": "Model slug; defaults to gemini-omni-text-to-video when omitted."
          },
          "prompt": {
            "type": "string",
            "max": 20000,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "duration_seconds": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array"
          },
          "audio_ids": {
            "type": "array"
          },
          "video_list": {
            "type": "array"
          },
          "character_ids": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "seed": {
            "type": "integer"
          }
        },
        "gemini-omni-text-to-video": {
          "model": {
            "type": "string",
            "default": "gemini-omni-text-to-video",
            "description": "Model slug; defaults to gemini-omni-text-to-video when omitted."
          },
          "prompt": {
            "type": "string",
            "max": 20000,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              6,
              8,
              10
            ],
            "required": true,
            "description": "Output duration in seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 7,
            "description": "Public reference image URLs; images, video clips, and characters share a seven-unit reference limit."
          },
          "audio_ids": {
            "type": "array",
            "max_items": 3,
            "description": "Audio preset IDs returned by create-audio."
          },
          "video_list": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "required": true,
                  "description": "Public source video URL."
                },
                "ends": {
                  "min": 0,
                  "type": "number",
                  "required": true,
                  "description": "Clip end time in seconds; must be greater than start and no more than 10 seconds after start."
                },
                "start": {
                  "min": 0,
                  "type": "number",
                  "required": true,
                  "description": "Clip start time in seconds."
                }
              }
            },
            "max_items": 1,
            "description": "Source video clips; each clip consumes two reference units."
          },
          "character_ids": {
            "type": "array",
            "max_items": 3,
            "description": "Character IDs returned by create-character; dual-image characters consume two of the shared seven reference units."
          },
          "first_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public first-frame image URL for supported models."
          },
          "last_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public last-frame image URL for supported models."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Deterministic generation seed."
          }
        }
      }
    },
    "gemini-tts/text-to-speech": {
      "model": "Gemini TTS",
      "endpoint": "text_to_speech",
      "task_type": "asynchronous",
      "models": [
        "gemini-2.5-pro-tts",
        "gemini-3.1-flash-tts"
      ],
      "fields_by_model": {
        "gemini-2.5-pro-tts": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "temperature": {
            "type": "number",
            "max": 2,
            "min": 0,
            "default": 1,
            "description": "Sampling temperature."
          },
          "scene": {
            "type": "string",
            "description": "Scene and recording environment."
          },
          "sample_context": {
            "type": "string",
            "description": "Overall delivery context and tone."
          },
          "speakers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "pace": {
                  "enum": [
                    "Natural",
                    "Rapid Fire",
                    "The Drift",
                    "Staccato"
                  ],
                  "type": "string",
                  "description": "Speaker pace."
                },
                "style": {
                  "enum": [
                    "Vocal Smile",
                    "Newscaster",
                    "Whisper",
                    "Empathetic",
                    "Promo/Hype",
                    "Deadpan"
                  ],
                  "type": "string",
                  "description": "Speaker delivery style."
                },
                "accent": {
                  "enum": [
                    "Neutral",
                    "American (Gen)",
                    "American (Valley)",
                    "American (South)",
                    "British (RP)",
                    "British (Brixton)",
                    "Transatlantic",
                    "Australian"
                  ],
                  "type": "string",
                  "description": "Speaker accent."
                },
                "speaker_id": {
                  "type": "string",
                  "pattern": "^Speaker [1-9][0-9]*$",
                  "required": true,
                  "description": "Unique identifier in Speaker N format."
                },
                "voice_name": {
                  "enum": [
                    "Achernar",
                    "Achird",
                    "Algenib",
                    "Algieba",
                    "Alnilam",
                    "Aoede",
                    "Autonoe",
                    "Callirrhoe",
                    "Charon",
                    "Despina",
                    "Enceladus",
                    "Erinome",
                    "Fenrir",
                    "Gacrux",
                    "Iapetus",
                    "Kore",
                    "Laomedeia",
                    "Leda",
                    "Orus",
                    "Puck",
                    "Pulcherrima",
                    "Rasalgethi",
                    "Sadachbia",
                    "Sadaltager",
                    "Schedar",
                    "Sulafat",
                    "Umbriel",
                    "Vindemiatrix",
                    "Zephyr",
                    "Zubenelgenubi"
                  ],
                  "type": "string",
                  "required": true,
                  "description": "Preset voice name."
                },
                "audio_profile": {
                  "type": "string",
                  "description": "Optional voice character guidance."
                }
              }
            },
            "required": true,
            "min_items": 1,
            "description": "Non-empty speaker configurations with unique Speaker N identifiers."
          },
          "dialogue_turns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "max": 10000,
                  "type": "string",
                  "length": true,
                  "required": true,
                  "description": "Spoken text, up to 10,000 characters."
                },
                "speaker_id": {
                  "type": "string",
                  "required": true,
                  "description": "Identifier matching a configured speakers[].speaker_id."
                }
              }
            },
            "required": true,
            "min_items": 1,
            "description": "Non-empty ordered dialogue turns whose speaker ids reference configured speakers."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "gemini-3.1-flash-tts": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "temperature": {
            "type": "number",
            "max": 2,
            "min": 0,
            "default": 1,
            "description": "Sampling temperature."
          },
          "scene": {
            "type": "string",
            "description": "Scene and recording environment."
          },
          "sample_context": {
            "type": "string",
            "description": "Overall delivery context and tone."
          },
          "speakers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "pace": {
                  "enum": [
                    "Natural",
                    "Rapid Fire",
                    "The Drift",
                    "Staccato"
                  ],
                  "type": "string",
                  "description": "Speaker pace."
                },
                "style": {
                  "enum": [
                    "Vocal Smile",
                    "Newscaster",
                    "Whisper",
                    "Empathetic",
                    "Promo/Hype",
                    "Deadpan"
                  ],
                  "type": "string",
                  "description": "Speaker delivery style."
                },
                "accent": {
                  "enum": [
                    "Neutral",
                    "American (Gen)",
                    "American (Valley)",
                    "American (South)",
                    "British (RP)",
                    "British (Brixton)",
                    "Transatlantic",
                    "Australian"
                  ],
                  "type": "string",
                  "description": "Speaker accent."
                },
                "speaker_id": {
                  "type": "string",
                  "pattern": "^Speaker [1-9][0-9]*$",
                  "required": true,
                  "description": "Unique identifier in Speaker N format."
                },
                "voice_name": {
                  "enum": [
                    "Achernar",
                    "Achird",
                    "Algenib",
                    "Algieba",
                    "Alnilam",
                    "Aoede",
                    "Autonoe",
                    "Callirrhoe",
                    "Charon",
                    "Despina",
                    "Enceladus",
                    "Erinome",
                    "Fenrir",
                    "Gacrux",
                    "Iapetus",
                    "Kore",
                    "Laomedeia",
                    "Leda",
                    "Orus",
                    "Puck",
                    "Pulcherrima",
                    "Rasalgethi",
                    "Sadachbia",
                    "Sadaltager",
                    "Schedar",
                    "Sulafat",
                    "Umbriel",
                    "Vindemiatrix",
                    "Zephyr",
                    "Zubenelgenubi"
                  ],
                  "type": "string",
                  "required": true,
                  "description": "Preset voice name."
                },
                "audio_profile": {
                  "type": "string",
                  "description": "Optional voice character guidance."
                }
              }
            },
            "required": true,
            "min_items": 1,
            "description": "Non-empty speaker configurations with unique Speaker N identifiers."
          },
          "dialogue_turns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "max": 10000,
                  "type": "string",
                  "length": true,
                  "required": true,
                  "description": "Spoken text, up to 10,000 characters."
                },
                "speaker_id": {
                  "type": "string",
                  "required": true,
                  "description": "Identifier matching a configured speakers[].speaker_id."
                }
              }
            },
            "required": true,
            "min_items": 1,
            "description": "Non-empty ordered dialogue turns whose speaker ids reference configured speakers."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "gpt-4o-image/text-to-image": {
      "model": "GPT-4o Image",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-4o-image"
      ],
      "fields_by_model": {
        "gpt-4o-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:2",
              "2:3"
            ],
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "max_items": 5
          },
          "mask_url": {
            "type": "string"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              4
            ]
          },
          "callback_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          }
        }
      }
    },
    "gpt-image-2.5/edit-image": {
      "model": "GPT Image 2.5",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-2.5-flare",
        "gpt-image-2.5-sunburst"
      ],
      "rules": [
        {
          "when": {
            "aspect_ratio": "1:1",
            "output_resolution": "4k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": "auto",
            "output_resolution": "4k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": {
              "present": false
            },
            "output_resolution": "4k"
          },
          "forbidden": [
            "output_resolution"
          ]
        },
        {
          "when": {
            "aspect_ratio": "auto",
            "output_resolution": "2k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": {
              "present": false
            },
            "output_resolution": "2k"
          },
          "forbidden": [
            "output_resolution"
          ]
        }
      ],
      "fields_by_model": {
        "gpt-image-2.5-flare": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 16
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        },
        "gpt-image-2.5-sunburst": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 16
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gpt-image-2.5/text-to-image": {
      "model": "GPT Image 2.5",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-2.5-flare",
        "gpt-image-2.5-sunburst"
      ],
      "rules": [
        {
          "when": {
            "aspect_ratio": "1:1",
            "output_resolution": "4k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": "auto",
            "output_resolution": "4k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": {
              "present": false
            },
            "output_resolution": "4k"
          },
          "forbidden": [
            "output_resolution"
          ]
        },
        {
          "when": {
            "aspect_ratio": "auto",
            "output_resolution": "2k"
          },
          "forbidden": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "aspect_ratio": {
              "present": false
            },
            "output_resolution": "2k"
          },
          "forbidden": [
            "output_resolution"
          ]
        }
      ],
      "fields_by_model": {
        "gpt-image-2.5-flare": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        },
        "gpt-image-2.5-sunburst": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gpt-image-2/edit-image": {
      "model": "GPT Image 2",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-2"
      ],
      "fields_by_model": {
        "gpt-image-2": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gpt-image-2/text-to-image": {
      "model": "GPT Image 2",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-2"
      ],
      "fields_by_model": {
        "gpt-image-2": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "5:4",
              "4:5",
              "16:9",
              "9:16",
              "2:1",
              "1:2",
              "3:1",
              "1:3",
              "21:9",
              "9:21"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gpt-image/edit-image": {
      "model": "GPT Image",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-1.5"
      ],
      "fields_by_model": {
        "gpt-image-1.5": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2"
            ],
            "required": true
          },
          "quality": {
            "type": "string",
            "enum": [
              "medium",
              "high"
            ],
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "gpt-image/text-to-image": {
      "model": "GPT Image",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "gpt-image-1.5"
      ],
      "fields_by_model": {
        "gpt-image-1.5": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2"
            ],
            "required": true
          },
          "quality": {
            "type": "string",
            "enum": [
              "medium",
              "high"
            ],
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "grok-imagine/edit-image": {
      "model": "Grok Imagine",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "grok-imagine-edit-image",
        "grok-imagine-image-2-0"
      ],
      "rules": [
        {
          "when": {
            "model": "grok-imagine-edit-image"
          },
          "forbidden": [
            "source_task_id",
            "mask_indices",
            "source_image_urls",
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "model": "grok-imagine-image-2-0"
          },
          "forbidden": [
            "source_image_url",
            "source_task_id",
            "mask_indices",
            "enable_safety_checker"
          ]
        }
      ],
      "fields_by_model": {
        "grok-imagine-edit-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public source image URL."
          },
          "source_image_urls": {
            "type": "array"
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "prompt": {
            "type": "string",
            "description": "Optional image editing instruction."
          },
          "aspect_ratio": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable content safety checks."
          },
          "mask_indices": {
            "description": "Not accepted by this model."
          },
          "source_task_id": {
            "description": "Not accepted by this model."
          }
        },
        "grok-imagine-image-2-0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "source_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 5,
            "min_items": 1,
            "description": "Source image URLs, from one to five entries."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "prompt": {
            "type": "string",
            "max": 390000,
            "length": true,
            "description": "Image editing prompt."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2",
              "16:9",
              "9:16",
              "auto"
            ],
            "required": true,
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          },
          "mask_indices": {
            "description": "Not accepted by this model."
          },
          "source_task_id": {
            "description": "Not accepted by this model."
          }
        }
      }
    },
    "grok-imagine/extend": {
      "model": "Grok Imagine",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed prior Grok Imagine video Task ID."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Video continuation prompt."
          },
          "start_seconds": {
            "type": "integer",
            "min": 0,
            "required": true,
            "description": "Source video position in seconds where extension begins."
          },
          "extension_duration_seconds": {
            "type": "integer",
            "enum": [
              6,
              10
            ],
            "required": true,
            "description": "Extension duration in seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          }
        }
      }
    },
    "grok-imagine/image-to-video": {
      "model": "Grok Imagine",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "grok-imagine-image-to-video",
        "grok-imagine-video-1.5-fast",
        "grok-imagine-video-1.5-preview"
      ],
      "rules": [
        {
          "when": {
            "model": "grok-imagine-image-to-video"
          },
          "forbidden": [
            "reference_image_urls"
          ]
        },
        {
          "when": {
            "model": "grok-imagine-video-1.5-fast"
          },
          "forbidden": [
            "source_task_id",
            "index",
            "motion_style",
            "enable_safety_checker"
          ]
        },
        {
          "when": {
            "model": "grok-imagine-video-1.5-preview"
          },
          "forbidden": [
            "source_task_id",
            "index",
            "motion_style",
            "enable_safety_checker"
          ]
        }
      ],
      "fields_by_model": {
        "grok-imagine-image-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "source_image_url": {
            "type": "string",
            "description": "Public source image URL; provide this or source_task_id, but not both."
          },
          "reference_image_urls": {
            "type": "array",
            "description": "Not accepted by this model."
          },
          "source_task_id": {
            "type": "string",
            "description": "Prior Grok Imagine text-to-image Task ID; provide this or source_image_url, but not both."
          },
          "index": {
            "type": "integer",
            "max": 5,
            "min": 0,
            "description": "Zero-based source image index; used only with source_task_id."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Optional video generation prompt."
          },
          "motion_style": {
            "type": "string",
            "enum": [
              "fun",
              "normal",
              "spicy"
            ],
            "description": "Video motion style; spicy requires source_task_id."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 30,
            "min": 6,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "2:3",
              "3:2",
              "1:1",
              "16:9",
              "9:16"
            ],
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable content safety checks."
          }
        },
        "grok-imagine-video-1.5-fast": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public source image URL."
          },
          "reference_image_urls": {
            "type": "array",
            "description": "Public reference image URLs."
          },
          "source_task_id": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "index": {
            "type": "integer",
            "description": "Not accepted by this model."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Optional video generation prompt."
          },
          "motion_style": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 30,
            "min": 1,
            "default": 8,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          }
        },
        "grok-imagine-video-1.5-preview": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public source image URL."
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 6,
            "description": "Additional public reference image URLs; source plus references may total seven images."
          },
          "source_task_id": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "index": {
            "type": "integer",
            "description": "Not accepted by this model."
          },
          "prompt": {
            "type": "string",
            "max": 4096,
            "min": 1,
            "length": true,
            "description": "Optional video generation prompt."
          },
          "motion_style": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 8,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:2",
              "2:3",
              "auto"
            ],
            "default": "auto",
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          }
        }
      }
    },
    "grok-imagine/segment-map": {
      "model": "Grok Imagine",
      "endpoint": "segment_map",
      "task_type": "asynchronous",
      "models": [
        "grok-imagine-image-2-0"
      ],
      "rules": [
        {
          "required_any": [
            "image_url",
            "source_task_id"
          ]
        },
        {
          "when": {
            "image_url": {
              "present": true
            }
          },
          "forbidden": [
            "source_task_id"
          ]
        },
        {
          "when": {
            "source_task_id": {
              "present": true
            }
          },
          "forbidden": [
            "image_url"
          ]
        }
      ],
      "fields_by_model": {
        "grok-imagine-image-2-0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "image_url": {
            "type": "string",
            "description": "Public image URL that the service can fetch."
          },
          "source_task_id": {
            "type": "string",
            "description": "Completed Image 2.0 text-to-image Task ID owned by the same account. Compatibility input; use image_url instead."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          }
        }
      }
    },
    "grok-imagine/text-to-image": {
      "model": "Grok Imagine",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "grok-imagine-image-2-0",
        "grok-imagine-text-to-image"
      ],
      "rules": [
        {
          "when": {
            "model": "grok-imagine-image-2-0"
          },
          "forbidden": [
            "enable_safety_checker",
            "enable_pro"
          ]
        }
      ],
      "fields_by_model": {
        "grok-imagine-image-2-0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Image generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2",
              "16:9",
              "9:16"
            ],
            "required": true,
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          },
          "enable_pro": {
            "type": "boolean",
            "description": "Not accepted by this model."
          }
        },
        "grok-imagine-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Image generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "2:3",
              "3:2",
              "1:1",
              "16:9",
              "9:16"
            ],
            "description": "Output aspect ratio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable content safety checks."
          },
          "enable_pro": {
            "type": "boolean",
            "description": "Enable Pro image generation mode."
          }
        }
      }
    },
    "grok-imagine/text-to-video": {
      "model": "Grok Imagine",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "grok-imagine-text-to-video",
        "grok-imagine-video-1.5-fast",
        "grok-imagine-video-1.5-preview"
      ],
      "rules": [
        {
          "when": {
            "model": "grok-imagine-text-to-video"
          },
          "forbidden": [
            "reference_image_urls"
          ]
        },
        {
          "when": {
            "model": "grok-imagine-video-1.5-fast"
          },
          "forbidden": [
            "motion_style",
            "enable_safety_checker"
          ]
        },
        {
          "when": {
            "model": "grok-imagine-video-1.5-preview"
          },
          "forbidden": [
            "motion_style",
            "enable_safety_checker"
          ]
        }
      ],
      "fields_by_model": {
        "grok-imagine-text-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array",
            "description": "Not accepted by this model."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "2:3",
              "3:2",
              "1:1",
              "16:9",
              "9:16"
            ],
            "description": "Output aspect ratio."
          },
          "motion_style": {
            "type": "string",
            "enum": [
              "fun",
              "normal",
              "spicy"
            ],
            "description": "Video motion style."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 30,
            "min": 6,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable content safety checks."
          }
        },
        "grok-imagine-video-1.5-fast": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array",
            "description": "Public reference image URLs."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:2",
              "2:3"
            ],
            "description": "Output aspect ratio."
          },
          "motion_style": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 30,
            "min": 1,
            "default": 8,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          }
        },
        "grok-imagine-video-1.5-preview": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 4096,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 7,
            "description": "Public reference image URLs; 1080p accepts at most one image."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:2",
              "2:3",
              "auto"
            ],
            "default": "auto",
            "description": "Output aspect ratio."
          },
          "motion_style": {
            "type": "string",
            "description": "Not accepted by this model."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 8,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p"
            ],
            "default": "480p",
            "description": "Output resolution."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Not accepted by this model."
          }
        }
      }
    },
    "grok-imagine/upscale-image": {
      "model": "Grok Imagine",
      "endpoint": "upscale_image",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed prior Grok Imagine video Task ID."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          }
        }
      }
    },
    "hailuo/image-to-video": {
      "model": "Hailuo",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "hailuo-02-image-to-video-pro",
        "hailuo-02-image-to-video-standard",
        "hailuo-2.3-image-to-video-pro",
        "hailuo-2.3-image-to-video-standard"
      ],
      "fields_by_model": {
        "hailuo-02-image-to-video-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string"
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "callback_url": {
            "type": "string"
          }
        },
        "hailuo-02-image-to-video-standard": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              6,
              10
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "512p",
              "768p"
            ]
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "hailuo-2.3-image-to-video-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              6,
              10
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "768p",
              "1080p"
            ]
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "hailuo-2.3-image-to-video-standard": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              6,
              10
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "768p",
              "1080p"
            ]
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "hailuo/text-to-video": {
      "model": "Hailuo",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "hailuo-02-text-to-video-pro",
        "hailuo-02-text-to-video-standard"
      ],
      "fields_by_model": {
        "hailuo-02-text-to-video-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "hailuo-02-text-to-video-standard": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              6,
              10
            ]
          },
          "prompt_optimizer": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "happyhorse/edit-video": {
      "model": "HappyHorse",
      "endpoint": "edit_video",
      "task_type": "asynchronous",
      "models": [
        "happyhorse-edit-video"
      ],
      "fields_by_model": {
        "happyhorse-edit-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string",
            "required": true
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 5
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "audio_setting": {
            "type": "string",
            "enum": [
              "auto",
              "original"
            ]
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "happyhorse/image-to-video": {
      "model": "HappyHorse",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "happyhorse-1.0-i2v",
        "happyhorse-image-to-video"
      ],
      "fields_by_model": {
        "happyhorse-1.0-i2v": {
          "model": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "happyhorse-image-to-video": {
          "model": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "happyhorse/text-to-video": {
      "model": "HappyHorse",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "happyhorse-1.0-r2v",
        "happyhorse-1.0-t2v",
        "happyhorse-character",
        "happyhorse-text-to-video"
      ],
      "fields_by_model": {
        "happyhorse-1.0-r2v": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 9,
            "min_items": 1
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "happyhorse-1.0-t2v": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "happyhorse-character": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 9,
            "min_items": 1
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "happyhorse-text-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "ideogram-v3/edit-image": {
      "model": "Ideogram V3",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "ideogram-v3-character-edit",
        "ideogram-v3-edit"
      ],
      "fields_by_model": {
        "ideogram-v3-character-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "mask_url": {
            "type": "string",
            "required": true
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "realistic",
              "fiction"
            ]
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "reference_image_urls": {
            "type": "array",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        },
        "ideogram-v3-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "mask_url": {
            "type": "string",
            "required": true
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "ideogram-v3/reframe-image": {
      "model": "Ideogram V3",
      "endpoint": "reframe_image",
      "task_type": "asynchronous",
      "models": [
        "ideogram-v3-reframe"
      ],
      "fields_by_model": {
        "ideogram-v3-reframe": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ]
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "general",
              "realistic",
              "design"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "ideogram-v3/remix-image": {
      "model": "Ideogram V3",
      "endpoint": "remix_image",
      "task_type": "asynchronous",
      "models": [
        "ideogram-v3-character-remix",
        "ideogram-v3-remix"
      ],
      "fields_by_model": {
        "ideogram-v3-character-remix": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "realistic",
              "fiction"
            ]
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "strength": {
            "type": "number"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "required": true
          },
          "style_reference_image_urls": {
            "type": "array"
          },
          "reference_mask_urls": {
            "type": "array"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "ideogram-v3-remix": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "general",
              "realistic",
              "design"
            ]
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "strength": {
            "type": "number"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "style_reference_image_urls": {
            "type": "array"
          },
          "reference_mask_urls": {
            "type": "array"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "ideogram-v3/text-to-image": {
      "model": "Ideogram V3",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "ideogram-v3-character",
        "ideogram-v3-text-to-image"
      ],
      "fields_by_model": {
        "ideogram-v3-character": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "realistic",
              "fiction"
            ]
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        },
        "ideogram-v3-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "rendering_speed": {
            "type": "string",
            "enum": [
              "turbo",
              "balanced",
              "quality"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "auto",
              "general",
              "realistic",
              "design"
            ]
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          "seed": {
            "type": "integer"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "imagen-4/remix-image": {
      "model": "Imagen 4",
      "endpoint": "remix_image",
      "task_type": "asynchronous",
      "models": [
        "imagen-4-pro-remix-image"
      ],
      "fields_by_model": {
        "imagen-4-pro-remix-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 8,
            "min_items": 1
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2",
              "3:4",
              "4:3",
              "4:5",
              "5:4",
              "9:16",
              "16:9",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpg"
            ]
          }
        }
      }
    },
    "imagen-4/text-to-image": {
      "model": "Imagen 4",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "imagen-4",
        "imagen-4-fast",
        "imagen-4-ultra"
      ],
      "fields_by_model": {
        "imagen-4": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:4",
              "4:3"
            ]
          },
          "seed": {
            "type": "integer"
          }
        },
        "imagen-4-fast": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:4",
              "4:3",
              "auto"
            ]
          },
          "seed": {
            "type": "integer"
          }
        },
        "imagen-4-ultra": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "9:16",
              "3:4",
              "4:3"
            ]
          },
          "seed": {
            "type": "integer"
          }
        }
      }
    },
    "infinitetalk/audio-to-video": {
      "model": "InfiniteTalk",
      "endpoint": "audio_to_video",
      "task_type": "asynchronous",
      "models": [
        "infinitetalk-from-audio"
      ],
      "fields_by_model": {
        "infinitetalk-from-audio": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ]
          },
          "seed": {
            "type": "integer"
          }
        }
      }
    },
    "kling/avatar": {
      "model": "Kling",
      "endpoint": "ai_avatar",
      "task_type": "asynchronous",
      "models": [
        "kling-ai-avatar-pro",
        "kling-ai-avatar-standard",
        "kling-ai-avatar-v1-pro",
        "kling-v1-avatar-standard"
      ],
      "fields_by_model": {
        "kling-ai-avatar-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Face image URL."
          },
          "source_audio_url": {
            "type": "string",
            "required": true,
            "description": "Audio URL for lip sync."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Description of the avatar."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-ai-avatar-standard": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Face image URL."
          },
          "source_audio_url": {
            "type": "string",
            "required": true,
            "description": "Audio URL for lip sync."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Description of the avatar."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-ai-avatar-v1-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Face image URL."
          },
          "source_audio_url": {
            "type": "string",
            "required": true,
            "description": "Audio URL for lip sync."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Description of the avatar."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-v1-avatar-standard": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Face image URL."
          },
          "source_audio_url": {
            "type": "string",
            "required": true,
            "description": "Audio URL for lip sync."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Description of the avatar."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "kling/edit-video": {
      "model": "Kling",
      "endpoint": "edit_video",
      "task_type": "asynchronous",
      "models": [
        "kling-v3-omni-edit",
        "kling-v3-omni-reference"
      ],
      "rules": [
        {
          "when": {
            "model": "kling-v3-omni-edit",
            "source_task_id": {
              "present": false
            },
            "source_video_url": {
              "present": false
            }
          },
          "required_any": [
            "source_video_url",
            "source_task_id"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni-edit",
            "source_video_url": {
              "present": true
            }
          },
          "forbidden": [
            "source_task_id"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni-edit",
            "source_task_id": {
              "present": true
            }
          },
          "forbidden": [
            "source_video_url"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "auto"
            ],
            "duration_seconds": [
              5
            ]
          },
          "when": {
            "model": "kling-v3-omni-edit",
            "source_video_url": {
              "present": true
            },
            "reference_image_urls": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "auto"
            ],
            "duration_seconds": [
              5
            ]
          },
          "when": {
            "model": "kling-v3-omni-edit",
            "source_task_id": {
              "present": true
            },
            "reference_image_urls": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "16:9",
              "9:16",
              "1:1"
            ]
          },
          "when": {
            "model": "kling-v3-omni-edit",
            "source_video_url": {
              "present": true
            },
            "reference_image_urls": {
              "present": true
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "16:9",
              "9:16",
              "1:1"
            ]
          },
          "when": {
            "model": "kling-v3-omni-edit",
            "source_task_id": {
              "present": true
            },
            "reference_image_urls": {
              "present": true
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni-reference",
            "source_task_id": {
              "present": false
            },
            "source_video_url": {
              "present": false
            }
          },
          "required_any": [
            "source_video_url",
            "source_task_id"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni-reference",
            "source_video_url": {
              "present": true
            }
          },
          "forbidden": [
            "source_task_id"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni-reference",
            "source_task_id": {
              "present": true
            }
          },
          "forbidden": [
            "source_video_url"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "auto"
            ],
            "enable_sound": [
              false
            ],
            "duration_seconds": [
              5
            ]
          },
          "when": {
            "model": "kling-v3-omni-reference",
            "source_video_url": {
              "present": true
            },
            "reference_image_urls": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "auto"
            ],
            "enable_sound": [
              false
            ],
            "duration_seconds": [
              5
            ]
          },
          "when": {
            "model": "kling-v3-omni-reference",
            "source_task_id": {
              "present": true
            },
            "reference_image_urls": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "enable_sound": [
              false
            ]
          },
          "when": {
            "model": "kling-v3-omni-reference",
            "source_video_url": {
              "present": true
            },
            "reference_image_urls": {
              "present": true
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "enable_sound": [
              false
            ]
          },
          "when": {
            "model": "kling-v3-omni-reference",
            "source_task_id": {
              "present": true
            },
            "reference_image_urls": {
              "present": true
            }
          },
          "required": [
            "aspect_ratio"
          ]
        }
      ],
      "fields_by_model": {
        "kling-v3-omni-edit": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "source_video_url": {
            "type": "string",
            "description": "Public source video URL; cannot be combined with source_task_id."
          },
          "source_task_id": {
            "type": "string",
            "description": "Completed compatible task ID; cannot be combined with source_video_url."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 4,
            "min_items": 1,
            "description": "Ordered reference image URLs."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Output aspect ratio; source-only requests require auto."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable synchronized sound generation."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-v3-omni-reference": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "source_video_url": {
            "type": "string",
            "description": "Public source video URL; cannot be combined with source_task_id."
          },
          "source_task_id": {
            "type": "string",
            "description": "Completed compatible task ID; cannot be combined with source_video_url."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 4,
            "min_items": 1,
            "description": "Ordered reference image URLs."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Output duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "auto",
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Output aspect ratio; source-only requests require auto."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable synchronized sound generation; source-video requests require false."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "kling/extend-video": {
      "model": "Kling",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [
        "kling-v2.5-turbo-image-to-video-pro",
        "kling-v2.5-turbo-text-to-video-pro"
      ],
      "fields_by_model": {
        "kling-v2.5-turbo-image-to-video-pro": {
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed Kling v2.5 Turbo source task ID."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Extension quality mode."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description for the continuation."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-v2.5-turbo-text-to-video-pro": {
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed Kling v2.5 Turbo source task ID."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Extension quality mode."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description for the continuation."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "kling/image-to-video": {
      "model": "Kling",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "kling-o1",
        "kling-v2.1-master-image-to-video",
        "kling-v2.1-pro",
        "kling-v2.1-standard",
        "kling-v2.5-turbo-image-to-video-pro",
        "kling-v2.6",
        "kling-v3-omni",
        "kling-v3-turbo-image-to-video"
      ],
      "rules": [
        {
          "when": {
            "model": "kling-o1"
          },
          "forbidden": [
            "output_resolution",
            "negative_prompt",
            "cfg_scale"
          ]
        },
        {
          "when": {
            "model": "kling-v2.1-master-image-to-video"
          },
          "forbidden": [
            "output_resolution",
            "enable_sound",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.1-pro"
          },
          "forbidden": [
            "output_resolution",
            "enable_sound",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.1-standard"
          },
          "forbidden": [
            "output_resolution",
            "enable_sound",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.5-turbo-image-to-video-pro"
          },
          "forbidden": [
            "output_resolution",
            "enable_sound",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.6"
          },
          "forbidden": [
            "output_resolution",
            "negative_prompt",
            "cfg_scale",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni"
          },
          "forbidden": [
            "negative_prompt",
            "cfg_scale",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v3-turbo-image-to-video"
          },
          "forbidden": [
            "enable_sound",
            "aspect_ratio",
            "negative_prompt",
            "cfg_scale",
            "last_frame_image_url",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        }
      ],
      "fields_by_model": {
        "kling-o1": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description; reference media with matching numbered markers."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "Public HTTP(S) JPG, JPEG, or PNG first-frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Generation mode."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Sound generation must remain disabled."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Public HTTP(S) JPG, JPEG, or PNG final-frame image URL; cannot be combined with reference_image_urls or reference_video_url."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 7,
            "min_items": 1,
            "description": "Ordered public HTTP(S) JPG, JPEG, or PNG reference image URLs; cannot be combined with last_frame_image_url."
          },
          "reference_video_url": {
            "type": "string",
            "description": "Public HTTP(S) MP4 or MOV reference video URL; cannot be combined with last_frame_image_url."
          },
          "reference_video_type": {
            "type": "string",
            "enum": [
              "base",
              "feature"
            ],
            "default": "base",
            "description": "Use the video as a base edit or feature reference."
          },
          "preserve_reference_video_audio": {
            "type": "boolean",
            "default": false,
            "description": "Preserve the reference video's original audio."
          }
        },
        "kling-v2.1-master-image-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL for supported image-to-video models."
          }
        },
        "kling-v2.1-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL for supported image-to-video models."
          }
        },
        "kling-v2.1-standard": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL for supported image-to-video models."
          }
        },
        "kling-v2.5-turbo-image-to-video-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL for supported image-to-video models."
          }
        },
        "kling-v2.6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Generation mode."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable sound generation; requires pro mode."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL; requires pro mode and 5 seconds."
          }
        },
        "kling-v3-omni": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable synchronized sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Final frame image URL; requires a 5-second duration."
          }
        },
        "kling-v3-turbo-image-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "default": "720p",
            "description": "Output resolution."
          }
        }
      }
    },
    "kling/motion-control": {
      "model": "Kling",
      "endpoint": "motion_control",
      "task_type": "asynchronous",
      "models": [
        "kling-3.0",
        "kling-v2.6"
      ],
      "rules": [
        {
          "when": {
            "model": "kling-v2.6"
          },
          "forbidden": [
            "background_source"
          ]
        }
      ],
      "fields_by_model": {
        "kling-3.0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Subject image URL."
          },
          "reference_video_url": {
            "type": "string",
            "required": true,
            "description": "Reference motion video URL."
          },
          "prompt": {
            "type": "string",
            "description": "Description prompt."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "description": "Output resolution."
          },
          "character_orientation": {
            "type": "string",
            "enum": [
              "video",
              "image"
            ],
            "description": "Character orientation."
          },
          "background_source": {
            "type": "string",
            "enum": [
              "video",
              "image"
            ],
            "description": "Background source."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "kling-v2.6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Subject image URL."
          },
          "reference_video_url": {
            "type": "string",
            "required": true,
            "description": "Reference motion video URL (3-10 seconds with image orientation; 3-30 seconds with video orientation)."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "length": true,
            "description": "Optional motion guidance prompt."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "required": true,
            "description": "Output resolution."
          },
          "character_orientation": {
            "type": "string",
            "enum": [
              "video",
              "image"
            ],
            "required": true,
            "description": "Whether the reference follows the video's or image's orientation."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "kling/text-to-video": {
      "model": "Kling",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "kling-3.0",
        "kling-o1",
        "kling-v2.1-master-text-to-video",
        "kling-v2.5-turbo-text-to-video-pro",
        "kling-v2.6",
        "kling-v3-omni",
        "kling-v3-omni-reference",
        "kling-v3-turbo-text-to-video"
      ],
      "rules": [
        {
          "when": {
            "model": "kling-3.0"
          },
          "forbidden": [
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-o1"
          },
          "forbidden": [
            "output_resolution",
            "negative_prompt",
            "cfg_scale",
            "multi_shots",
            "multi_prompt",
            "first_frame_image_url",
            "last_frame_image_url",
            "kling_elements"
          ]
        },
        {
          "when": {
            "model": "kling-v2.1-master-text-to-video"
          },
          "forbidden": [
            "mode",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.5-turbo-text-to-video-pro"
          },
          "forbidden": [
            "mode",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v2.6"
          },
          "forbidden": [
            "output_resolution",
            "negative_prompt",
            "cfg_scale",
            "multi_shots",
            "multi_prompt",
            "first_frame_image_url",
            "last_frame_image_url",
            "kling_elements",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v3-omni"
          },
          "forbidden": [
            "negative_prompt",
            "cfg_scale",
            "multi_shots",
            "multi_prompt",
            "first_frame_image_url",
            "last_frame_image_url",
            "kling_elements",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        },
        {
          "when": {
            "model": "kling-v3-turbo-text-to-video"
          },
          "forbidden": [
            "enable_sound",
            "negative_prompt",
            "cfg_scale",
            "multi_shots",
            "multi_prompt",
            "first_frame_image_url",
            "last_frame_image_url",
            "kling_elements",
            "reference_image_urls",
            "reference_video_url",
            "reference_video_type",
            "preserve_reference_video_audio"
          ]
        }
      ],
      "fields_by_model": {
        "kling-3.0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "description": "Video description. Required unless multi_shots is enabled."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "description": "Enable sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "description": "Output resolution."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          },
          "multi_shots": {
            "type": "boolean",
            "description": "Enable multi-shot generation."
          },
          "multi_prompt": {
            "type": "array",
            "description": "Prompt segments for multi-shot mode."
          },
          "first_frame_image_url": {
            "type": "string",
            "description": "First frame image URL."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Last frame image URL for single-shot mode."
          },
          "kling_elements": {
            "type": "array",
            "description": "Element references with image, video, or audio materials."
          }
        },
        "kling-o1": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description; reference media with matching numbered markers."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Generation mode."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Sound generation must remain disabled."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 7,
            "min_items": 1,
            "description": "Ordered public HTTP(S) JPG, JPEG, or PNG reference image URLs."
          },
          "reference_video_url": {
            "type": "string",
            "description": "Public HTTP(S) MP4 or MOV reference video URL."
          },
          "reference_video_type": {
            "type": "string",
            "enum": [
              "base",
              "feature"
            ],
            "default": "base",
            "description": "Use the video as a base edit or feature reference."
          },
          "preserve_reference_video_audio": {
            "type": "boolean",
            "default": false,
            "description": "Preserve the reference video's original audio."
          }
        },
        "kling-v2.1-master-text-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "description": "Enable sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          }
        },
        "kling-v2.5-turbo-text-to-video-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "description": "Enable sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "description": "Output aspect ratio."
          },
          "negative_prompt": {
            "type": "string",
            "description": "Negative prompt."
          },
          "cfg_scale": {
            "type": "number",
            "description": "Guidance scale (0-1)."
          }
        },
        "kling-v2.6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "pro"
            ],
            "default": "std",
            "description": "Generation mode."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable sound generation; requires pro mode."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          }
        },
        "kling-v3-omni": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable synchronized sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          }
        },
        "kling-v3-omni-reference": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "enable_sound": {
            "type": "boolean",
            "default": false,
            "description": "Enable synchronized sound generation."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Output duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "required": true,
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p",
              "4k"
            ],
            "default": "720p",
            "description": "Output resolution."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 7,
            "min_items": 1,
            "description": "Ordered reference image URLs."
          }
        },
        "kling-v3-turbo-text-to-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 2500,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 5,
            "description": "Duration in seconds."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "default": "720p",
            "description": "Output resolution."
          }
        }
      }
    },
    "luma/modify-video": {
      "model": "Luma",
      "endpoint": "modify_video",
      "task_type": "asynchronous",
      "models": [
        "luma-modify-video"
      ],
      "fields_by_model": {
        "luma-modify-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_video_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "watermark": {
            "type": "string"
          }
        }
      }
    },
    "midjourney/edit-image": {
      "model": "Midjourney",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "midjourney-edit-image"
      ],
      "fields_by_model": {
        "midjourney-edit-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "mask_url": {
            "type": "string"
          },
          "include_split_images": {
            "type": "boolean",
            "default": false
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "midjourney/extend-video": {
      "model": "Midjourney",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [
        "midjourney-image-to-video"
      ],
      "fields_by_model": {
        "midjourney-image-to-video": {
          "source_task_id": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "midjourney/get-seed": {
      "model": "Midjourney",
      "endpoint": "get_seed",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "image_id": {
            "type": "string",
            "required": true
          }
        }
      }
    },
    "midjourney/image-to-prompt": {
      "model": "Midjourney",
      "endpoint": "image_to_prompt",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "source_image_url": {
            "type": "string",
            "required": true
          }
        }
      }
    },
    "midjourney/image-to-video": {
      "model": "Midjourney",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "midjourney-image-to-video"
      ],
      "fields_by_model": {
        "midjourney-image-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p"
            ],
            "default": "480p"
          },
          "enable_loop": {
            "type": "boolean",
            "default": false
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "midjourney/shorten-prompt": {
      "model": "Midjourney",
      "endpoint": "shorten_prompt",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "prompt": {
            "type": "string",
            "required": true
          }
        }
      }
    },
    "midjourney/text-to-image": {
      "model": "Midjourney",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "midjourney-v8.1"
      ],
      "fields_by_model": {
        "midjourney-v8.1": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "enable_prompt_translation": {
            "type": "boolean",
            "default": false
          },
          "include_split_images": {
            "type": "boolean",
            "default": false
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "minimax-h3/image-to-video": {
      "model": "MiniMax H3",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "minimax-h3"
      ],
      "rules": [
        {
          "required_any": [
            "first_frame_image_url",
            "last_frame_image_url"
          ]
        }
      ],
      "fields_by_model": {
        "minimax-h3": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 7000,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "first_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public HTTP(S) first-frame image URL; JPG, JPEG, PNG, WEBP, HEIC, or HEIF, up to 30 MB, 256-5760 pixels per side, with aspect ratio 0.4-2.5."
          },
          "last_frame_image_url": {
            "type": "string",
            "pattern": "^https?://",
            "description": "Public HTTP(S) final-frame image URL; JPG, JPEG, PNG, WEBP, HEIC, or HEIF, up to 30 MB, 256-5760 pixels per side, with aspect ratio 0.4-2.5."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 6,
            "description": "Generated video duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "768p",
              "2k"
            ],
            "default": "2k",
            "description": "Generated video resolution."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "minimax-h3/text-to-video": {
      "model": "MiniMax H3",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "minimax-h3"
      ],
      "rules": [
        {
          "when": {
            "reference_audio_urls": {
              "present": true
            }
          },
          "required_any": [
            "reference_image_urls",
            "reference_video_urls"
          ]
        },
        {
          "enum": {
            "aspect_ratio": [
              "21:9",
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16"
            ]
          },
          "when": {
            "reference_image_urls": {
              "present": false
            },
            "reference_video_urls": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        }
      ],
      "fields_by_model": {
        "minimax-h3": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 7000,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15
            ],
            "default": 6,
            "description": "Generated video duration in seconds."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "768p",
              "2k"
            ],
            "default": "2k",
            "description": "Generated video resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "adaptive",
              "21:9",
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16"
            ],
            "description": "Generated video aspect ratio; adaptive is available only with reference media."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^https?://"
            },
            "max_items": 9,
            "description": "Public HTTP(S) reference image URLs; JPG, JPEG, PNG, WEBP, HEIC, or HEIF, up to 30 MB each, 256-5760 pixels per side, with aspect ratio 0.4-2.5."
          },
          "reference_video_urls": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^https?://"
            },
            "max_items": 3,
            "description": "Public HTTP(S) MP4 or MOV reference video URLs; each clip must be 2-15 seconds and combined video duration must not exceed 15 seconds."
          },
          "reference_audio_urls": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^https?://"
            },
            "max_items": 3,
            "description": "Public HTTP(S) WAV or MP3 reference audio URLs; requires reference images or videos, each clip must be 2-15 seconds, and combined audio duration must not exceed 15 seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "nano-banana/edit-image": {
      "model": "Nano Banana",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "nano-banana-2-lite",
        "nano-banana-edit"
      ],
      "rules": [
        {
          "when": {
            "model": "nano-banana-2-lite"
          },
          "forbidden": [
            "output_format"
          ]
        }
      ],
      "fields_by_model": {
        "nano-banana-2-lite": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 20000,
            "min": 1,
            "length": true,
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "1:4",
              "1:8",
              "2:3",
              "3:2",
              "3:4",
              "4:1",
              "4:3",
              "4:5",
              "5:4",
              "8:1",
              "9:16",
              "16:9",
              "21:9",
              "auto"
            ],
            "default": "auto",
            "required": true
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 10,
            "min_items": 1
          }
        },
        "nano-banana-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "9:16",
              "16:9",
              "3:4",
              "4:3",
              "3:2",
              "2:3",
              "5:4",
              "4:5",
              "21:9",
              "auto"
            ]
          },
          "source_image_urls": {
            "type": "array",
            "required": true
          }
        }
      }
    },
    "nano-banana/text-to-image": {
      "model": "Nano Banana",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "nano-banana",
        "nano-banana-2",
        "nano-banana-2-lite",
        "nano-banana-pro"
      ],
      "rules": [
        {
          "when": {
            "model": "nano-banana-2-lite"
          },
          "forbidden": [
            "output_resolution",
            "output_format"
          ]
        }
      ],
      "fields_by_model": {
        "nano-banana": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "jpg"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "9:16",
              "16:9",
              "3:4",
              "4:3",
              "3:2",
              "2:3",
              "5:4",
              "4:5",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          }
        },
        "nano-banana-2": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "jpg"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "1:4",
              "1:8",
              "2:3",
              "3:2",
              "3:4",
              "4:1",
              "4:3",
              "4:5",
              "5:4",
              "8:1",
              "9:16",
              "16:9",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "reference_image_urls": {
            "type": "array"
          }
        },
        "nano-banana-2-lite": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 20000,
            "min": 1,
            "length": true,
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "1:4",
              "1:8",
              "2:3",
              "3:2",
              "3:4",
              "4:1",
              "4:3",
              "4:5",
              "5:4",
              "8:1",
              "9:16",
              "16:9",
              "21:9",
              "auto"
            ],
            "default": "auto",
            "required": true
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 10
          }
        },
        "nano-banana-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "jpg"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2",
              "3:4",
              "4:3",
              "4:5",
              "5:4",
              "9:16",
              "16:9",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 8
          }
        }
      }
    },
    "omnihuman/audio-to-video": {
      "model": "OmniHuman",
      "endpoint": "audio_to_video",
      "task_type": "asynchronous",
      "models": [
        "omnihuman-1.5"
      ],
      "fields_by_model": {
        "omnihuman-1.5": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "mask_urls": {
            "type": "array",
            "max_items": 5
          },
          "prompt": {
            "type": "string",
            "max": 300,
            "length": true
          },
          "callback_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "enable_fast_mode": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          }
        }
      }
    },
    "omnihuman/human-identification": {
      "model": "OmniHuman",
      "endpoint": "human_identification",
      "task_type": "asynchronous",
      "models": [
        "omnihuman-1.5-human-identification"
      ],
      "fields_by_model": {
        "omnihuman-1.5-human-identification": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "omnihuman/subject-detection": {
      "model": "OmniHuman",
      "endpoint": "subject_detection",
      "task_type": "asynchronous",
      "models": [
        "omnihuman-1.5-subject-detection"
      ],
      "fields_by_model": {
        "omnihuman-1.5-subject-detection": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "openai-transcription/speech-to-text": {
      "model": "OpenAI Transcription",
      "endpoint": "speech_to_text",
      "task_type": "synchronous",
      "models": [
        "gpt-transcribe",
        "whisper-1"
      ],
      "fields_by_model": {
        "gpt-transcribe": {
          "file": {
            "type": "string",
            "required": true,
            "description": "Audio file upload, up to 25 MB."
          },
          "model": {
            "type": "string",
            "enum": [
              "gpt-transcribe"
            ],
            "description": "Transcription model."
          },
          "prompt": {
            "type": "string",
            "description": "Optional text that guides transcription style and vocabulary."
          },
          "language": {
            "type": "string",
            "description": "Audio language as an ISO-639-1 code."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Candidate audio languages as ISO-639-1 codes."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Terms that should receive additional recognition guidance."
          },
          "temperature": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Sampling temperature from 0 to 1."
          },
          "response_format": {
            "type": "string",
            "enum": [
              "json",
              "text"
            ],
            "description": "Response body format."
          },
          "stream": {
            "type": "boolean",
            "description": "Whether to request a streamed response when supported."
          }
        },
        "whisper-1": {
          "file": {
            "type": "string",
            "required": true,
            "description": "Audio file upload, up to 25 MB."
          },
          "model": {
            "type": "string",
            "enum": [
              "whisper-1"
            ],
            "description": "Transcription model."
          },
          "prompt": {
            "type": "string",
            "description": "Optional text that guides transcription style and vocabulary."
          },
          "language": {
            "type": "string",
            "description": "Audio language as an ISO-639-1 code."
          },
          "temperature": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Sampling temperature from 0 to 1."
          },
          "response_format": {
            "type": "string",
            "enum": [
              "json",
              "text",
              "srt",
              "verbose_json",
              "vtt"
            ],
            "description": "Response body format."
          },
          "stream": {
            "type": "boolean",
            "description": "Whether to request a streamed response when supported."
          },
          "timestamp_granularities": {
            "type": "array",
            "items": {
              "enum": [
                "word",
                "segment"
              ],
              "type": "string"
            },
            "max_items": 2,
            "description": "Timestamp detail included with verbose JSON responses."
          }
        }
      }
    },
    "openai-tts/text-to-speech": {
      "model": "OpenAI TTS",
      "endpoint": "text_to_speech",
      "task_type": "synchronous",
      "models": [
        "tts-1",
        "tts-1-hd"
      ],
      "fields_by_model": {
        "tts-1": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "max": 4096,
            "length": true,
            "required": true
          }
        },
        "tts-1-hd": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "text": {
            "type": "string",
            "max": 4096,
            "length": true,
            "required": true
          }
        }
      }
    },
    "pixverse/edit-video": {
      "model": "PixVerse",
      "endpoint": "edit_video",
      "task_type": "asynchronous",
      "models": [
        "pixverse-v6"
      ],
      "fields_by_model": {
        "pixverse-v6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "540p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "required": true,
            "description": "Output resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 5,
            "required": true,
            "description": "Duration in seconds."
          },
          "enable_audio": {
            "type": "boolean",
            "enum": [
              true,
              false
            ],
            "default": false,
            "description": "Enable synchronized audio generation."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Random seed."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 7,
            "min_items": 1,
            "description": "Ordered public reference image URLs."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "default": "16:9",
            "required": true,
            "description": "Output aspect ratio."
          }
        }
      }
    },
    "pixverse/extend-video": {
      "model": "PixVerse",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [
        "pixverse-v6"
      ],
      "fields_by_model": {
        "pixverse-v6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video continuation description."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "540p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "required": true,
            "description": "Output resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 5,
            "required": true,
            "description": "Duration in seconds."
          },
          "enable_audio": {
            "type": "boolean",
            "enum": [
              true,
              false
            ],
            "default": false,
            "description": "Enable synchronized audio generation."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Random seed."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed PixVerse video task ID to extend."
          }
        }
      }
    },
    "pixverse/image-to-video": {
      "model": "PixVerse",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "pixverse-v6"
      ],
      "fields_by_model": {
        "pixverse-v6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "540p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "required": true,
            "description": "Output resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 5,
            "required": true,
            "description": "Duration in seconds."
          },
          "enable_audio": {
            "type": "boolean",
            "enum": [
              true,
              false
            ],
            "default": false,
            "description": "Enable synchronized audio generation."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Random seed."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "enable_multi_clip": {
            "type": "boolean",
            "default": false,
            "description": "Enable multi-clip generation."
          }
        }
      }
    },
    "pixverse/text-to-video": {
      "model": "PixVerse",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "pixverse-v6"
      ],
      "fields_by_model": {
        "pixverse-v6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "540p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "required": true,
            "description": "Output resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 5,
            "required": true,
            "description": "Duration in seconds."
          },
          "enable_audio": {
            "type": "boolean",
            "enum": [
              true,
              false
            ],
            "default": false,
            "description": "Enable synchronized audio generation."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Random seed."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "4:3",
              "1:1",
              "3:4",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "default": "16:9",
            "required": true,
            "description": "Output aspect ratio."
          },
          "enable_multi_clip": {
            "type": "boolean",
            "default": false,
            "description": "Enable multi-clip generation."
          }
        }
      }
    },
    "pixverse/transition-video": {
      "model": "PixVerse",
      "endpoint": "transition_video",
      "task_type": "asynchronous",
      "models": [
        "pixverse-v6"
      ],
      "fields_by_model": {
        "pixverse-v6": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video description."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "360p",
              "540p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "required": true,
            "description": "Output resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 1,
            "default": 5,
            "required": true,
            "description": "Duration in seconds."
          },
          "enable_audio": {
            "type": "boolean",
            "enum": [
              true,
              false
            ],
            "default": false,
            "description": "Enable synchronized audio generation."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "description": "Random seed."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "First frame image URL."
          },
          "last_frame_image_url": {
            "type": "string",
            "required": true,
            "description": "Last frame image URL."
          }
        }
      }
    },
    "producer/text-to-music": {
      "model": "Producer",
      "endpoint": "text_to_music",
      "task_type": "asynchronous",
      "models": [
        "fuzz-0.8",
        "fuzz-1.0",
        "fuzz-1.0-pro",
        "fuzz-1.1",
        "fuzz-1.1-pro",
        "fuzz-2.0",
        "fuzz-2.0-pro",
        "fuzz-2.0-raw"
      ],
      "rules": [
        {
          "when": {
            "vocal_mode": "exact_lyrics"
          },
          "required": [
            "lyrics"
          ]
        },
        {
          "when": {
            "vocal_mode": "instrumental"
          },
          "forbidden": [
            "lyrics"
          ]
        }
      ],
      "fields_by_model": {
        "fuzz-0.8": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-1.0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-1.0-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-1.1": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-1.1-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-2.0": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-2.0-pro": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "fuzz-2.0-raw": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 200,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Music style and production brief."
          },
          "lyrics": {
            "type": "string",
            "description": "Exact lyrics to sing."
          },
          "title": {
            "type": "string",
            "description": "Music title."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "qwen-2/edit-image": {
      "model": "Qwen 2",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-2-edit-image"
      ],
      "fields_by_model": {
        "qwen-2-edit-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "2:3",
              "3:2",
              "3:4",
              "4:3",
              "9:16",
              "16:9",
              "21:9"
            ]
          },
          "output_format": {
            "type": "string",
            "enum": [
              "jpeg",
              "png"
            ]
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "qwen-2/text-to-image": {
      "model": "Qwen 2",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-2-text-to-image"
      ],
      "fields_by_model": {
        "qwen-2-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "4:3",
              "9:16",
              "16:9"
            ]
          },
          "seed": {
            "type": "integer"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ]
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "qwen-3/edit-image": {
      "model": "Qwen 3",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-3-edit-image",
        "qwen-3-pro-edit-image"
      ],
      "fields_by_model": {
        "qwen-3-edit-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 800,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Image editing prompt."
          },
          "source_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 3,
            "min_items": 1,
            "description": "Public source image URLs; one to three images."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "default": "1k",
            "description": "Output image resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "default": true,
            "description": "Whether RunAPI expands the prompt before generation."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "default": false,
            "description": "Whether RunAPI checks generated content for safety."
          },
          "negative_prompt": {
            "type": "string",
            "max": 5000,
            "min": 0,
            "length": true,
            "description": "Content to avoid in the generated image."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "default": 1,
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        },
        "qwen-3-pro-edit-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 800,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Image editing prompt."
          },
          "source_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 3,
            "min_items": 1,
            "description": "Public source image URLs; one to three images."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "default": "1k",
            "description": "Output image resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "default": true,
            "description": "Whether RunAPI expands the prompt before generation."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "default": false,
            "description": "Whether RunAPI checks generated content for safety."
          },
          "negative_prompt": {
            "type": "string",
            "max": 5000,
            "min": 0,
            "length": true,
            "description": "Content to avoid in the generated image."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "default": 1,
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        }
      }
    },
    "qwen-3/text-to-image": {
      "model": "Qwen 3",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-3-pro-text-to-image",
        "qwen-3-text-to-image"
      ],
      "fields_by_model": {
        "qwen-3-pro-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 800,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Image generation prompt."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "default": "1k",
            "description": "Output image resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "default": true,
            "description": "Whether RunAPI expands the prompt before generation."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "default": false,
            "description": "Whether RunAPI checks generated content for safety."
          },
          "negative_prompt": {
            "type": "string",
            "max": 5000,
            "min": 0,
            "length": true,
            "description": "Content to avoid in the generated image."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "default": 1,
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        },
        "qwen-3-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 800,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Image generation prompt."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k"
            ],
            "default": "1k",
            "description": "Output image resolution."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:2",
              "2:3",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ],
            "default": "16:9",
            "description": "Output aspect ratio."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "enable_prompt_expansion": {
            "type": "boolean",
            "default": true,
            "description": "Whether RunAPI expands the prompt before generation."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "default": false,
            "description": "Whether RunAPI checks generated content for safety."
          },
          "negative_prompt": {
            "type": "string",
            "max": 5000,
            "min": 0,
            "length": true,
            "description": "Content to avoid in the generated image."
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": 0,
            "default": 1,
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        }
      }
    },
    "qwen-image/edit-image": {
      "model": "Qwen Image",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-image-edit-image"
      ],
      "fields_by_model": {
        "qwen-image-edit-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 2000,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Edit instruction for the source image."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB)."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ],
            "default": "1:1",
            "description": "Output aspect ratio."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "seed": {
            "type": "integer",
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        }
      }
    },
    "qwen-image/remix-image": {
      "model": "Qwen Image",
      "endpoint": "remix_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-image-remix-image"
      ],
      "fields_by_model": {
        "qwen-image-remix-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Prompt describing the requested remix."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public HTTPS source image URL (JPEG, PNG, or WebP; maximum 10 MB)."
          },
          "strength": {
            "type": "number",
            "max": 1,
            "min": 0,
            "default": 0.8,
            "description": "Creative deviation from the source image, from 0 (faithful) to 1 (creative)."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "seed": {
            "type": "integer",
            "description": "Integer seed for reproducible results."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        }
      }
    },
    "qwen-image/text-to-image": {
      "model": "Qwen Image",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "qwen-image-text-to-image"
      ],
      "fields_by_model": {
        "qwen-image-text-to-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 1,
            "length": true,
            "required": true,
            "description": "Image generation prompt."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "3:4",
              "9:16",
              "4:3",
              "16:9"
            ],
            "default": "1:1",
            "description": "Output aspect ratio."
          },
          "seed": {
            "type": "integer",
            "description": "Integer seed for reproducible results."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png",
            "description": "Output image format."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          }
        }
      }
    },
    "recraft/remove-background": {
      "model": "Recraft",
      "endpoint": "remove_background",
      "task_type": "asynchronous",
      "models": [
        "recraft-remove-background"
      ],
      "fields_by_model": {
        "recraft-remove-background": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "recraft/upscale-image": {
      "model": "Recraft",
      "endpoint": "upscale_image",
      "task_type": "asynchronous",
      "models": [
        "recraft-crisp-upscale"
      ],
      "fields_by_model": {
        "recraft-crisp-upscale": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "runway-aleph/edit-video": {
      "model": "Runway Aleph",
      "endpoint": "edit_video",
      "task_type": "asynchronous",
      "models": [
        "runway-aleph"
      ],
      "fields_by_model": {
        "runway-aleph": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "source_video_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "watermark": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "4:3",
              "3:4",
              "1:1",
              "21:9"
            ]
          },
          "seed": {
            "type": "integer"
          },
          "reference_image_url": {
            "type": "string"
          }
        }
      }
    },
    "runway/extend-video": {
      "model": "Runway",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [
        "runway"
      ],
      "fields_by_model": {
        "runway": {
          "model": {
            "type": "string"
          },
          "source_task_id": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "required": true
          },
          "watermark": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "runway/text-to-video": {
      "model": "Runway",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "runway"
      ],
      "rules": [
        {
          "when": {
            "first_frame_image_url": {
              "present": false
            }
          },
          "required": [
            "aspect_ratio"
          ]
        },
        {
          "when": {
            "first_frame_image_url": {
              "present": true
            }
          },
          "forbidden": [
            "aspect_ratio"
          ]
        }
      ],
      "fields_by_model": {
        "runway": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "required": true
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "required": true
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "watermark": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "seedance/text-to-video": {
      "model": "Seedance",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "seedance-1.5-pro",
        "seedance-2-mini",
        "seedance-2.0",
        "seedance-2.0-fast",
        "seedance-2.5",
        "seedance-v1-pro",
        "seedance-v1-pro-fast"
      ],
      "rules": [
        {
          "enum": {
            "aspect_ratio": [
              "auto"
            ]
          },
          "when": {
            "model": "seedance-2.5",
            "first_frame_image_url": {
              "present": true
            }
          },
          "forbidden": [
            "reference_image_urls",
            "reference_video_urls",
            "reference_audio_urls"
          ]
        },
        {
          "when": {
            "model": "seedance-2.5",
            "last_frame_image_url": {
              "present": true
            }
          },
          "required": [
            "first_frame_image_url"
          ],
          "forbidden": [
            "reference_image_urls",
            "reference_video_urls",
            "reference_audio_urls"
          ]
        },
        {
          "when": {
            "model": "seedance-1.5-pro"
          },
          "forbidden": [
            "first_frame_image_url",
            "last_frame_image_url",
            "reference_image_urls",
            "reference_video_urls",
            "reference_audio_urls",
            "web_search",
            "return_last_frame",
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedance-2-mini"
          },
          "forbidden": [
            "source_image_urls",
            "lock_camera",
            "seed",
            "enable_safety_checker",
            "return_last_frame",
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedance-2.0"
          },
          "forbidden": [
            "source_image_urls",
            "lock_camera",
            "seed",
            "return_last_frame",
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedance-2.0-fast"
          },
          "forbidden": [
            "source_image_urls",
            "lock_camera",
            "seed",
            "return_last_frame",
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedance-2.5"
          },
          "forbidden": [
            "source_image_urls",
            "lock_camera",
            "seed"
          ]
        },
        {
          "when": {
            "model": "seedance-v1-pro"
          },
          "forbidden": [
            "source_image_urls",
            "last_frame_image_url",
            "reference_image_urls",
            "reference_video_urls",
            "reference_audio_urls",
            "web_search",
            "generate_audio",
            "return_last_frame",
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedance-v1-pro-fast"
          },
          "forbidden": [
            "aspect_ratio",
            "source_image_urls",
            "lock_camera",
            "last_frame_image_url",
            "reference_image_urls",
            "reference_video_urls",
            "reference_audio_urls",
            "web_search",
            "generate_audio",
            "return_last_frame",
            "output_format"
          ]
        }
      ],
      "fields_by_model": {
        "seedance-1.5-pro": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "max": 12,
            "min": 4,
            "required": true
          },
          "generate_audio": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "source_image_urls": {
            "type": "array",
            "max_items": 2
          },
          "lock_camera": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": -1
          }
        },
        "seedance-2-mini": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 4,
            "default": 5
          },
          "generate_audio": {
            "type": "boolean"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 9
          },
          "reference_video_urls": {
            "type": "array",
            "max_items": 3
          },
          "reference_audio_urls": {
            "type": "array",
            "max_items": 3
          },
          "web_search": {
            "type": "boolean"
          }
        },
        "seedance-2.0": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p",
              "4k"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 4,
            "default": 5
          },
          "generate_audio": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 9
          },
          "reference_video_urls": {
            "type": "array",
            "max_items": 3
          },
          "reference_audio_urls": {
            "type": "array",
            "max_items": 3
          },
          "web_search": {
            "type": "boolean"
          }
        },
        "seedance-2.0-fast": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9",
              "auto"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "max": 15,
            "min": 4,
            "default": 5
          },
          "generate_audio": {
            "type": "boolean"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 9
          },
          "reference_video_urls": {
            "type": "array",
            "max_items": 3
          },
          "reference_audio_urls": {
            "type": "array",
            "max_items": 3
          },
          "web_search": {
            "type": "boolean"
          }
        },
        "seedance-2.5": {
          "prompt": {
            "type": "string",
            "max": 30000,
            "min": 3,
            "length": true,
            "required": true,
            "description": "Video generation prompt."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "RunAPI model identifier."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for asynchronous task updates."
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9",
              "auto"
            ],
            "default": "auto",
            "description": "Output aspect ratio; auto lets RunAPI select it."
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p"
            ],
            "default": "720p",
            "description": "Output video resolution."
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              -1,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25,
              26,
              27,
              28,
              29,
              30
            ],
            "default": 5,
            "description": "Video duration in seconds; -1 selects duration automatically."
          },
          "generate_audio": {
            "type": "boolean",
            "default": true,
            "description": "Whether to generate synchronized audio."
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Whether RunAPI checks generated content for safety."
          },
          "return_last_frame": {
            "type": "boolean",
            "default": false,
            "description": "Whether to return the generated video's last frame."
          },
          "output_format": {
            "type": "string",
            "enum": [
              "mp4",
              "mov"
            ],
            "default": "mp4",
            "description": "Output video container format."
          },
          "first_frame_image_url": {
            "type": "string",
            "description": "Public first-frame image URL for frame-guided generation."
          },
          "last_frame_image_url": {
            "type": "string",
            "description": "Public last-frame image URL; requires first_frame_image_url."
          },
          "reference_image_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 30,
            "description": "Public reference image URLs; up to 30 images."
          },
          "reference_video_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 10,
            "description": "Public reference video URLs; up to 10 videos."
          },
          "reference_audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "max_items": 10,
            "description": "Public reference audio URLs; up to 10 audio files."
          },
          "web_search": {
            "type": "boolean",
            "description": "Whether to enrich the prompt with web search."
          }
        },
        "seedance-v1-pro": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "21:9"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p",
              "1080p"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "required": true
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "lock_camera": {
            "type": "boolean"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "seed": {
            "type": "integer"
          }
        },
        "seedance-v1-pro-fast": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10
            ],
            "required": true
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "seed": {
            "type": "integer",
            "max": 2147483647,
            "min": -1
          }
        }
      }
    },
    "seedream/decompose-layers": {
      "model": "Seedream",
      "endpoint": "decompose_layers",
      "task_type": "asynchronous",
      "models": [
        "seedream-5-pro-layer-decomposition"
      ],
      "fields_by_model": {
        "seedream-5-pro-layer-decomposition": {
          "model": {
            "type": "string"
          },
          "image_url": {
            "type": "string",
            "pattern": "^https?://",
            "required": true,
            "description": "Exactly one public PNG, JPEG, WebP, BMP, TIFF, or GIF image URL; HEIC and HEIF are unsupported. Maximum 30 MB, 262,144-36,000,000 total pixels, and aspect ratio 1:16-16:1."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Optional instructions describing which elements to separate."
          },
          "size": {
            "type": "string",
            "enum": [
              "auto",
              "1K",
              "1.5K",
              "2K"
            ],
            "default": "auto"
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "jpeg",
            "description": "Base image format. Separated layers are PNG."
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "seedream/edit-image": {
      "model": "Seedream",
      "endpoint": "edit_image",
      "task_type": "asynchronous",
      "models": [
        "seedream-4.5-edit",
        "seedream-5-lite-edit",
        "seedream-5-pro-edit",
        "seedream-v4-edit"
      ],
      "rules": [
        {
          "when": {
            "model": "seedream-4.5-edit"
          },
          "forbidden": [
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedream-5-pro-edit"
          },
          "forbidden": [
            "output_resolution",
            "output_count",
            "seed"
          ]
        },
        {
          "when": {
            "model": "seedream-v4-edit"
          },
          "forbidden": [
            "output_format"
          ]
        }
      ],
      "fields_by_model": {
        "seedream-4.5-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high"
            ],
            "required": true
          },
          "output_format": {
            "type": "string"
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 14,
            "min_items": 1
          },
          "output_resolution": {
            "type": "string"
          },
          "output_count": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-5-lite-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high",
              "ultra"
            ],
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png"
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 14,
            "min_items": 1
          },
          "output_resolution": {
            "type": "string"
          },
          "output_count": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-5-pro-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high"
            ],
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png"
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 10,
            "min_items": 1
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-v4-edit": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "3:2",
              "2:3",
              "16:9",
              "9:16",
              "21:9"
            ]
          },
          "output_quality": {
            "type": "string"
          },
          "output_format": {
            "type": "string"
          },
          "source_image_urls": {
            "type": "array",
            "required": true,
            "max_items": 10,
            "min_items": 1
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "seedream/text-to-image": {
      "model": "Seedream",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "seedream-4.5-text-to-image",
        "seedream-5-lite-text-to-image",
        "seedream-5-pro-text-to-image",
        "seedream-v4-text-to-image"
      ],
      "rules": [
        {
          "when": {
            "model": "seedream-4.5-text-to-image"
          },
          "forbidden": [
            "output_format"
          ]
        },
        {
          "when": {
            "model": "seedream-5-pro-text-to-image"
          },
          "forbidden": [
            "output_resolution",
            "output_count",
            "seed"
          ]
        },
        {
          "when": {
            "model": "seedream-v4-text-to-image"
          },
          "forbidden": [
            "output_format"
          ]
        }
      ],
      "fields_by_model": {
        "seedream-4.5-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high"
            ],
            "required": true
          },
          "output_format": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string"
          },
          "output_count": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-5-lite-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high",
              "ultra"
            ],
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png"
          },
          "output_resolution": {
            "type": "string"
          },
          "output_count": {
            "type": "integer"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-5-pro-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "min": 3,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16",
              "2:3",
              "3:2",
              "21:9"
            ],
            "required": true
          },
          "output_quality": {
            "type": "string",
            "enum": [
              "basic",
              "high"
            ],
            "required": true
          },
          "output_format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ],
            "default": "png"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        },
        "seedream-v4-text-to-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "3:2",
              "2:3",
              "16:9",
              "9:16",
              "21:9"
            ]
          },
          "output_quality": {
            "type": "string"
          },
          "output_format": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "output_count": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "suno/add-instrumental": {
      "model": "Suno",
      "endpoint": "add_instrumental",
      "task_type": "asynchronous",
      "models": [
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to add instrumentation to."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "negative_tags": {
            "type": "string",
            "required": true,
            "description": "Styles to avoid."
          },
          "tags": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style or genre tags."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to add instrumentation to."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "negative_tags": {
            "type": "string",
            "required": true,
            "description": "Styles to avoid."
          },
          "tags": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style or genre tags."
          }
        },
        "suno-v5.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to add instrumentation to."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "negative_tags": {
            "type": "string",
            "required": true,
            "description": "Styles to avoid."
          },
          "tags": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style or genre tags."
          }
        }
      }
    },
    "suno/add-samples": {
      "model": "Suno",
      "endpoint": "add_samples",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v4": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5-plus": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/add-vocals": {
      "model": "Suno",
      "endpoint": "add_vocals",
      "task_type": "asynchronous",
      "models": [
        "suno-v4.5-plus",
        "suno-v5"
      ],
      "fields_by_model": {
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to add vocals to."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Vocal lyrics to sing."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "negative_tags": {
            "type": "string",
            "required": true,
            "description": "Styles to avoid."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style preset."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to add vocals to."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Vocal lyrics to sing."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "negative_tags": {
            "type": "string",
            "required": true,
            "description": "Styles to avoid."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style preset."
          }
        }
      }
    },
    "suno/audio-exports": {
      "model": "Suno",
      "endpoint": "convert_audio",
      "task_type": "asynchronous",
      "models": [],
      "path": "/api/v1/audio_exports",
      "fields_by_model": {
        "_": {
          "source_audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio id within the source Task, or a RunAPI audio resource id returned by a previous request."
          },
          "source_task_id": {
            "type": "string",
            "description": "RunAPI Task id that produced the audio. Required when the audio id alone does not identify the source."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/blend-lyrics": {
      "model": "Suno",
      "endpoint": "blend_lyrics",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "lyrics_a": {
            "type": "string",
            "required": true,
            "description": "First lyrics text to blend."
          },
          "lyrics_b": {
            "type": "string",
            "required": true,
            "description": "Second lyrics text to blend."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/boost-style": {
      "model": "Suno",
      "endpoint": "boost_style",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "description": {
            "type": "string",
            "required": true,
            "description": "Style description to expand into genre tags."
          }
        }
      }
    },
    "suno/check-voice": {
      "model": "Suno",
      "endpoint": "check_voice",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Custom voice task ID to check."
          }
        }
      }
    },
    "suno/convert-audio": {
      "model": "Suno",
      "endpoint": "convert_audio",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/cover-audio": {
      "model": "Suno",
      "endpoint": "cover_audio",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-all",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5",
        "suno-v6",
        "suno-v6-mini",
        "suno-v6-wild"
      ],
      "rules": [
        {
          "when": {
            "vocal_mode": "auto_lyrics"
          },
          "required": [
            "prompt"
          ],
          "forbidden": [
            "lyrics",
            "style",
            "title"
          ]
        },
        {
          "when": {
            "vocal_mode": "exact_lyrics"
          },
          "required": [
            "lyrics",
            "style",
            "title"
          ],
          "forbidden": [
            "prompt"
          ]
        },
        {
          "when": {
            "vocal_mode": "instrumental"
          },
          "required": [
            "style",
            "title"
          ],
          "forbidden": [
            "prompt",
            "lyrics"
          ]
        }
      ],
      "fields_by_model": {
        "suno-v4": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5-all": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v5.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6-mini": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6-wild": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to cover."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Cover brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact cover lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        }
      }
    },
    "suno/create-mashup": {
      "model": "Suno",
      "endpoint": "create_mashup",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-all",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5",
        "suno-v6",
        "suno-v6-mini",
        "suno-v6-wild"
      ],
      "rules": [
        {
          "when": {
            "vocal_mode": "auto_lyrics"
          },
          "required": [
            "prompt"
          ],
          "forbidden": [
            "lyrics",
            "style",
            "title"
          ]
        },
        {
          "when": {
            "vocal_mode": "exact_lyrics"
          },
          "required": [
            "lyrics",
            "style",
            "title"
          ],
          "forbidden": [
            "prompt"
          ]
        },
        {
          "when": {
            "vocal_mode": "instrumental"
          },
          "required": [
            "style",
            "title"
          ],
          "forbidden": [
            "prompt",
            "lyrics"
          ]
        }
      ],
      "fields_by_model": {
        "suno-v4": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v4.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v4.5-all": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v5.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v6": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v6-mini": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        },
        "suno-v6-wild": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "upload_url_list": {
            "type": "array",
            "required": true,
            "max_items": 2,
            "min_items": 2,
            "description": "Two audio URLs to mashup."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Mashup brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact mashup lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          }
        }
      }
    },
    "suno/extend-music": {
      "model": "Suno",
      "endpoint": "extend_music",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-all",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5",
        "suno-v6",
        "suno-v6-mini",
        "suno-v6-wild"
      ],
      "fields_by_model": {
        "suno-v4": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5-all": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v5.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6-mini": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        },
        "suno-v6-wild": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "task_id": {
            "type": "string",
            "description": "Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_id": {
            "type": "string",
            "description": "Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "audio_url": {
            "type": "string",
            "description": "Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
          },
          "parameter_mode": {
            "type": "string",
            "enum": [
              "source",
              "custom"
            ],
            "required": true,
            "description": "Inherit the source track's parameters (source) or supply custom ones (custom)."
          },
          "instrumental": {
            "type": "boolean",
            "description": "When true, generate without vocals."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Extension brief. Cannot be combined with lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Style preset. Required in custom parameter mode."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Song title. Required in custom parameter mode."
          },
          "continue_at": {
            "type": "number",
            "description": "Seconds into the source to continue from. Required in custom parameter mode."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          }
        }
      }
    },
    "suno/generate-artwork": {
      "model": "Suno",
      "endpoint": "generate_artwork",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source music task ID."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/generate-lyrics": {
      "model": "Suno",
      "endpoint": "generate_lyrics",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Lyrics generation prompt."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/generate-midi": {
      "model": "Suno",
      "endpoint": "generate_midi",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/generate-persona": {
      "model": "Suno",
      "endpoint": "generate_persona",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID with reference vocals."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "name": {
            "type": "string",
            "required": true,
            "description": "Persona name."
          },
          "description": {
            "type": "string",
            "required": true,
            "description": "Persona description."
          }
        }
      }
    },
    "suno/generate-voice": {
      "model": "Suno",
      "endpoint": "generate_voice",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Prior validation phrase task ID."
          },
          "verify_url": {
            "type": "string",
            "required": true,
            "description": "User recording URL of the validation phrase."
          },
          "voice_name": {
            "type": "string",
            "description": "Custom voice display name."
          },
          "description": {
            "type": "string",
            "description": "Custom voice description."
          },
          "style": {
            "type": "string",
            "description": "Style preset."
          },
          "singer_skill_level": {
            "type": "string",
            "enum": [
              "beginner",
              "intermediate",
              "advanced",
              "professional"
            ],
            "description": "Singer skill level."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/get-timestamped-lyrics": {
      "model": "Suno",
      "endpoint": "get_timestamped_lyrics",
      "task_type": "synchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          }
        }
      }
    },
    "suno/inspire-music": {
      "model": "Suno",
      "endpoint": "inspire_music",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v4": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 4,
            "min_items": 1,
            "description": "One to four audio URLs that guide the new music."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 4,
            "min_items": 1,
            "description": "One to four audio URLs that guide the new music."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5-plus": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 4,
            "min_items": 1,
            "description": "One to four audio URLs that guide the new music."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 4,
            "min_items": 1,
            "description": "One to four audio URLs that guide the new music."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "max_items": 4,
            "min_items": 1,
            "description": "One to four audio URLs that guide the new music."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/music-from-sample": {
      "model": "Suno",
      "endpoint": "add_samples",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "path": "/api/v1/music_from_sample",
      "fields_by_model": {
        "suno-v4": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5-plus": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "audio_url": {
            "type": "string",
            "required": true,
            "description": "URL of the audio file to sample."
          },
          "prompt": {
            "type": "string",
            "description": "Optional description of the sample to add."
          },
          "start_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "Start of the sample range in seconds."
          },
          "end_seconds": {
            "type": "number",
            "min": 0,
            "required": true,
            "description": "End of the sample range in seconds; must exceed start_seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/music-visualizations": {
      "model": "Suno",
      "endpoint": "visualize_music",
      "task_type": "asynchronous",
      "models": [],
      "path": "/api/v1/music_visualizations",
      "fields_by_model": {
        "_": {
          "source_audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio id within the source Task, or a RunAPI audio resource id returned by a previous request."
          },
          "source_task_id": {
            "type": "string",
            "description": "RunAPI Task id that produced the audio. Required when the audio id alone does not identify the source."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "author": {
            "type": "string",
            "description": "Author name shown in the video."
          },
          "domain_name": {
            "type": "string",
            "description": "Domain name watermark."
          }
        }
      }
    },
    "suno/personas": {
      "model": "Suno",
      "endpoint": "generate_persona",
      "task_type": "synchronous",
      "models": [],
      "path": "/api/v1/personas",
      "fields_by_model": {
        "_": {
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "RunAPI Task id that produced the reference audio."
          },
          "source_audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio id within the source Task that carries the reference vocals."
          },
          "name": {
            "type": "string",
            "required": true,
            "description": "Persona name."
          },
          "description": {
            "type": "string",
            "required": true,
            "description": "Persona description."
          }
        }
      }
    },
    "suno/regenerate-validation-phrase": {
      "model": "Suno",
      "endpoint": "regenerate_validation_phrase",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Prior validation phrase task ID."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/remaster-audio": {
      "model": "Suno",
      "endpoint": "remaster_audio",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v4": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5-plus": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/replace-section": {
      "model": "Suno",
      "endpoint": "replace_section",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "description": "Source task ID. Use with audio_id; do not combine with upload_url/model."
          },
          "audio_id": {
            "type": "string",
            "description": "Audio ID within the source task. Use with task_id; do not combine with upload_url/model."
          },
          "upload_url": {
            "type": "string",
            "description": "Uploaded source audio URL. Use with model; do not combine with task_id/audio_id."
          },
          "model": {
            "type": "string",
            "enum": [
              "suno-v6",
              "suno-v6-wild",
              "suno-v6-mini",
              "suno-v4",
              "suno-v4.5",
              "suno-v4.5-all",
              "suno-v4.5-plus",
              "suno-v5",
              "suno-v5.5"
            ],
            "description": "Model slug for uploaded source audio."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Replacement section lyrics."
          },
          "tags": {
            "type": "string",
            "max": 1000,
            "length": true,
            "required": true,
            "description": "Style or genre tags."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "required": true,
            "description": "Song title."
          },
          "infill_start_time": {
            "type": "number",
            "required": true,
            "description": "Section start time in seconds; the replacement duration must be at least 10 seconds."
          },
          "infill_end_time": {
            "type": "number",
            "required": true,
            "description": "Section end time in seconds; must be greater than infill_start_time and produce a replacement duration of at least 10 seconds."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "full_lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "required": true,
            "description": "Complete song lyrics for context."
          }
        }
      }
    },
    "suno/separate-audio-stems": {
      "model": "Suno",
      "endpoint": "separate_audio_stems",
      "task_type": "asynchronous",
      "models": [],
      "rules": [
        {
          "when": {
            "type": "split_stem_advanced"
          },
          "required": [
            "stem_name"
          ]
        }
      ],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "type": {
            "type": "string",
            "enum": [
              "separate_vocal",
              "split_stem",
              "split_stem_advanced"
            ],
            "default": "separate_vocal",
            "description": "Stem separation mode."
          },
          "stem_name": {
            "type": "string",
            "enum": [
              "Lead Vocal",
              "Drum Kit",
              "Kick",
              "Snare",
              "Risers",
              "Bass",
              "Backing Vocals",
              "Piano",
              "Electric Guitar",
              "Percussion",
              "String Section",
              "Synth",
              "Acoustic Guitar",
              "Sound Effects",
              "Synth Pad",
              "Synth Bass",
              "Guitar",
              "Brass Section",
              "Organ",
              "Electronic Drum Kit",
              "Lead Electric Guitar",
              "Synth Keys",
              "Rhythm Electric Guitar",
              "Electric Piano",
              "Upright Bass",
              "Keyboards",
              "Distorted Electric Guitar",
              "Synth Strings",
              "Synth Lead",
              "Woodwinds",
              "Rhythm Acoustic Guitar",
              "Flute",
              "Harp",
              "Tambourine",
              "Trumpet",
              "Arpeggiator",
              "Accordion",
              "Fiddle",
              "Pedal Steel Guitar",
              "Synth Voice",
              "Violin",
              "Digital Piano",
              "Synth Brass",
              "Mandolin",
              "Choir",
              "Banjo",
              "Bells",
              "Clarinet",
              "Tenor Saxophone",
              "Trombone",
              "Shaker",
              "French Horn",
              "Glockenspiel",
              "Electric Bass",
              "Cello",
              "Timpani",
              "Harmonica",
              "Marimba",
              "Vibraphone",
              "Lap Steel Guitar",
              "Saxophone",
              "Orchestra",
              "Horns",
              "Cymbals",
              "Hand Clap",
              "Oboe",
              "Celesta",
              "Congas",
              "Drone",
              "Alto Saxophone",
              "Double Bass",
              "Ukulele",
              "Harpsichord",
              "Baritone Saxophone",
              "Xylophone",
              "Tuba",
              "Bass Guitar",
              "Whistle",
              "Lead Guitar",
              "Rhodes",
              "808",
              "Bongos",
              "Bassoon",
              "Cowbell",
              "Viola",
              "Sitar",
              "Steel Drums",
              "Piccolo",
              "Theremin",
              "Bagpipes",
              "Hi-Hat",
              "Music Box",
              "Melodica",
              "Tabla",
              "Koto",
              "Djembe",
              "Taiko",
              "Didgeridoo"
            ],
            "description": "Target stem for advanced separation. Required when type is split_stem_advanced."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/stitch-audio": {
      "model": "Suno",
      "endpoint": "stitch_audio",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v4": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v4.5-plus": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_task_id": {
            "type": "string",
            "required": true,
            "description": "Completed source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/style-expansions": {
      "model": "Suno",
      "endpoint": "boost_style",
      "task_type": "synchronous",
      "models": [],
      "path": "/api/v1/style_expansions",
      "fields_by_model": {
        "_": {
          "description": {
            "type": "string",
            "required": true,
            "description": "Style description to expand into genre tags."
          }
        }
      }
    },
    "suno/text-to-music": {
      "model": "Suno",
      "endpoint": "text_to_music",
      "task_type": "asynchronous",
      "models": [
        "suno-v4",
        "suno-v4.5",
        "suno-v4.5-all",
        "suno-v4.5-plus",
        "suno-v5",
        "suno-v5.5",
        "suno-v6",
        "suno-v6-mini",
        "suno-v6-wild"
      ],
      "rules": [
        {
          "when": {
            "vocal_mode": "auto_lyrics"
          },
          "required": [
            "prompt"
          ],
          "forbidden": [
            "lyrics",
            "style",
            "title",
            "negative_tags",
            "vocal_gender",
            "duration_seconds"
          ]
        },
        {
          "when": {
            "vocal_mode": "exact_lyrics"
          },
          "required": [
            "lyrics",
            "style",
            "title"
          ],
          "forbidden": [
            "prompt"
          ]
        },
        {
          "when": {
            "vocal_mode": "instrumental"
          },
          "required": [
            "style",
            "title"
          ],
          "forbidden": [
            "prompt",
            "lyrics",
            "vocal_gender"
          ]
        },
        {
          "when": {
            "model": "suno-v4"
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "model": "suno-v4.5"
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "model": "suno-v4.5-all"
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "model": "suno-v4.5-plus"
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "model": "suno-v5"
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "voice_id": {
              "present": true
            }
          },
          "forbidden": [
            "persona_id",
            "persona_type"
          ]
        }
      ],
      "fields_by_model": {
        "suno-v4": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v4.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v4.5-all": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v4.5-plus": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v5.5": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v6": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v6-mini": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        },
        "suno-v6-wild": {
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "vocal_gender": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "description": "Vocal gender."
          },
          "style_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Style adherence weight (0-1)."
          },
          "weirdness_constraint": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Weirdness constraint (0-1)."
          },
          "audio_weight": {
            "type": "number",
            "max": 1,
            "min": 0,
            "description": "Audio weight (0-1)."
          },
          "vocal_mode": {
            "type": "string",
            "enum": [
              "auto_lyrics",
              "exact_lyrics",
              "instrumental"
            ],
            "required": true,
            "description": "Vocal generation mode."
          },
          "prompt": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Song brief for automatic lyrics."
          },
          "lyrics": {
            "type": "string",
            "max": 5000,
            "length": true,
            "description": "Exact lyrics to sing."
          },
          "style": {
            "type": "string",
            "max": 1000,
            "length": true,
            "description": "Music style."
          },
          "title": {
            "type": "string",
            "max": 80,
            "length": true,
            "description": "Music title."
          },
          "negative_tags": {
            "type": "string",
            "description": "Styles to avoid."
          },
          "persona_id": {
            "type": "string",
            "description": "Persona ID."
          },
          "persona_type": {
            "type": "string",
            "enum": [
              "style",
              "voice"
            ],
            "description": "Persona type."
          },
          "voice_id": {
            "type": "string",
            "description": "RunAPI Voice handle."
          },
          "duration_seconds": {
            "type": "integer",
            "max": 360,
            "min": 10,
            "description": "Preferred duration in seconds; only available for Suno V5.5 custom requests."
          },
          "continue_at": {
            "type": "number",
            "description": "Timestamp in seconds to continue from."
          }
        }
      }
    },
    "suno/text-to-sound": {
      "model": "Suno",
      "endpoint": "text_to_sound",
      "task_type": "asynchronous",
      "models": [
        "suno-v5",
        "suno-v5.5"
      ],
      "fields_by_model": {
        "suno-v5": {
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Sound description (max 500 characters)."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "sound_loop": {
            "type": "boolean",
            "description": "When true, produce loopable audio. Default false."
          },
          "sound_tempo": {
            "type": "integer",
            "description": "Tempo in BPM (1-300)."
          },
          "sound_key": {
            "type": "string",
            "enum": [
              "Cm",
              "C#m",
              "Dm",
              "D#m",
              "Em",
              "Fm",
              "F#m",
              "Gm",
              "G#m",
              "Am",
              "A#m",
              "Bm",
              "C",
              "C#",
              "D",
              "D#",
              "E",
              "F",
              "F#",
              "G",
              "G#",
              "A",
              "A#",
              "B"
            ],
            "description": "Musical key."
          },
          "grab_lyrics": {
            "type": "boolean",
            "description": "Capture lyric subtitles. Default false."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        },
        "suno-v5.5": {
          "prompt": {
            "type": "string",
            "required": true,
            "description": "Sound description (max 500 characters)."
          },
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "sound_loop": {
            "type": "boolean",
            "description": "When true, produce loopable audio. Default false."
          },
          "sound_tempo": {
            "type": "integer",
            "description": "Tempo in BPM (1-300)."
          },
          "sound_key": {
            "type": "string",
            "enum": [
              "Cm",
              "C#m",
              "Dm",
              "D#m",
              "Em",
              "Fm",
              "F#m",
              "Gm",
              "G#m",
              "Am",
              "A#m",
              "Bm",
              "C",
              "C#",
              "D",
              "D#",
              "E",
              "F",
              "F#",
              "G",
              "G#",
              "A",
              "A#",
              "B"
            ],
            "description": "Musical key."
          },
          "grab_lyrics": {
            "type": "boolean",
            "description": "Capture lyric subtitles. Default false."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/timestamped-lyrics": {
      "model": "Suno",
      "endpoint": "get_timestamped_lyrics",
      "task_type": "synchronous",
      "models": [],
      "path": "/api/v1/timestamped_lyrics",
      "fields_by_model": {
        "_": {
          "source_audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio id within the source Task, or a RunAPI audio resource id returned by a previous request."
          },
          "source_task_id": {
            "type": "string",
            "description": "RunAPI Task id that produced the audio. Required when the audio id alone does not identify the source."
          }
        }
      }
    },
    "suno/visualize-music": {
      "model": "Suno",
      "endpoint": "visualize_music",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "task_id": {
            "type": "string",
            "required": true,
            "description": "Source task ID."
          },
          "audio_id": {
            "type": "string",
            "required": true,
            "description": "Audio ID within the source task."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          },
          "author": {
            "type": "string",
            "description": "Author name shown in the video."
          },
          "domain_name": {
            "type": "string",
            "description": "Domain name watermark."
          }
        }
      }
    },
    "suno/voice-to-validation-phrase": {
      "model": "Suno",
      "endpoint": "voice_to_validation_phrase",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "voice_url": {
            "type": "string",
            "required": true,
            "description": "Source voice recording URL."
          },
          "vocal_start_seconds": {
            "type": "integer",
            "required": true,
            "description": "Start time (seconds) of the source vocal segment."
          },
          "vocal_end_seconds": {
            "type": "integer",
            "required": true,
            "description": "End time (seconds) of the source vocal segment. Must be greater than vocal_start_seconds."
          },
          "language": {
            "type": "string",
            "enum": [
              "en",
              "zh",
              "es",
              "fr",
              "pt",
              "de",
              "ja",
              "ko",
              "hi",
              "ru"
            ],
            "description": "Language code."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for async notifications."
          }
        }
      }
    },
    "suno/voices": {
      "model": "Suno",
      "endpoint": "generate_voice",
      "task_type": "synchronous",
      "models": [],
      "path": "/api/v1/voices",
      "fields_by_model": {
        "_": {
          "source_audio_url": {
            "type": "string",
            "required": true,
            "description": "Public URL of the voice recording to clone."
          },
          "name": {
            "type": "string",
            "description": "Voice name."
          }
        }
      }
    },
    "topaz/upscale-image": {
      "model": "Topaz",
      "endpoint": "upscale_image",
      "task_type": "asynchronous",
      "models": [
        "topaz-upscale-image"
      ],
      "fields_by_model": {
        "topaz-upscale-image": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_image_url": {
            "type": "string",
            "required": true,
            "description": "Public source image URL."
          },
          "upscale_factor": {
            "type": "integer",
            "enum": [
              1,
              2,
              4
            ],
            "required": true,
            "description": "Image upscale multiplier."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          }
        }
      }
    },
    "topaz/upscale-video": {
      "model": "Topaz",
      "endpoint": "upscale_video",
      "task_type": "asynchronous",
      "models": [
        "topaz-upscale-video"
      ],
      "fields_by_model": {
        "topaz-upscale-video": {
          "model": {
            "type": "string",
            "required": true,
            "description": "Model slug."
          },
          "source_video_url": {
            "type": "string",
            "required": true,
            "description": "Public source video URL."
          },
          "upscale_factor": {
            "type": "integer",
            "enum": [
              1,
              2,
              4
            ],
            "default": 2,
            "description": "Video upscale multiplier."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL for terminal Task delivery."
          }
        }
      }
    },
    "veo-3-1/extend-video": {
      "model": "Veo 3.1",
      "endpoint": "extend_video",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "source_task_id": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string"
          },
          "seeds": {
            "type": "integer"
          },
          "watermark": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "veo-3-1/text-to-video": {
      "model": "Veo 3.1",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "veo-3.1",
        "veo-3.1-fast",
        "veo-3.1-lite"
      ],
      "rules": [
        {
          "when": {
            "model": "veo-3.1-lite"
          },
          "forbidden": [
            "seeds",
            "output_resolution"
          ]
        },
        {
          "when": {
            "model": "veo-3.1-lite",
            "input_mode": "reference",
            "duration_seconds": 4
          },
          "forbidden": [
            "duration_seconds"
          ]
        },
        {
          "when": {
            "model": "veo-3.1-lite",
            "input_mode": "reference",
            "duration_seconds": 6
          },
          "forbidden": [
            "duration_seconds"
          ]
        }
      ],
      "fields_by_model": {
        "veo-3.1": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "input_mode": {
            "type": "string",
            "enum": [
              "text",
              "first_and_last_frames",
              "reference"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "auto"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              6,
              8
            ]
          },
          "seeds": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          },
          "enable_translation": {
            "type": "boolean"
          },
          "watermark": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 3,
            "min_items": 1
          }
        },
        "veo-3.1-fast": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "input_mode": {
            "type": "string",
            "enum": [
              "text",
              "first_and_last_frames",
              "reference"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "auto"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              6,
              8
            ]
          },
          "seeds": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          },
          "enable_translation": {
            "type": "boolean"
          },
          "watermark": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 3,
            "min_items": 1
          }
        },
        "veo-3.1-lite": {
          "prompt": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "input_mode": {
            "type": "string",
            "enum": [
              "text",
              "first_and_last_frames",
              "reference"
            ],
            "default": "text"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16"
            ]
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              4,
              6,
              8
            ]
          },
          "seeds": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          },
          "enable_translation": {
            "type": "boolean"
          },
          "watermark": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array",
            "max_items": 3,
            "min_items": 1
          }
        }
      }
    },
    "veo-3-1/upscale-video": {
      "model": "Veo 3.1",
      "endpoint": "upscale_video",
      "task_type": "asynchronous",
      "models": [],
      "fields_by_model": {
        "_": {
          "source_task_id": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1080p",
              "4k"
            ]
          },
          "index": {
            "type": "integer"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    },
    "volcengine-lip-sync/lip-sync-video": {
      "model": "Volcengine Lip Sync",
      "endpoint": "lip_sync_video",
      "task_type": "asynchronous",
      "models": [
        "volcengine-lip-sync"
      ],
      "rules": [
        {
          "when": {
            "mode": "lite"
          },
          "forbidden": [
            "enable_scene_detection"
          ]
        },
        {
          "when": {
            "mode": "basic"
          },
          "forbidden": [
            "align_audio",
            "align_audio_reverse",
            "template_start_seconds"
          ]
        },
        {
          "when": {
            "align_audio_reverse": true
          },
          "required": [
            "align_audio"
          ]
        }
      ],
      "fields_by_model": {
        "volcengine-lip-sync": {
          "model": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "lite",
              "basic"
            ],
            "required": true
          },
          "source_video_url": {
            "type": "string",
            "required": true
          },
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "enable_vocal_separation": {
            "type": "boolean"
          },
          "enable_scene_detection": {
            "type": "boolean"
          },
          "align_audio": {
            "type": "boolean"
          },
          "align_audio_reverse": {
            "type": "boolean"
          },
          "template_start_seconds": {
            "type": "number",
            "min": 0
          }
        }
      }
    },
    "wan/animate": {
      "model": "Wan",
      "endpoint": "animate",
      "task_type": "asynchronous",
      "models": [
        "wan-2.2-animate-move",
        "wan-2.2-animate-replace"
      ],
      "fields_by_model": {
        "wan-2.2-animate-move": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "reference_video_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "580p",
              "720p"
            ]
          },
          "enable_safety_checker": {
            "type": "boolean"
          }
        },
        "wan-2.2-animate-replace": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "reference_video_url": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "580p",
              "720p"
            ]
          },
          "enable_safety_checker": {
            "type": "boolean"
          }
        }
      }
    },
    "wan/edit-video": {
      "model": "Wan",
      "endpoint": "edit_video",
      "task_type": "asynchronous",
      "models": [
        "wan-2.6-edit-video",
        "wan-2.6-flash-edit-video",
        "wan-2.7-edit-video"
      ],
      "rules": [
        {
          "when": {
            "model": "wan-2.7-edit-video"
          },
          "forbidden": [
            "multi_shots"
          ]
        }
      ],
      "fields_by_model": {
        "wan-2.6-edit-video": {
          "model": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "source_video_urls": {
            "type": "array",
            "required": true
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "audio_setting": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean",
            "description": "Controls whether the generated video uses multiple shots with transitions instead of one continuous shot."
          }
        },
        "wan-2.6-flash-edit-video": {
          "model": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "source_video_urls": {
            "type": "array",
            "required": true
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "audio_setting": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean"
          }
        },
        "wan-2.7-edit-video": {
          "model": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string",
            "required": true
          },
          "source_video_urls": {
            "type": "array"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_url": {
            "type": "string"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "duration_seconds": {
            "type": "integer"
          },
          "audio_setting": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean",
            "description": "Enable the safety checker."
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean"
          }
        }
      }
    },
    "wan/image-to-video": {
      "model": "Wan",
      "endpoint": "image_to_video",
      "task_type": "asynchronous",
      "models": [
        "wan-2.2-a14b-image-to-video-turbo",
        "wan-2.5-image-to-video",
        "wan-2.6-flash-image-to-video",
        "wan-2.6-image-to-video",
        "wan-2.7-image-to-video"
      ],
      "rules": [
        {
          "when": {
            "model": "wan-2.2-a14b-image-to-video-turbo"
          },
          "forbidden": [
            "multi_shots"
          ]
        },
        {
          "when": {
            "model": "wan-2.5-image-to-video"
          },
          "forbidden": [
            "multi_shots"
          ]
        },
        {
          "when": {
            "model": "wan-2.6-flash-image-to-video"
          },
          "forbidden": [
            "seed"
          ]
        },
        {
          "when": {
            "model": "wan-2.6-image-to-video"
          },
          "forbidden": [
            "seed"
          ]
        },
        {
          "when": {
            "model": "wan-2.7-image-to-video"
          },
          "forbidden": [
            "multi_shots"
          ]
        }
      ],
      "fields_by_model": {
        "wan-2.2-a14b-image-to-video-turbo": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "720p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean"
          },
          "driving_audio_url": {
            "type": "string"
          },
          "background_audio_url": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          }
        },
        "wan-2.5-image-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "required": true
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean"
          },
          "driving_audio_url": {
            "type": "string"
          },
          "background_audio_url": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          }
        },
        "wan-2.6-flash-image-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "enum": [
              5,
              10,
              15
            ],
            "default": 5
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ],
            "default": "1080p"
          },
          "aspect_ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean",
            "required": true
          },
          "multi_shots": {
            "type": "boolean"
          },
          "driving_audio_url": {
            "type": "string"
          },
          "background_audio_url": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          }
        },
        "wan-2.6-image-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string",
            "required": true
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean",
            "description": "Controls whether the generated video uses multiple shots with transitions instead of one continuous shot."
          },
          "driving_audio_url": {
            "type": "string"
          },
          "background_audio_url": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          }
        },
        "wan-2.7-image-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "last_frame_image_url": {
            "type": "string"
          },
          "source_video_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "audio": {
            "type": "boolean"
          },
          "multi_shots": {
            "type": "boolean"
          },
          "driving_audio_url": {
            "type": "string"
          },
          "background_audio_url": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          }
        }
      }
    },
    "wan/speech-to-video": {
      "model": "Wan",
      "endpoint": "speech_to_video",
      "task_type": "asynchronous",
      "models": [
        "wan-2.2-a14b-speech-to-video-turbo"
      ],
      "fields_by_model": {
        "wan-2.2-a14b-speech-to-video-turbo": {
          "model": {
            "type": "string"
          },
          "source_image_url": {
            "type": "string",
            "required": true
          },
          "source_audio_url": {
            "type": "string",
            "required": true
          },
          "prompt": {
            "type": "string",
            "required": true
          },
          "callback_url": {
            "type": "string"
          },
          "num_frames": {
            "type": "integer"
          },
          "frames_per_second": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "580p",
              "720p"
            ]
          },
          "negative_prompt": {
            "type": "string"
          },
          "seed": {
            "type": "integer"
          },
          "num_inference_steps": {
            "type": "integer"
          },
          "guidance_scale": {
            "type": "number"
          },
          "shift": {
            "type": "number"
          },
          "enable_safety_checker": {
            "type": "boolean"
          }
        }
      }
    },
    "wan/text-to-image": {
      "model": "Wan",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "wan-2.7-image",
        "wan-2.7-image-pro"
      ],
      "fields_by_model": {
        "wan-2.7-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "4:3",
              "21:9",
              "3:4",
              "9:16",
              "8:1",
              "1:8"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "output_count": {
            "type": "integer"
          },
          "enable_sequential": {
            "type": "boolean"
          },
          "thinking_mode": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "source_image_urls": {
            "type": "array"
          },
          "color_palette": {
            "type": "array"
          },
          "bbox_list": {
            "type": "array"
          }
        },
        "wan-2.7-image-pro": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "16:9",
              "4:3",
              "21:9",
              "3:4",
              "9:16",
              "8:1",
              "1:8"
            ]
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "1k",
              "2k",
              "4k"
            ]
          },
          "output_count": {
            "type": "integer"
          },
          "enable_sequential": {
            "type": "boolean"
          },
          "thinking_mode": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "source_image_urls": {
            "type": "array"
          },
          "color_palette": {
            "type": "array"
          },
          "bbox_list": {
            "type": "array"
          }
        }
      }
    },
    "wan/text-to-video": {
      "model": "Wan",
      "endpoint": "text_to_video",
      "task_type": "asynchronous",
      "models": [
        "wan-2.2-a14b-text-to-video-turbo",
        "wan-2.5-text-to-video",
        "wan-2.6-text-to-video",
        "wan-2.7-r2v",
        "wan-2.7-text-to-video"
      ],
      "rules": [
        {
          "when": {
            "model": "wan-2.2-a14b-text-to-video-turbo"
          },
          "forbidden": [
            "multi_shots"
          ]
        },
        {
          "when": {
            "model": "wan-2.5-text-to-video"
          },
          "forbidden": [
            "multi_shots"
          ]
        },
        {
          "when": {
            "model": "wan-2.6-text-to-video"
          },
          "forbidden": [
            "seed"
          ]
        },
        {
          "when": {
            "model": "wan-2.7-r2v"
          },
          "forbidden": [
            "multi_shots"
          ]
        },
        {
          "when": {
            "model": "wan-2.7-text-to-video"
          },
          "forbidden": [
            "multi_shots"
          ]
        }
      ],
      "fields_by_model": {
        "wan-2.2-a14b-text-to-video-turbo": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "480p",
              "580p",
              "720p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "reference_video_urls": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "reference_audio_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "background_audio_url": {
            "type": "string"
          },
          "multi_shots": {
            "type": "boolean"
          }
        },
        "wan-2.5-text-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "reference_video_urls": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "reference_audio_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "background_audio_url": {
            "type": "string"
          },
          "multi_shots": {
            "type": "boolean"
          }
        },
        "wan-2.6-text-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "reference_video_urls": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "reference_audio_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "background_audio_url": {
            "type": "string"
          },
          "multi_shots": {
            "type": "boolean",
            "description": "Controls whether the generated video uses multiple shots with transitions instead of one continuous shot."
          }
        },
        "wan-2.7-r2v": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer",
            "max": 10,
            "min": 2,
            "default": 5
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:3",
              "3:4"
            ]
          },
          "ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "reference_video_urls": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "reference_audio_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "background_audio_url": {
            "type": "string"
          },
          "multi_shots": {
            "type": "boolean"
          }
        },
        "wan-2.7-text-to-video": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "duration_seconds": {
            "type": "integer"
          },
          "output_resolution": {
            "type": "string",
            "enum": [
              "720p",
              "1080p"
            ]
          },
          "aspect_ratio": {
            "type": "string"
          },
          "ratio": {
            "type": "string"
          },
          "negative_prompt": {
            "type": "string"
          },
          "reference_image_urls": {
            "type": "array"
          },
          "reference_video_urls": {
            "type": "array"
          },
          "first_frame_image_url": {
            "type": "string"
          },
          "reference_audio_url": {
            "type": "string"
          },
          "enable_prompt_expansion": {
            "type": "boolean"
          },
          "seed": {
            "type": "integer"
          },
          "acceleration": {
            "type": "string"
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "watermark": {
            "type": "boolean"
          },
          "background_audio_url": {
            "type": "string"
          },
          "multi_shots": {
            "type": "boolean"
          }
        }
      }
    },
    "z-image/text-to-image": {
      "model": "Z Image",
      "endpoint": "text_to_image",
      "task_type": "asynchronous",
      "models": [
        "z-image"
      ],
      "fields_by_model": {
        "z-image": {
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "max": 1000,
            "min": 1,
            "length": true,
            "required": true
          },
          "aspect_ratio": {
            "type": "string",
            "enum": [
              "1:1",
              "4:3",
              "3:4",
              "16:9",
              "9:16"
            ],
            "required": true
          },
          "enable_safety_checker": {
            "type": "boolean"
          },
          "callback_url": {
            "type": "string"
          }
        }
      }
    }
  }
}
