{
  "openapi": "3.0.3",
  "info": {
    "title": "MUMOO public API",
    "version": "1.0.0",
    "description": "MUMOO native sk API. External limits apply automatically in public mode. Reuse Idempotency-Key and the original exact payload for safe retries; omitting the key makes each call independent. Query /v1/mumoo/models for current model-specific capabilities, routes and account prices. Existing Canvas routing, model groups and billing are preserved. Async delivery uses polling."
  },
  "servers": [
    {
      "url": "https://api.mumoo.cc"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v1/models": {
      "get": {
        "summary": "List models accessible with this API key; inspect supported_endpoint_types",
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/mumoo/external-policy": {
      "get": {
        "summary": "Read external limits and idempotency policy for this native API key",
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/mumoo/billing-info": {
      "get": {
        "summary": "Read existing quota units and price catalog location; not a new quotation",
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/chat/completions": {
      "post": {
        "summary": "Text or streaming chat",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "messages"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "messages": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  },
                  "stream": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/responses": {
      "post": {
        "summary": "Responses-compatible generation",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "input"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "input": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": true
                        }
                      }
                    ]
                  },
                  "stream": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/images/generations": {
      "post": {
        "summary": "Image generation; supported sizes and reference options depend on model",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "prompt"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "size": {
                    "type": "string"
                  },
                  "n": {
                    "type": "integer",
                    "minimum": 1
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/audio/speech": {
      "post": {
        "summary": "Text to speech; voice and output format depend on model",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "input"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "input": {
                    "type": "string"
                  },
                  "voice": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/audio/generations": {
      "post": {
        "summary": "Asynchronous audio generation; model-specific parameters apply",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "prompt": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/videos": {
      "post": {
        "summary": "Compatible video task submission; check model support before using",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "seconds": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "size": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v2/videos/generations": {
      "post": {
        "summary": "Generic video task submission; do not infer every model supports every option",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "model"
                ],
                "properties": {
                  "model": {
                    "type": "string",
                    "description": "Use the exact id returned by /v1/models for this API key."
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "duration": {
                    "type": "number"
                  },
                  "ratio": {
                    "type": "string"
                  },
                  "resolution": {
                    "type": "string"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/videos/{task_id}": {
      "get": {
        "summary": "Read original video task in compatible video-object format",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter2"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v2/videos/generations/{task_id}": {
      "get": {
        "summary": "Read original video task in generic task format",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter2"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/images/generations/{task_id}": {
      "get": {
        "summary": "Read original asynchronous image task",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter2"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/audio/generations/{task_id}": {
      "get": {
        "summary": "Read original asynchronous audio task",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter2"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_1"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/videos/{task_id}/content": {
      "get": {
        "summary": "Download original completed video with authorization and optional byte range",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter2"
          },
          {
            "$ref": "#/components/parameters/Parameter3"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_5"
          },
          "206": {
            "$ref": "#/components/responses/Response206_6"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "416": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/mumoo/external-requests/{request_id}": {
      "get": {
        "summary": "Recover an enrolled key's original result without resubmitting",
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter4"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Response200_3"
          },
          "202": {
            "$ref": "#/components/responses/Response202_7"
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "410": {
            "$ref": "#/components/responses/Response410_8"
          },
          "413": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/mumoo/models": {
      "get": {
        "summary": "List published models, request schemas, capability ranges and prices accessible with this key",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/mumoo/models/{model_id}": {
      "get": {
        "summary": "Read one current model contract",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "model_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/mumoo/external-requests/{request_id}/status": {
      "get": {
        "summary": "Read original task outcome, native consumption and refunds; never generates",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/developers/status": {
      "get": {
        "summary": "Cached historical generation aggregates; not a live provider guarantee",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "security": []
      }
    },
    "/v1/completions": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/messages": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/embeddings": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/rerank": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/moderations": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/images/upscale": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/videos/upscale": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/suno/submit/{action}": {
      "post": {
        "summary": "Generate using the current model-specific protocol",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          },
          {
            "name": "action",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/images/edits": {
      "post": {
        "summary": "Image edit using supported model and multipart references",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "model",
                  "image"
                ],
                "properties": {
                  "model": {
                    "type": "string"
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "image": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/files": {
      "post": {
        "summary": "Upload a reference using native file permissions; not a generation",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "purpose": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "List own uploaded references",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        }
      }
    },
    "/v1/files/{id}": {
      "get": {
        "summary": "Read or delete an owned reference",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "delete": {
        "summary": "Read or delete an owned reference",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/images/upscale/quote": {
      "post": {
        "summary": "Read an existing upscale quotation without generating",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/v1/videos/upscale/quote": {
      "post": {
        "summary": "Read an existing upscale quotation without generating",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/suno/fetch/{id}": {
      "get": {
        "summary": "Query the original music task",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/{mode}/mj/submit/imagine": {
      "post": {
        "summary": "Submit Midjourney using native prompt/version parameters",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Parameter1"
          },
          {
            "name": "mode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "mj-fast",
                "mj-relax"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/{mode}/mj/task/{id}/fetch": {
      "get": {
        "summary": "Query an original Midjourney task",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Response401_2"
          },
          "401": {
            "$ref": "#/components/responses/Response401_2"
          },
          "403": {
            "$ref": "#/components/responses/Response401_2"
          },
          "404": {
            "$ref": "#/components/responses/Response401_2"
          },
          "409": {
            "$ref": "#/components/responses/Response401_2"
          },
          "429": {
            "$ref": "#/components/responses/Response429_4"
          },
          "503": {
            "$ref": "#/components/responses/Response401_2"
          }
        },
        "parameters": [
          {
            "name": "mode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "error": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "code": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "responses": {
      "Response200_1": {
        "description": "Result; response family depends on the documented route.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "Response401_2": {
        "description": "Error; preserve x-request-id and the original task/request identity.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Response200_3": {
        "description": "Original result or task acknowledgement",
        "headers": {
          "x-request-id": {
            "schema": {
              "type": "string"
            }
          },
          "X-Mumoo-External-Request-Id": {
            "schema": {
              "type": "string"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "Response429_4": {
        "description": "Error; preserve x-request-id and the original task/request identity.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "headers": {
          "Retry-After": {
            "schema": {
              "type": "integer"
            }
          }
        }
      },
      "Response200_5": {
        "description": "Video bytes",
        "content": {
          "video/mp4": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "Response206_6": {
        "description": "Partial video bytes"
      },
      "Response202_7": {
        "description": "Original request is pending or requires reconciliation",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "Response410_8": {
        "description": "Cached content expired; original identity remains protected"
      }
    },
    "parameters": {
      "Parameter1": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9._:-]+$"
        },
        "description": "Recommended for every generation. Required only when external-policy.idempotency_required is true. Reuse the same key and byte-identical payload for retries. Without it, calls are independent. Never replace a business key for an unknown outcome."
      },
      "Parameter2": {
        "name": "task_id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "Parameter3": {
        "name": "Range",
        "in": "header",
        "schema": {
          "type": "string"
        }
      },
      "Parameter4": {
        "name": "request_id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^ext_[0-9a-f]{60}$"
        }
      }
    }
  }
}
