API Wiele obrazów na 3D

API Wiele obrazów na 3D to funkcja, która pozwala zintegrować możliwości Meshy w zakresie Wiele obrazów na 3D z własną aplikacją. W tej sekcji znajdziesz wszystkie informacje, których potrzebujesz, aby rozpocząć pracę z tym API.


POST/openapi/v1/multi-image-to-3d

Utwórz zadanie Wiele obrazów na 3D

Ten punkt końcowy umożliwia utworzenie nowego zadania Wiele obrazów na 3D. Zobacz Obiekt zadania Wiele obrazów na 3D, aby sprawdzić, które właściwości są uwzględnione w obiekcie zadania Wiele obrazów na 3D.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID ukończonego zadania generowania obrazów, którego wynik (1–4 obrazy) ma zostać użyty jako dane wejściowe. To zadanie musi być jednym z następujących zadań: Tekst na obraz, Obraz na obraz, Tekst na obraz Wiele widoków lub Obraz na obraz Wiele widoków. Ponadto musi zostać uruchomione przez API i mieć status SUCCEEDED.

  • Name
    image_urls
    Type
    array
    Wymagane
    Description

    Podaj od 1 do 4 obrazów, których Meshy ma użyć do tworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg i .png. Aby uzyskać najlepsze wyniki, wszystkie obrazy powinny przedstawiać ten sam obiekt z różnych kątów.

    Istnieją dwa sposoby podania każdego obrazu:

    • Publicznie dostępny URL: URL dostępny z publicznego internetu.
    • Data URI: zakodowany w base64 Data URI obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    ID modelu do użycia. Dostępne wartości: meshy-5, meshy-6, latest (Meshy 6).

  • Name
    should_texture
    Type
    boolean
    domyślne true
    Description

    Określa, czy tekstury są generowane. Ustawienie na false pomija fazę tekstury, zapewniając siatkę bez tekstur.

Dotyczy tylko gdy should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    domyślne false
    Description

    Generuj mapy PBR (metallic, roughness, normal) oprócz koloru bazowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6 lub latest.

  • Name
    hd_texture
    Type
    boolean
    domyślne false
    Description

    Generuj teksturę koloru bazowego w rozdzielczości 4K (4096×4096), aby uzyskać większą szczegółowość.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj tekstowy prompt, aby pokierować procesem teksturowania. Maksymalnie 600 znaków.

  • Name
    texture_image_url
    Type
    string
    Description

    Podaj obraz 2D, aby pokierować procesem teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg i .png.

    Istnieją dwa sposoby podania obrazu:

    • Publicznie dostępny URL: URL dostępny z publicznego internetu
    • Data URI: zakodowany w base64 Data URI obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    should_remesh
    Type
    boolean
    domyślne false (meshy-6), true (others)
    Description

    Kontroluje, czy włączyć fazę Remesh. Gdy ustawiono na false, API zwraca trójkątną siatkę o najwyższej precyzji.

Dotyczy tylko gdy should_remesh = true
  • Name
    topology
    Type
    string
    domyślne triangle
    Description

    Określ topology wygenerowanego modelu.

    Dostępne wartości:

    • quad: Generuj siatkę z przewagą czworokątów.
    • triangle: Generuj zredukowaną siatkę trójkątną.
  • Name
    target_polycount
    Type
    integer
    domyślne 30,000
    Description

    Określ docelową liczbę wielokątów w wygenerowanym modelu. Rzeczywista liczba wielokątów może odbiegać od celu w zależności od złożoności geometrii.

    Prawidłowy zakres wartości różni się w zależności od poziomu użytkownika:

    • Od 100 do 300 000 (włącznie)
  • Name
    decimation_mode
    Type
    integer
    Description

    Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Po ustawieniu target_polycount jest ignorowane.

    Dostępne wartości:

    • 1: Adaptacyjnie — ultra liczba wielokątów.
    • 2: Adaptacyjnie — wysoka liczba wielokątów.
    • 3: Adaptacyjnie — średnia liczba wielokątów.
    • 4: Adaptacyjnie — niska liczba wielokątów.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    domyślne false
    Description

    Gdy ustawiono na true, Meshy przechowuje również dodatkowy plik GLB przed zakończeniem fazy Remesh.

  • Name
    symmetry_mode
    Type
    string
    przestarzałe
    domyślne auto
    Description

    Przestarzałe. Ten parametr nie wpływa już na wynik.

    Pole symmetry_mode kontroluje zachowanie symetrii podczas procesu generowania modelu.

    Prawidłowe wartości to:

    • off: Wyłącza symetrię.
    • auto: Automatycznie określa i stosuje symetrię na podstawie geometrii wejściowej.
    • on: Wymusza symetrię podczas generowania.
  • Name
    pose_mode
    Type
    string
    domyślne ""
    Description

    Określ pose mode dla wygenerowanego modelu.

    Dostępne wartości:

    • a-pose: Generuj model w pozie A.
    • t-pose: Generuj model w pozie T.
    • "" (pusty ciąg): Nie zastosowano konkretnej pozy.
  • Name
    is_a_t_pose
    Type
    boolean
    przestarzałe
    domyślne false
    Description

    Zamiast tego użyj pose_mode. Określa, czy generować model w pozie A/T.

  • Name
    image_enhancement
    Type
    boolean
    domyślne true
    Description

    Optymalizuje obrazy wejściowe, aby uzyskać lepsze wyniki. Ustaw na false, aby zachować dokładny wygląd obrazów wejściowych bez jakiegokolwiek przetwarzania stylu.

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

    Usuwa rozjaśnienia i cienie z tekstury koloru bazowego, tworząc czystszy wynik, który działa lepiej w niestandardowych konfiguracjach oświetlenia.

  • Name
    moderation
    Type
    boolean
    domyślne false
    Description

    Gdy ustawiono na true, zawartość wejściowa zostanie automatycznie sprawdzona pod kątem potencjalnie szkodliwych treści. Jeśli szkodliwe treści zostaną wykryte, zadanie nie przejdzie do generowania.

    Każdy obraz z image_urls oraz tekst z texture_prompt zostaną sprawdzone.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D uwzględnić w wyniku. Zostaną wygenerowane i zwrócone tylko żądane formaty, co może skrócić czas ukończenia zadania.

    Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf

  • Name
    auto_size
    Type
    boolean
    domyślne false
    Description

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

  • Name
    alpha_thumbnail
    Type
    boolean
    domyślne false
    Description

    Gdy ustawiono na true, zadanie dodatkowo renderuje wersję podglądu z przezroczystym tłem (RGBA) i zwraca ją jako alpha_thumbnail_url w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian.

  • Name
    multi_view_thumbnails
    Type
    boolean
    domyślne false
    Description

    Gdy ustawiono na true, zadanie dodatkowo renderuje miniatury z czterech głównych widoków (przód, prawy bok, tył, lewy bok) i zwraca je w thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian i nadal wskazuje widok z przodu, więc istniejący klienci pozostają nienaruszeni.

