NiceVois

Free stem, lead/backing vocal, noise and reverb splitting, no account. Train and use RVC voices.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
67%
이름 품질
98%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'download_voice_conversion_output' name length outside 3-30 rangedownload_voice_conversion_output에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~9,442토큰 (도구 정의)
~6.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 7.38%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "rvc-training": {
      "url": "https://nicevois.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://nicevois.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (16)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_training_requirements

Use this before training an AI voice to confirm NiceVois input formats, duration and epoch limits, consent requirements, outputs, retention, and the exact upload workflow.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "service": {
      "type": "string"
    },
    "workflow": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "supportedFormats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "minEpochs": {
      "type": "number"
    },
    "maxEpochs": {
      "type": "number"
    },
    "maxDurationSeconds": {
      "type": "number"
    },
    "maxAudioBytes": {
      "type": "number"
    },
    "outputs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "retentionDays": {
      "type": "number"
    },
    "consentModel": {
      "type": "string"
    },
    "consentVersion": {
      "type": "string"
    },
    "agreementUrl": {
      "type": "string"
    },
    "authentication": {
      "type": "string"
    },
    "freeAllowance": {
      "type": "object",
      "properties": {
        "anonymousWebsiteRuns": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "connectedAccountRuns": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "maxEpochs": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "maxDurationSeconds": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "codingAgentOAuthCountsAsConnectedAccount": {
          "type": "boolean"
        }
      },
      "required": [
        "anonymousWebsiteRuns",
        "connectedAccountRuns",
        "maxEpochs",
        "maxDurationSeconds",
        "codingAgentOAuthCountsAsConnectedAccount"
      ],
      "additionalProperties": false
    },
    "paidTraining": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "currency": {
          "type": "string"
        },
        "balanceType": {
          "type": "string"
        },
        "quoteBeforeUpload": {
          "type": "boolean"
        },
        "maxEpochs": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "maxDurationSeconds": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "accountStatusTool": {
          "type": "string"
        },
        "quoteTool": {
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "currency",
        "balanceType",
        "quoteBeforeUpload",
        "maxEpochs",
        "maxDurationSeconds",
        "accountStatusTool",
        "quoteTool"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "service",
    "workflow",
    "supportedFormats",
    "minEpochs",
    "maxEpochs",
    "maxDurationSeconds",
    "maxAudioBytes",
    "outputs",
    "retentionDays",
    "consentModel",
    "consentVersion",
    "agreementUrl",
    "authentication",
    "freeAllowance",
    "paidTraining"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_training_account

Call before quoting or creating a training job. Returns the connected account's welcome-credit status, available and reserved balance, balance packs, and a private browser link that keeps checkout on this same agent identity.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "freeTraining": {
      "type": "boolean"
    },
    "freeRuns": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "used": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "remaining": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "total",
        "used",
        "remaining"
      ],
      "additionalProperties": {}
    },
    "freeRunMaxEpochs": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "freeRunMaxDurationSeconds": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "signedIn": {
      "type": "boolean"
    },
    "balance": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "purchasedCents": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "spentCents": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "reservedCents": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "availableCents": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "purchasedCents",
            "spentCents",
            "reservedCents",
            "availableCents"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "checkoutEnabled": {
      "type": "boolean"
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "balanceCents": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "priceUsd": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "balanceCents",
          "priceUsd"
        ],
        "additionalProperties": false
      }
    },
    "accountUrl": {
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "freeRuns",
    "balance",
    "checkoutEnabled"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢quote_training(durationSeconds, epochs)

Call after inspecting the audio and before creating a job. Returns the exact payable amount, current balance, welcome-credit effect, shortfall, feasibility, and the private balance-page link when more balance is needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "durationSeconds": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "epochs": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "durationSeconds",
    "epochs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string"
    },
    "durationSeconds": {
      "type": "number"
    },
    "epochs": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "quotedPriceCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "payableCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "subscriptionCreditAppliedCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "subscriptionCreditRemainingCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "freeRunApplied": {
      "type": "boolean"
    },
    "balanceBeforeCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "balanceAfterCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "shortfallCents": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "canStart": {
      "type": "boolean"
    },
    "accountUrl": {
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "recommendedProduct": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "balanceCents": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "priceUsd": {
              "type": "number"
            }
          },
          "required": [
            "id",
            "name",
            "balanceCents",
            "priceUsd"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "currency",
    "durationSeconds",
    "epochs",
    "payableCents",
    "freeRunApplied",
    "shortfallCents",
    "canStart"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟡create_training_job(fileName, contentType, sizeBytes, durationSeconds, epochs, ...)

Creates a private NiceVois job and returns a one-time PUT upload URL. Do not ask for consent before the first attempt because NiceVois remembers the current standing account agreement. If the server returns CONSENT_REQUIRED, ask for one acceptance of the linked standing agreement and retry once with acceptsStandingAgreement=true. This allocates a private training slot but does not start GPU work until the audio is uploaded and start_training is called.

입력 스키마

{
  "type": "object",
  "properties": {
    "fileName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Original WAV, MP3, FLAC, M4A, or OGG filename."
    },
    "contentType": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "sizeBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "durationSeconds": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "epochs": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "modelName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "submissionId": {
      "type": "string",
      "minLength": 8,
      "maxLength": 80
    },
    "acceptsStandingAgreement": {
      "description": "Set only when the user explicitly accepts the linked standing voice-training agreement after CONSENT_REQUIRED. Omit for accounts that have already accepted.",
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "fileName",
    "contentType",
    "sizeBytes",
    "durationSeconds",
    "epochs",
    "modelName",
    "submissionId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "modelName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "epochs": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "currentEpoch": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "updatedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "startedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "completedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedCompletionAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedRemainingSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "etaText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "expiresAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string"
            },
            "headers": {
              "type": "object",
              "properties": {
                "content-type": {
                  "type": "string"
                }
              },
              "required": [
                "content-type"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "method",
            "url",
            "headers"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "artifacts": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "pth": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "index": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "package": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "pth",
            "index",
            "package"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "links": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "start"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "id",
    "status",
    "upload",
    "artifacts",
    "links"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟡start_training(jobId)

Use this only after the source audio was successfully PUT to the upload URL returned by create_training_job. Starts the private cloud RVC training job.

입력 스키마

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "jobId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "modelName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "epochs": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "currentEpoch": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "updatedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "startedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "completedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedCompletionAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedRemainingSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "etaText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "expiresAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string"
            },
            "headers": {
              "type": "object",
              "properties": {
                "content-type": {
                  "type": "string"
                }
              },
              "required": [
                "content-type"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "method",
            "url",
            "headers"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "artifacts": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "pth": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "index": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "package": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "pth",
            "index",
            "package"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "links": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "start"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "id",
    "status",
    "upload",
    "artifacts",
    "links"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢get_training_job(jobId)

Use this to check truthful stage, completed epochs, ETA, and artifact readiness for one private NiceVois training job. Poll reasonably; do not call more often than every 15 seconds.

입력 스키마

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "jobId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "modelName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "epochs": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "currentEpoch": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "updatedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "startedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "completedAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedCompletionAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "estimatedRemainingSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "etaText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "expiresAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string"
            },
            "headers": {
              "type": "object",
              "properties": {
                "content-type": {
                  "type": "string"
                }
              },
              "required": [
                "content-type"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "method",
            "url",
            "headers"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "artifacts": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "pth": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "index": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "package": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "sizeBytes": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "downloadUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "downloadUrl"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "pth",
            "index",
            "package"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "links": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "status",
        "start"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "id",
    "status",
    "upload",
    "artifacts",
    "links"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢list_training_jobs

Use this to find the authenticated user's recent NiceVois jobs before asking for a job ID they may not know.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "jobs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "modelName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "epochs": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "currentEpoch": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "durationSeconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "updatedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "startedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "completedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "estimatedCompletionAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "estimatedRemainingSeconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "etaText": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "upload": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "method": {
                    "type": "string",
                    "const": "PUT"
                  },
                  "url": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "properties": {
                      "content-type": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "content-type"
                    ],
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "method",
                  "url",
                  "headers"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "artifacts": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "pth": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "sizeBytes": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "downloadUrl": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "downloadUrl"
                        ],
                        "additionalProperties": {}
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "index": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "sizeBytes": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "downloadUrl": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "downloadUrl"
                        ],
                        "additionalProperties": {}
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "package": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "name": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "sizeBytes": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "downloadUrl": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "downloadUrl"
                        ],
                        "additionalProperties": {}
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "pth",
                  "index",
                  "package"
                ],
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string"
              },
              "start": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "start"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "status",
          "upload",
          "artifacts",
          "links"
        ],
        "additionalProperties": {}
      }
    },
    "retentionDays": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "jobs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢get_conversion_requirements

