# メッシュセマンティックセグメンテーション
> **POST** `/v3/mesh/segment`
3D モデルでセマンティック セグメンテーションを実行し、モデルをセマンティック パーツに自動的に分割します。 v1 (ジオメトリ ベース、デフォルト) および v2 (セマンティック ラベリング + ジオメトリ、**ベータ版**) をサポートします。
[`/v3/mesh/smartsegment`](./mesh-smartsegment.md) との違い: この API は **既存のモデル** のみをセグメント化します。 SmartSegment は、エンドツーエンドのパイプライン (アセット → 自動モデリング → セグメンテーション) です。
## リクエストパラメータ
### リクエストヘッダー
| パラメータ | 種類 | 必須 | デフォルト | 説明 |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | 文字列 | はい | — | `application/json` |
| Authorization | 文字列 | はい | — | `Bearer {api_key}` |
### リクエストボディ
| パラメータ | 種類 | 必須 | デフォルト | 説明 |
| :-: | :-: | :-: | :-: | :-: |
| input | 文字列 | はい | — | モデルソース。 task_id、file_token、または URL を受け入れます |
| model | 文字列 | いいえ | `v1.0-20250506` | バージョン: `v1.0-20250506` (デフォルト) / `v2.0-20260430` (**ベータ版**) |
| segmentation_granularity | 文字列 | いいえ | `balanced` | **v2 のみ。** 粒度: `simple` / `balanced` / `detailed` |
| split_by_connectivity | ブール値 | いいえ | `true` | **v2 のみ。** 接続コンポーネントによって分割するかどうか |
| ref_image | 文字列 | いいえ | — | **v2 のみ。** 参考画像: `file_token` または URL。 **`ref_image` が指定されている場合、`segmentation_granularity` および `split_by_connectivity` は無視されます** |
### v1 vs v2
| ディメンション | v1 (`v1.0-20250506`) | v2 (`v2.0-20260430`、ベータ) |
| :-: | :-: | :-: |
| 方法 | ジオメトリ/トポロジ | セマンティックラベリング + ジオメトリ |
| `segmentation_granularity` | サポートされていません | `simple` / `balanced` / `detailed` |
| `split_by_connectivity` | サポートされていません | サポートされています、デフォルトは `true` |
| `ref_image` | サポートされていません (設定されている場合はエラー) | オプションの `file_token` または URL |
## リクエスト例
### curl — v1 (デフォルト)
```bash
curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "task_abc123"
}'
```
### curl — v2 (粒度モード)
```bash
curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"model": "v2.0-20260430",
"input": "task_abc123",
"segmentation_granularity": "balanced",
"split_by_connectivity": true
}'
```
### curl — v2 (ref_image モード、粒度および split_by_connectivity は無視)
```bash
curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"model": "v2.0-20260430",
"input": "task_abc123",
"ref_image": "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/mesh/segment"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"model": "v2.0-20260430",
"input": "task_abc123",
"ref_image": "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/mesh/segment";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
model: "v2.0-20260430",
input: "task_abc123",
ref_image: "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
})
});
const data = await response.json();
console.log(data);
```
## 応答
### 成功した応答
```json
{
"code": 0,
"data": {
"task_id": "task_def456"
}
}
```
### 応答フィールド
| パラメータ | 種類 | 説明 |
| :-: | :-: | :-: |
| code | 整数 | ステータスコード。 `0` は成功を示します |
| data.task_id | 文字列 | セグメンテーションの進行状況と結果をポーリングするために使用される一意のタスク識別子 |
## エラーコード
| HTTP ステータスコード | エラーコード | 説明 | おすすめ |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | 世代制限を超えました | リクエスト率を下げて後で再試行してください |
| 400 | 2002 | サポートされていないリクエストパラメータです | リクエストボディのパラメータ名と値の範囲を確認してください |
| 400 | 1004 | 無効なパラメータ (例: v1 の ref_image) | 機種バージョンとパラメータの組み合わせを確認する |
| 400 | 2006 | 入力ソースのタスクタイプが無効です | task_id が 3D モデル タスクに対応していることを確認します |
| 400 | 2007 | ソースタスクのステータスが成功ではありません | ソースタスクが完了するまで待ってからセグメンテーションを開始します |
| 403 | 2010 | クレジットが不十分です | クレジットをリチャージして再試行してください |
メッシュセマンティックセグメンテーション
POST /v3/mesh/segment
3D モデルでセマンティック セグメンテーションを実行し、モデルをセマンティック パーツに自動的に分割します。 v1 (ジオメトリ ベース、デフォルト) および v2 (セマンティック ラベリング + ジオメトリ、ベータ版) をサポートします。
/v3/mesh/smartsegment との違い: この API は 既存のモデル のみをセグメント化します。 SmartSegment は、エンドツーエンドのパイプライン (アセット → 自動モデリング → セグメンテーション) です。
リクエストパラメータ
リクエストヘッダー
| パラメータ |
種類 |
必須 |
デフォルト |
説明 |
| Content-Type |
文字列 |
はい |
— |
application/json |
| Authorization |
文字列 |
はい |
— |
Bearer {api_key} |
リクエストボディ
| パラメータ |
種類 |
必須 |
デフォルト |
説明 |
| input |
文字列 |
はい |
— |
モデルソース。 task_id、file_token、または URL を受け入れます |
| model |
文字列 |
いいえ |
v1.0-20250506 |
バージョン: v1.0-20250506 (デフォルト) / v2.0-20260430 (ベータ版) |
| segmentation_granularity |
文字列 |
いいえ |
balanced |
v2 のみ。 粒度: simple / balanced / detailed |
| split_by_connectivity |
ブール値 |
いいえ |
true |
v2 のみ。 接続コンポーネントによって分割するかどうか |
| ref_image |
文字列 |
いいえ |
— |
v2 のみ。 参考画像: file_token または URL。 ref_image が指定されている場合、segmentation_granularity および split_by_connectivity は無視されます |
v1 vs v2
| ディメンション |
v1 (v1.0-20250506) |
v2 (v2.0-20260430、ベータ) |
| 方法 |
ジオメトリ/トポロジ |
セマンティックラベリング + ジオメトリ |
segmentation_granularity |
サポートされていません |
simple / balanced / detailed |
split_by_connectivity |
サポートされていません |
サポートされています、デフォルトは true |
ref_image |
サポートされていません (設定されている場合はエラー) |
オプションの file_token または URL |
リクエスト例
curl — v1 (デフォルト)
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "task_abc123"}'
curl — v2 (粒度モード)
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"model": "v2.0-20260430",
"input": "task_abc123",
"segmentation_granularity": "balanced",
"split_by_connectivity": true
}'
curl — v2 (ref_image モード、粒度および split_by_connectivity は無視)
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/mesh/segment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"model": "v2.0-20260430",
"input": "task_abc123",
"ref_image": "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"}'
import requests
url = "https://openapi.tripo3d.ai/v3/mesh/segment"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"model": "v2.0-20260430",
"input": "task_abc123",
"ref_image": "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/mesh/segment";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
model: "v2.0-20260430",
input: "task_abc123",
ref_image: "file_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
})
});
const data = await response.json();
console.log(data);
応答
成功した応答
{
"code": 0,
"data": {
"task_id": "task_def456"}
}
応答フィールド
| パラメータ |
種類 |
説明 |
| code |
整数 |
ステータスコード。 0 は成功を示します |
| data.task_id |
文字列 |
セグメンテーションの進行状況と結果をポーリングするために使用される一意のタスク識別子 |
エラーコード
| HTTP ステータスコード |
エラーコード |
説明 |
おすすめ |
| 429 |
2000 |
世代制限を超えました |
リクエスト率を下げて後で再試行してください |
| 400 |
2002 |
サポートされていないリクエストパラメータです |
リクエストボディのパラメータ名と値の範囲を確認してください |
| 400 |
1004 |
無効なパラメータ (例: v1 の ref_image) |
機種バージョンとパラメータの組み合わせを確認する |
| 400 |
2006 |
入力ソースのタスクタイプが無効です |
task_id が 3D モデル タスクに対応していることを確認します |
| 400 |
2007 |
ソースタスクのステータスが成功ではありません |
ソースタスクが完了するまで待ってからセグメンテーションを開始します |
| 403 |
2010 |
クレジットが不十分です |
クレジットをリチャージして再試行してください |