Dotyczy tylko gdy auto_size = true
  • Name
    origin_at
    Type
    string
    domyślne bottom
    Description

    Pozycja punktu początkowego, gdy auto_size jest włączone. Dostępne wartości: bottom, center.

Zwraca

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Wiele obrazów na 3D.

Tryby błędów

  • Name
    400 - Bad Request
    Description

    Żądanie było niedopuszczalne. Typowe przyczyny:

    • Brakujący parametr: Należy podać image_urls albo input_task_id.
    • Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do zadania Tekst na obraz, Obraz na obraz lub wariantu z wieloma widokami o statusie SUCCEEDED.
    • Nieprawidłowa liczba obrazów: image_urls musi zawierać od 1 do 4 obrazów.
    • Nieprawidłowy format obrazu: Jeden lub więcej obrazów w image_urls ma nieobsługiwany format.
    • Nieosiągalny URL: Nie udało się pobrać jednego lub więcej image_urls.
  • Name
    401 - Unauthorized
    Description

    Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

    Przekroczono limit szybkości.

Request

POST
/openapi/v1/multi-image-to-3d
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ]
  }'

# With PBR texturing and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ],
    "should_texture": true,
    "enable_pbr": true,
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/multi-image-to-3d/:id

Pobierz zadanie Wiele obrazów na 3D

Ten punkt końcowy pozwala pobrać zadanie Wiele obrazów na 3D przy użyciu prawidłowego id zadania. Zobacz Obiekt zadania Wiele obrazów na 3D, aby sprawdzić, które właściwości są zawarte w obiekcie zadania Wiele obrazów na 3D.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Wiele obrazów na 3D do pobrania.

Zwraca

Odpowiedź zawiera obiekt zadania Wiele obrazów na 3D. Sprawdź sekcję Obiekt zadania Wiele obrazów na 3D, aby uzyskać szczegóły.

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30
}

DELETE/openapi/v1/multi-image-to-3d/:id

Usuń zadanie Wiele obrazów na 3D

Ten punkt końcowy trwale usuwa zadanie Wiele obrazów na 3D, wraz ze wszystkimi powiązanymi modelami i danymi. Tej akcji nie można cofnąć.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    Identyfikator zadania Wiele obrazów na 3D do usunięcia.

Zwraca

Zwraca 200 OK w przypadku powodzenia.

Request

DELETE
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/multi-image-to-3d

Lista zadań Wiele obrazów na 3D

Ten punkt końcowy pozwala pobrać listę zadań Wiele obrazów na 3D.

Parametry

Atrybuty opcjonalne

  • Name
    page_num
    Type
    integer
    Description

    Numer strony dla stronicowania. Zaczyna się od 1 i domyślnie wynosi 1.

  • Name
    page_size
    Type
    integer
    Description

    Limit rozmiaru strony. Domyślnie 10 elementów. Maksymalna dozwolona wartość to 50 elementów.

  • Name
    sort_by
    Type
    string
    Description

    Pole, według którego sortować. Dostępne wartości:

    • +created_at: Sortuj według czasu utworzenia w kolejności rosnącej.
    • -created_at: Sortuj według czasu utworzenia w kolejności malejącej.

Zwracane dane