Use this when a user wants to convert vocals with RVC or compare a normal RVC result with NiceVois cleaned consonants and breaths. Returns the real input formats, model choices, workflow, current free-beta policy, and outputs.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "service": {
      "type": "string"
    },
    "workflow": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sourceAudioFormats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "modelInputs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "transposeSemitones": {
      "type": "object",
      "properties": {
        "min": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "max": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "default": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "min",
        "max",
        "default"
      ],
      "additionalProperties": false
    },
    "outputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description"
        ],
        "additionalProperties": false
      }
    },
    "pricing": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string"
        },
        "wallet": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "mode",
        "wallet",
        "message"
      ],
      "additionalProperties": false
    },
    "wholeSongCover": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "const": "private_preview"
        },
        "agentSupport": {
          "type": "string",
          "const": "discovery_only"
        },
        "availability": {
          "type": "string"
        },
        "plannedInputs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pipeline": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "diyGuideUrl": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "status",
        "agentSupport",
        "availability",
        "plannedInputs",
        "pipeline",
        "diyGuideUrl"
      ],
      "additionalProperties": false
    },
    "authentication": {
      "type": "string"
    }
  },
  "required": [
    "service",
    "workflow",
    "sourceAudioFormats",
    "modelInputs",
    "transposeSemitones",
    "outputs",
    "pricing",
    "wholeSongCover",
    "authentication"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢list_voice_models

Use this when the user wants to convert audio and you need to select one of their private NiceVois-trained or uploaded RVC voices. Do not ask for a model ID before calling this tool.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "models": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "trained",
              "uploaded"
            ]
          },
          "createdAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "hasIndex": {
            "type": "boolean"
          },
          "epochs": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "durationSeconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "sourceType": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "sizeBytes": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "source",
          "hasIndex"
        ],
        "additionalProperties": {}
      }
    },
    "dailyLimit": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "usedToday": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "billing": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "allowance": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "models",
    "usedToday",
    "billing"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟡create_voice_model_import(fileName, sizeBytes)

