> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mountsea.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 获取人声音轨

> 从音频中提取人声音轨用于创建角色

从音频片段中提取人声音轨。返回的 `id` 即 **`vox_audio_id`**，用于 [创建 Persona](/zh/api-reference/suno/persona) — 构建可用于 `task=inspiration` 且 `persona_style: "vox"` 的 **Vox Persona** 的第一步。

<Info>
  此端点**直接**返回结果（不是任务 ID）。提取过程是同步处理的。
</Info>

<Warning>
  默认内部截取约 **45\~74 秒** 人声。若歌曲短于 74 秒或需其他区间，请按集成方式处理 `vocal_start_s` / `vocal_end_s`（如支持）。
</Warning>

## 请求体

<ParamField body="clip_id" type="string" required>
  要从中提取人声的音频片段 ID。
</ParamField>

## 响应

<ResponseField name="id" type="string">
  人声音频 ID。创建角色时作为 `vox_audio_id` 使用。
</ResponseField>

<ResponseField name="status" type="string">
  提取状态（例如 `"complete"`）。
</ResponseField>

<ResponseField name="source_clip_id" type="string">
  被处理的原始片段 ID。
</ResponseField>

<ResponseField name="vocal_start_s" type="number">
  检测到的人声开始时间（秒）。
</ResponseField>

<ResponseField name="vocal_end_s" type="number">
  检测到的人声结束时间（秒）。
</ResponseField>

<ResponseField name="vocal_audio_url" type="string">
  提取的人声音频文件 URL。
</ResponseField>

## 示例

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.mountsea.ai/suno/v2/getVoxStem \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer your-api-key" \
    -d '{
      "clip_id": "78d99ca1-f751-4188-8b8e-0784754f0d8e"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.mountsea.ai/suno/v2/getVoxStem', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer your-api-key'
    },
    body: JSON.stringify({
      clip_id: '78d99ca1-f751-4188-8b8e-0784754f0d8e'
    })
  });

  const data = await response.json();
  console.log('Vox Audio ID:', data.id);
  console.log('Vocal Range:', data.vocal_start_s, '-', data.vocal_end_s);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.mountsea.ai/suno/v2/getVoxStem',
      headers={
          'Content-Type': 'application/json',
          'Authorization': 'Bearer your-api-key'
      },
      json={
          'clip_id': '78d99ca1-f751-4188-8b8e-0784754f0d8e'
      }
  )

  data = response.json()
  print(f"Vox Audio ID: {data['id']}")
  print(f"Vocal Range: {data['vocal_start_s']} - {data['vocal_end_s']}")
  ```
</CodeGroup>

## 响应示例

```json theme={null}
{
  "id": "373efa9c-a366-42bb-806c-afdfc9b306a7",
  "status": "complete",
  "source_clip_id": "78d99ca1-f751-4188-8b8e-0784754f0d8e",
  "vocal_start_s": 45.0,
  "vocal_end_s": 74.0,
  "vocal_audio_url": "https://cdn1.suno.ai/processed_373efa9c-a366-42bb-806c-afdfc9b306a7_vocals.m4a"
}
```

## 工作流程：创建 Vox Persona

1. **Get Vox Stem** — 提取人声，将返回的 `id` 作为 `vox_audio_id`
2. **创建 Persona** — `clip_id` 传 `root_clip_id`，并设置 root clip 上的人声范围

```javascript theme={null}
const voxData = await fetch('https://api.mountsea.ai/suno/v2/getVoxStem', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer your-api-key' },
  body: JSON.stringify({ clip_id: '4fa20262-2126-4ec2-9846-e668211a8c7b' })
}).then(r => r.json());

await fetch('https://api.mountsea.ai/suno/v2/persona', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer your-api-key' },
  body: JSON.stringify({
    clip_id: '4fa20262-2126-4ec2-9846-e668211a8c7b',
    vox_audio_id: voxData.id,
    vocal_start_s: 0,
    vocal_end_s: 120,
    user_input_styles: 'rap歌曲，顺口',
    name: 'My Voice',
    is_public: true
  })
});
```

<Warning>
  **创建 Persona** 时的 `vocal_start_s` / `vocal_end_s` 表示 **root clip** 上的有效人声范围（常为 `0` 至 clip 总时长），**不是** `getVoxStem` 内部 45\~74 秒的截取区间。
</Warning>

<Tip>
  在 [Inspiration 生成](/zh/api-reference/suno/inspiration) 中使用该 Persona：`persona_style: "vox"`，`artist_clip_id` 设为 Persona 的 `root_clip_id`。
</Tip>