Zwraca stronicowaną listę obiektów zadań Wiele obrazów na 3D.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "multi-image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 30
  }
]

GET/openapi/v1/multi-image-to-3d/:id/stream

Strumieniuj zadanie Wiele obrazów na 3D

Ten punkt końcowy strumieniuje aktualizacje w czasie rzeczywistym dla zadania Wiele obrazów na 3D przy użyciu Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Wiele obrazów na 3D do strumieniowania.

Zwraca

Zwraca strumień obiektów zadań Wiele obrazów na 3D 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/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/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": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
  "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
  "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
  "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
  "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
  "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30
}

Obiekt zadania Wiele obrazów na 3D

Obiekt zadania Wiele obrazów na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D z wielu obrazów (od 1 do 4 włącznie). Obrazy powinny przedstawiać ten sam obiekt, najlepiej z różnych widoków lub pod różnymi kątami. Obiekt ma następujące właściwości:

Properties

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Chociaż jako szczegół implementacyjny używamy UUID sortowalnego według k dla identyfikatorów zadań, nie należy przyjmować żadnych założeń dotyczących formatu identyfikatora.

  • Name
    type
    Type
    string
    Description

    Typ zadania Wiele obrazów na 3D. Wartość to multi-image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    URL do pobrania pliku teksturowanego modelu 3D wygenerowanego przez Meshy. Właściwość dla danego formatu zostanie pominięta, jeśli format nie został wygenerowany, zamiast zwracania pustego ciągu.

    • Name
      glb
      Type
      string
      Description

      URL do pobrania pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      URL do pobrania pliku FBX.

    • Name
      obj
      Type
      string
      Description

      URL do pobrania pliku OBJ.

    • Name
      usdz
      Type
      string
      Description

      URL do pobrania pliku USDZ.

    • Name
      mtl
      Type
      string
      Description

      URL do pobrania pliku MTL, zwracany wraz z eksportami OBJ, gdy obecne są tekstury.

    • Name
      stl
      Type
      string
      Description

      URL do pobrania pliku STL.

    • Name
      3mf
      Type
      string
      Description

      URL do pobrania pliku 3MF. Obecny tylko wtedy, gdy 3mf został zażądany za pomocą target_formats.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      URL do pobrania oryginalnego wyniku GLB przed remeshingiem.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL do pobrania obrazu miniatury pliku modelu. Równoważny z thumbnail_urls.front, gdy jest obecny, zachowany dla zgodności wstecznej.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL do pobrania wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true i przezroczysty podgląd został pomyślnie wyrenderowany; w przeciwnym razie to pole jest pomijane.

  • Name
    thumbnail_urls
    Type
    object
    Description

    URL-e do pobrania czterech miniatur wygenerowanego modelu 3D z widoków kardynalnych. Każda wartość jest podpisanym URL-em do pliku PNG 512×512 wyrenderowanego z tymi samymi materiałami i oświetleniem co thumbnail_url. Przydatne do podglądu modelu z wielu kątów w potokach wsadowych bez pobierania GLB.

    • Name
      front
      Type
      string
      Description

      Widok z przodu, obrót 0° wokół osi pionowej (pasuje do thumbnail_url).

    • Name
      right
      Type
      string
      Description

      Widok z prawej, obrót 90°.

    • Name
      back
      Type
      string
      Description

      Widok z tyłu, obrót 180°.

    • Name
      left
      Type
      string
      Description

      Widok z lewej, obrót 270°.

  • Name
    texture_prompt
    Type
    string
    Description

    Prompt tekstowy, który został użyty do kierowania procesem teksturowania.

  • Name
    progress
    Type
    integer
    Description

    Wartość progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć wartość 0. Gdy zadanie zakończy się sukcesem, wartość ta stanie się 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Znacznik czasu momentu rozpoczęcia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć wartość 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Znacznik czasu momentu utworzenia zadania, w milisekundach.

  • Name
    expires_at
    Type
    timestamp
    Description

    Znacznik czasu momentu wygaśnięcia wyniku zadania, w milisekundach.

  • Name
    finished_at
    Type
    timestamp
    Description

    Znacznik czasu momentu zakończenia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze zakończone, ta właściwość będzie mieć wartość 0.

  • Name
    status
    Type
    string
    Description

    Status zadania. Możliwe wartości to jedna z PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Tablica obiektów URL tekstur wygenerowanych z zadania. Zwykle zawiera tylko jeden obiekt URL tekstury. Każdy URL tekstury ma następujące właściwości:

    • Name
      base_color
      Type
      string
      Description

      URL do pobrania obrazu mapy koloru bazowego.

    • Name
      metallic
      Type
      string
      Description

      URL do pobrania obrazu mapy metaliczności.

    • Name
      normal
      Type
      string
      Description

      URL do pobrania obrazu mapy normalnych.

    • Name
      roughness
      Type
      string
      Description

      URL do pobrania obrazu mapy chropowatości.

    • Name
      emission
      Type
      string
      Description

      URL do pobrania obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba poprzedzających zadań.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną dokumentację obiektu task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Liczba kredytów zużytych przez to zadanie. Obecna, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).

Example Multi-Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 30,
}