Use this when the user wants to convert with an existing private RVC .pth file or complete model ZIP instead of a voice trained in their NiceVois library. Returns a one-time PUT upload instruction. After uploading, call list_voice_models to select the imported voice.

입력 스키마

{
  "type": "object",
  "properties": {
    "fileName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Original .pth or .zip filename."
    },
    "sizeBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 524288000
    }
  },
  "required": [
    "fileName",
    "sizeBytes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "upload": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "const": "PUT"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "headers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "method",
        "url",
        "headers"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "status",
    "upload"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡create_voice_conversion(modelId, fileName, sizeBytes, durationSeconds, transpose)

Use this when the user has selected a private voice model and wants to convert one vocal recording. Returns a private upload instruction. Upload only the source vocal, then call get_voice_conversion with the same conversion ID.

입력 스키마

{
  "type": "object",
  "properties": {
    "modelId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The id returned by list_voice_models."
    },
    "fileName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Original WAV, MP3, FLAC, M4A, or OGG vocal filename."
    },
    "sizeBytes": {
      "description": "Exact byte size of the source audio. Supply it whenever the client can measure the file so interrupted uploads are verifiable and safely resumable.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "durationSeconds": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 86400,
      "description": "Measured duration of the source audio in seconds. NiceVois uses this to verify that the account can download the result before cloud work."
    },
    "transpose": {
      "default": 0,
      "description": "Pitch shift in semitones, from -24 through 24. Use 0 when no shift was requested.",
      "type": "integer",
      "minimum": -24,
      "maximum": 24
    }
  },
  "required": [
    "modelId",
    "fileName",
    "durationSeconds"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "modelName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "fileName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "transpose": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "stageMessage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "providerState": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "headers": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": [
            "method",
            "url",
            "headers"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "outputs": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "normal": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "listenUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "downloadUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uri"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "listenUrl"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "cleaned": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "listenUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "downloadUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uri"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "listenUrl"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "normal",
            "cleaned"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "timings": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "restoration": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "id",
    "status",
    "upload",
    "outputs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢get_voice_conversion(conversionId)

Use this when checking one private NiceVois conversion. Poll no more than once every 10 seconds. Report the returned stage without inventing progress. When complete, present the NiceVois cleaned version first and use download_voice_conversion_output for the version the user requests.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversionId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "conversionId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "modelName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "fileName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "transpose": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "stageMessage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "providerState": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "headers": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": [
            "method",
            "url",
            "headers"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "outputs": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "normal": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "listenUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "downloadUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uri"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "listenUrl"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "cleaned": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "listenUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "downloadUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "uri"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "listenUrl"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "normal",
            "cleaned"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "timings": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "restoration": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "id",
    "status",
    "upload",
    "outputs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟡download_voice_conversion_output(conversionId, kind, confirmRepeat, eventId)

Use after get_voice_conversion says the job is complete and the user wants the cleaned or standard output. Each download uses the source audio's duration from the account's conversion-download minutes. If the exact file was downloaded before, ask before retrying and then set confirmRepeat true.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversionId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "kind": {
      "type": "string",
      "enum": [
        "cleaned",
        "normal"
      ],
      "description": "Prefer cleaned unless the user specifically asks for standard RVC."
    },
    "confirmRepeat": {
      "default": false,
      "description": "Only true after the user explicitly confirms downloading the same artifact again.",
      "type": "boolean"
    },
    "eventId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,80}$"
    }
  },
  "required": [
    "conversionId",
    "kind"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "accepted": {
      "type": "boolean"
    },
    "downloadUrl": {
      "type": "string",
      "format": "uri"
    },
    "downloadCount": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "secondsCharged": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "accepted",
    "downloadUrl",
    "downloadCount",
    "secondsCharged"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢list_free_audio_tools

Use this to see NiceVois's free audio tools (no account needed): split a song into vocals and instrumental (vocal remover, acapella, karaoke instrumental), split lead vocals from backing vocals, remove background noise, and remove reverb or echo. Returns each tool's id, the accepted formats, and a website link to give the user when you cannot upload their file yourself.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "service": {
      "type": "string"
    },
    "price": {
      "type": "string",
      "const": "free"
    },
    "accountRequired": {
      "type": "boolean",
      "const": false
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "websiteUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "websiteUrl"
        ],
        "additionalProperties": false
      }
    },
    "inputFormats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "outputFormats": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "maxAudioBytes": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "workflow": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "noFileAccess": {
      "type": "string"
    }
  },
  "required": [
    "service",
    "price",
    "accountRequired",
    "tools",
    "inputFormats",
    "outputFormats",
    "maxAudioBytes",
    "workflow",
    "noFileAccess"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🔴create_free_audio_job(tool, fileName, sizeBytes, durationSeconds, outputFormat)

Use this when the user wants to split a song into stems (vocals and instrumental), isolate or remove vocals, make an acapella or a karaoke instrumental, split the lead vocal from the backing vocals, or remove background noise or reverb from a recording. Free, no account. Returns a one-time upload URL: PUT the file's bytes to it, then call get_free_audio_job with the returned id.

입력 스키마

{
  "type": "object",
  "properties": {
    "tool": {
      "type": "string",
      "enum": [
        "split_stems",
        "split_lead_backing",
        "remove_noise",
        "remove_reverb"
      ],
      "description": "split_stems: vocals and instrumental. split_lead_backing: lead vocal, backing vocals, instrumental, and the instrumental with backing vocals. remove_noise: background noise out of a voice recording. remove_reverb: room echo and reverb out of a voice recording."
    },
    "fileName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 180,
      "description": "The audio file's name with its extension: WAV, MP3, FLAC, M4A or OGG."
    },
    "sizeBytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "The file's exact size in bytes."
    },
    "durationSeconds": {
      "description": "The audio's length in seconds, if you can measure it. NiceVois measures the file itself after upload, so leave this out rather than guess.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 86400
    },
    "outputFormat": {
      "default": "wav",
      "description": "Format of the files you get back. Use wav unless the user asks for another.",
      "type": "string",
      "enum": [
        "wav",
        "flac",
        "mp3",
        "ogg"
      ]
    }
  },
  "required": [
    "tool",
    "fileName",
    "sizeBytes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "toolName": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "fileName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "price": {
      "type": "string",
      "const": "free"
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "headers": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            },
            "receivedBytes": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "method",
            "url",
            "headers",
            "receivedBytes"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "outputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stem": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "downloadUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "stem",
          "name",
          "description",
          "downloadUrl"
        ],
        "additionalProperties": false
      }
    },
    "pollAfterSeconds": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "websiteUrl": {
      "type": "string",
      "format": "uri"
    },
    "links": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "status"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "id",
    "tool",
    "toolName",
    "status",
    "price",
    "upload",
    "outputs",
    "pollAfterSeconds",
    "websiteUrl",
    "links"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢get_free_audio_job(jobId)

Use this after create_free_audio_job and the upload, no more than every 10 seconds, until the job is completed or failed. When it completes, it lists every output file (for example lead vocal, backing vocals, instrumental) with a download link.

입력 스키마

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The id returned by create_free_audio_job."
    }
  },
  "required": [
    "jobId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "toolName": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "fileName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "price": {
      "type": "string",
      "const": "free"
    },
    "upload": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "PUT"
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "headers": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "string"
              }
            },
            "receivedBytes": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "method",
            "url",
            "headers",
            "receivedBytes"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "outputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stem": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "downloadUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "stem",
          "name",
          "description",
          "downloadUrl"
        ],
        "additionalProperties": false
      }
    },
    "pollAfterSeconds": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "websiteUrl": {
      "type": "string",
      "format": "uri"
    },
    "links": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "status"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "id",
    "tool",
    "toolName",
    "status",
    "price",
    "upload",
    "outputs",
    "pollAfterSeconds",
    "websiteUrl",
    "links"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 16개
검증됨버전이 기록되지 않음도구 16개