API zmiany rozmiaru

API zmiany rozmiaru pozwala na zmianę rozmiaru istniejących modeli 3D do rzeczywistych wymiarów. Możesz określić dokładną wysokość, ograniczenie najdłuższego boku lub pozwolić AI automatycznie oszacować odpowiedni rozmiar.


POST/openapi/v1/resize

Utwórz zadanie zmiany rozmiaru

Ten punkt końcowy tworzy nowe zadanie zmiany rozmiaru.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID ukończonego zadania Meshy, którego model chcesz zmienić rozmiar. Zadanie musi mieć status SUCCEEDED. Format wyjściowy będzie GLB.

  • Name
    model_url
    Type
    string
    Wymagane
    Description

    Publicznie dostępny URL lub Data URI wskazujący na plik modelu 3D. Obsługiwane formaty: .glb, .gltf, .obj, .fbx, .stl. Dla Data URI użyj MIME type: application/octet-stream. Format wyjściowy zachowa oryginalny format modelu wejściowego.

  • Name
    resize_height
    Type
    number
    Description

    Zmień rozmiar modelu do określonej wysokości mierzonej w metrach.

  • Name
    resize_longest_side
    Type
    number
    Description

    Zmień rozmiar modelu tak, aby jego najdłuższy bok odpowiadał tej wartości, mierzonej w metrach. Proporcje są zachowane.

  • Name
    auto_size
    Type
    boolean
    Description

    Gdy ustawione na true, usługa używa wizji AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiednio zmienia rozmiar modelu. Punkt początkowy domyślnie będzie ustawiony na bottom, chyba że origin_at zostanie jawnie ustawiony.

  • Name
    origin_at
    Type
    string
    domyślne bottom
    Description

    Pozycja punktu początkowego po zmianie rozmiaru.

    Dostępne wartości: bottom, center.

Zwraca

Właściwość result odpowiedzi zawiera id nowo utworzonego zadania zmiany rozmiaru.

Tryby błędów

  • 400 - Bad Request

Żądanie było nieakceptowalne. Typowe przyczyny:

  • Brakujący parametr: Należy podać model_url lub input_task_id.
  • Brakujący tryb zmiany rozmiaru: Należy określić co najmniej jeden z resize_height, resize_longest_side lub auto_size.
  • Wzajemnie wykluczające się parametry: resize_height, resize_longest_side i auto_size nie mogą być łączone.
  • Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do pomyślnego zadania.
  • Nieprawidłowy format modelu: model_url wskazuje na plik z nieobsługiwanym rozszerzeniem.
  • Nieosiągalny URL: model_url nie mógł zostać pobrany.
  • 401 - Unauthorized

Uwierzytelnianie nie powiodło się. Proszę sprawdzić swój klucz API.

  • 402 - Payment Required

Niewystarczająca liczba kredytów do wykonania tego zadania.

  • 429 - Too Many Requests

Przekroczyłeś swój limit szybkości.

Request

POST
/openapi/v1/resize
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "resize_height": 1.8
  }'

# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb",
    "resize_longest_side": 2.0,
    "origin_at": "center"
  }'

Response

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

GET/openapi/v1/resize/:id

Pobierz zadanie zmiany rozmiaru

Ten punkt końcowy pobiera zadanie zmiany rozmiaru według jego ID.

Parametry

  • Name
    id
    Type
    path
    Description

    ID zadania zmiany rozmiaru do pobrania.

Zwraca

Obiekt zadania zmiany rozmiaru.

Żądanie

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

Odpowiedź

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

DELETE/openapi/v1/resize/:id

Usuń zadanie Zmień rozmiar

Ten punkt końcowy trwale usuwa zadanie zmiany rozmiaru, w tym wszystkie powiązane modele i dane. Ta akcja jest nieodwracalna.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania zmiany rozmiaru do usunięcia.

Zwraca

Zwraca 200 OK w przypadku sukcesu.

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v1/resize

Lista Zadań Zmiany Rozmiaru

Ten punkt końcowy pozwala na pobranie listy zadań zmiany rozmiaru.

Parametry

  • Name
    page_num
    Type
    integer
    domyślne 1
    Description

    Numer strony dla stronicowania.

  • Name
    page_size
    Type
    integer
    domyślne 10
    Description

    Limit rozmiaru strony. Maksymalnie dozwolone to 50 elementów.

  • Name
    sort_by
    Type
    string
    Description

    Pole do sortowania. Dostępne wartości:

    • +created_at: Sortuj według czasu utworzenia w porządku rosnącym.
    • -created_at: Sortuj według czasu utworzenia w porządku malejącym.

Zwraca

Zwraca stronicowaną listę Obiektów Zadań Zmiany Rozmiaru.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "resize",
    "model_urls": {
      "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
    "consumed_credits": 1
  }
]

GET/openapi/v1/resize/:id/stream

Streamuj zadanie zmiany rozmiaru

Ten punkt końcowy przesyła w czasie rzeczywistym aktualizacje dla zadania zmiany rozmiaru za pomocą Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania zmiany rozmiaru do przesyłania.

Zwraca

Zwraca strumień Obiektów zadania zmiany rozmiaru jako Server-Sent Events.

Dla zadań PENDING lub IN_PROGRESS, strumień odpowiedzi będzie zawierał tylko niezbędne pola progress i status.

Request

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

Response Stream

// Message event examples illustrate task progress.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "resize",
  "model_urls": {
    "glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
  "consumed_credits": 1
}

Obiekt zadania zmiany rozmiaru

Obiekt zadania zmiany rozmiaru reprezentuje zadanie zmiany rozmiaru.

Właściwości

  • id · string

Unikalny identyfikator zadania.

  • type · string

Typ zadania. Wartość to resize.

  • model_urls · object

Pobieralny URL dla pliku modelu o zmienionym rozmiarze. Przy użyciu input_task_id, wynik zawsze jest w formacie GLB. Przy użyciu model_url, wynik zachowuje oryginalny format.

  • progress · integer

Postęp zadania (0-100).

  • status · string

Status zadania. Możliwe wartości: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Liczba poprzedzających zadań. Znaczące tylko, gdy status to PENDING.

  • created_at · znacznik czasu

Znacznik czasu, kiedy zadanie zostało utworzone, w milisekundach.

  • started_at · znacznik czasu

Znacznik czasu, kiedy zadanie zostało rozpoczęte, w milisekundach. 0 jeśli nie rozpoczęto.

  • finished_at · znacznik czasu

Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. 0 jeśli nie zakończono.

  • task_error · object

Obiekt błędu, jeśli zadanie nie powiodło się. Zobacz Błędy po więcej szczegółów.

  • consumed_credits · integer

Liczba kredytów zużytych przez to zadanie (1 kredyt na zadanie zmiany rozmiaru). Zwraca 0 dla zadań FAILED.