プリント可能性を修復 API

FDMのプリント可能性のために3Dモデルを修復します。非多様体の辺、縮退面、穴、その他のtopologyの問題を修正して、メッシュをプリント可能な状態にします。


POST/openapi/v1/print/repair

プリント可能性を修復タスクを作成する

このエンドポイントは新しいプリント可能性を修復タスクを作成します。タスクは3Dモデルに対してトポロジー修復を実行し、水密でプリント可能なバージョンを返します。

出力フォーマットは入力フォーマットに一致します。model_urlを介して.stlを送信した場合、レスポンスのmodel_urls.stlは修復されたメッシュを保持し、他のフォーマットフィールドは空になります。input_task_idパスは常にソースタスクのGLBを読み取るため、出力は.glbです。

パラメータ

  • Name
    model_url
    Type
    string
    必須
    Description

    修復する3DモデルのURL。サポートされているフォーマット:.glb.gltf.obj.fbx.stl。最大ファイルサイズ:100 MB。httphttps、またはdata: URLを使用する必要があります(データURLは拡張子チェックをバイパスします)。

  • Name
    alpha_thumbnail
    Type
    boolean
    デフォルト false
    Description

    trueに設定すると、タスクはプレビューの透明背景(RGBA)バージョンもレンダリングし、GETレスポンスでalpha_thumbnail_urlとして返します。既存のthumbnail_urlフィールドは変更されません。

戻り値

レスポンスのresultプロパティには、新しく作成されたプリント可能性を修復タスクのidが含まれています。

失敗モード

  • Name
    400 - Bad Request
    Description

    リクエストは受け入れられませんでした。一般的な原因:

    • パラメータが不足している: input_task_idまたはmodel_urlが提供されていない。
    • 無効なUUID: input_task_idが有効なUUIDではない。
    • 無効なモデルURL: model_urlが不正な形式である、サポートされていないスキームを使用している、またはサポートされていないファイル拡張子を持っている。
    • モデルファイルが大きすぎる: model_urlのボディが100 MBを超えた。
    • タスクが成功していない: 参照されたタスクがまだ保留中、進行中、または失敗している。
    • GLBが不足している: 参照されたタスクに修復するGLBアセットがない。
  • Name
    401 - Unauthorized
    Description

    認証に失敗しました。APIキーを確認してください。

  • Name
    402 - Payment Required
    Description

    一般的な原因:

    • 無料プラン: タスクの作成には有料プランが必要です。サブスクリプションページでアップグレードしてください。
    • クレジットが不足している: ワークスペースのクレジット制限に達しました。
  • Name
    404 - Not Found
    Description

    参照されたタスクが存在しないか、別のユーザーが所有しています。

  • Name
    429 - Too Many Requests
    Description

    保留中のタスクのクォータまたはレート制限を超えました。

Request

POST
/openapi/v1/print/repair
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.stl"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/repair/:id

プリント可能性を修復タスクを取得する

このエンドポイントは、IDによってプリント可能性を修復するタスクを取得します。

パラメータ

  • Name
    id
    Type
    path
    Description

    取得するプリント可能性を修復するタスクのID。

戻り値

プリント可能性を修復タスクオブジェクトmodel_urls ブロックはタスクが SUCCEEDED に達するまで空です。入力フォーマットに一致する model_urls フィールドのみが埋められます。

Request

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

DELETE/openapi/v1/print/repair/:id

プリント可能性を修復タスクを削除する

このエンドポイントは、プリント可能性を修復タスクとその修復された出力を永久に削除します。この操作は元に戻せません。

パスパラメータ

  • Name
    id
    Type
    path
    Description

    削除するプリント可能性を修復タスクのID。

戻り値

成功時には 200 OK を返します。

Request

DELETE
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/print/repair

プリント可能性を修復タスクを一覧表示

このエンドポイントを使用して、プリント可能性を修復するタスクの一覧を取得できます。

パラメータ

オプション属性

  • Name
    page_num
    Type
    integer
    Description

    ページネーションのページ番号。1から開始し、デフォルトも1です。

  • Name
    page_size
    Type
    integer
    Description

    ページサイズの制限。デフォルトは10アイテムです。最大許可数は50アイテムです。

  • Name
    sort_by
    Type
    string
    Description

    ソートするフィールド。利用可能な値:

    • +created_at: 作成時間で昇順にソート。
    • -created_at: 作成時間で降順にソート。

戻り値

ページネーションされたプリント可能性を修復タスクオブジェクトのリストを返します。

Request

GET
/openapi/v1/print/repair
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-repair",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000030000,
    "expires_at": 1715725401000,
    "task_error": null,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "gltf": "",
      "fbx": "",
      "obj": "",
      "stl": "",
      "usdz": "",
      "3mf": "",
      "mtl": ""
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
    "texture_urls": [],
    "consumed_credits": 10
  }
]

GET/openapi/v1/print/repair/:id/stream

プリント可能性を修復タスクをストリームする

このエンドポイントは、Server-Sent Events (SSE) を使用してプリント可能性を修復するタスクのリアルタイム更新をストリームします。

パラメータ

  • Name
    id
    Type
    path
    Description

    ストリームするプリント可能性を修復するタスクの一意の識別子。

戻り値

Server-Sent Events として プリント可能性を修復タスクオブジェクト のストリームを返します。

PENDING または IN_PROGRESS のタスクの場合、レスポンスストリームには必要な progressstatus フィールドのみが含まれます。タスクが SUCCEEDED に達したときにのみ model_urls ブロックが送信されます。

Request

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

プリント可能性を修復タスクオブジェクト

  • Name
    id
    Type
    string
    Description

    タスクの一意の識別子です。タスクIDにはkソート可能なUUIDを使用していますが、IDの形式については何も仮定しないでください。

  • Name
    type
    Type
    string
    Description

    プリント可能性を修復タスクのタイプです。値はprint-repairです。

  • Name
    status
    Type
    string
    Description

    タスクのステータスです。可能な値はPENDINGIN_PROGRESSSUCCEEDEDFAILEDCANCELEDのいずれかです。

  • Name
    progress
    Type
    integer
    Description

    タスクの進捗です。タスクがまだ開始されていない場合、このプロパティは0になります。タスクが成功した場合、これは100になります。

  • Name
    preceding_tasks
    Type
    integer
    Description

    先行タスクの数です。

  • Name
    created_at
    Type
    timestamp
    Description

    タスクが作成された時点のタイムスタンプ(ミリ秒単位)です。

  • Name
    started_at
    Type
    timestamp
    Description

    タスクが開始された時点のタイムスタンプ(ミリ秒単位)です。タスクがまだ開始されていない場合、このプロパティは0になります。

  • Name
    finished_at
    Type
    timestamp
    Description

    タスクが終了した時点のタイムスタンプ(ミリ秒単位)です。タスクがまだ終了していない場合、このプロパティは0になります。

  • Name
    expires_at
    Type
    timestamp
    Description

    タスク結果がシステムから期限切れになる時点のタイムスタンプ(ミリ秒単位)です。タスクがまだ終了していない場合は0です。

  • Name
    task_error
    Type
    object
    Description

    タスクが失敗した場合のエラー情報です。タスクが失敗していない場合、このプロパティはnullです。詳細はエラーを参照してください。

    • Name
      message
      Type
      string
      Description

      何が問題だったかを説明するエラーメッセージです。

  • Name
    model_urls
    Type
    object
    Description

    修復された3Dモデルのダウンロード可能なURLです。入力形式に一致するフィールドのみが入力されます。他の形式のフィールドは空の文字列です。

    • Name
      glb
      Type
      string
      Description

      修復されたGLBのダウンロード可能なURLです。入力がGLBだった場合、またはinput_task_idが使用された場合に入力されます。

    • Name
      gltf
      Type
      string
      Description

      修復されたGLTFのダウンロード可能なURLです。入力がGLTFアップロードだった場合に入力されます。

    • Name
      fbx
      Type
      string
      Description

      修復されたFBXのダウンロード可能なURLです。入力がFBXアップロードだった場合に入力されます。

    • Name
      obj
      Type
      string
      Description

      修復されたOBJのダウンロード可能なURLです。入力がOBJアップロードだった場合に入力されます。

    • Name
      stl
      Type
      string
      Description

      修復されたSTLのダウンロード可能なURLです。入力がSTLアップロードだった場合に入力されます。

    • Name
      usdz
      Type
      string
      Description

      USDZ出力用に予約されています。プリント可能性を修復タスクでは常に空の文字列です。

    • Name
      3mf
      Type
      string
      Description

      3MF出力用に予約されています。プリント可能性を修復タスクでは常に空の文字列です。

    • Name
      mtl
      Type
      string
      Description

      MTL出力用に予約されています。プリント可能性を修復タスクでは常に空の文字列です。

  • Name
    thumbnail_url
    Type
    string
    Description

    修復されたモデルからレンダリングされたプレビュー画像のURLです。

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_urlの透明背景(RGBA)バージョンのダウンロード可能なURLです。タスクがalpha_thumbnail: trueで作成され、透明プレビューが正常にレンダリングされた場合にのみ存在します。それ以外の場合、このフィールドは省略されます。

  • Name
    texture_urls
    Type
    array
    Description

    常に空の配列です。修復は入力ジオメトリのみを保持し、テクスチャを再ベイクしません。

  • Name
    consumed_credits
    Type
    integer
    Description

    このタスクで消費されたクレジットの数です。タスクがSUCCEEDEDに達した場合は10です。FAILEDタスクの場合は0を返します(失敗時にはクレジットが返金されます)。

The Repair Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}