Obraz na 3D API

Obraz na 3D API to funkcja, która pozwala na integrację możliwości Obraz na 3D Meshy z Twoją własną aplikacją. W tej sekcji znajdziesz wszystkie informacje potrzebne do rozpoczęcia pracy z tym API.


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

Utwórz zadanie Obraz na 3D

Ten punkt końcowy umożliwia utworzenie nowego zadania Obraz na 3D. Zapoznaj się z Obiektem zadania Obraz na 3D, aby zobaczyć, jakie właściwości są zawarte w obiekcie zadania Obraz na 3D.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID ukończonego zadania generowania obrazu, którego wynik ma zostać użyty jako obraz wejściowy. To zadanie musi być jednym z następujących: Tekst na obraz lub Obraz na obraz. Ponadto musi zostać uruchomione przez API, mieć status SUCCEEDED i wygenerować dokładnie jeden obraz.

  • Name
    image_url
    Type
    string
    Wymagane
    Description

    Podaj obraz, który Meshy użyje do utworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg i .png.

    Istnieją dwa sposoby dostarczenia obrazu:

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

    Określ typ generowania siatki 3D.

    Dostępne wartości:

    • standard: standardowe generowanie siatki 3D o wysokiej szczegółowości.
    • smart-topology: wybierz model Smart Topology za pomocą ai_model (meshy-t2).
    • lowpoly (przestarzałe): generuje siatkę low-poly zoptymalizowaną pod kątem czystszych wielokątów. Zalecamy zamiast tego użycie smart-topology.
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    ID modelu do użycia. Dostępne wartości zależą od model_type.

    Generowanie standardowe (model_type: standard):

    • meshy-5, meshy-6, meshy-7, latest (Meshy 7)

    Generowanie Smart Topology (model_type: smart-topology):

    • meshy-t2 (domyślne): model Smart Topology — czystsza topologia, natywnie rozdzielone części, wynik trójkątny oraz liczba ścian, którą można ustawić za pomocą target_polycount.
  • Name
    ultra_mode
    Type
    boolean
    domyślne false
    Description

    Włącza generowanie Ultra dla geometrii o wyższej wierności i drobniejszych szczegółach powierzchni.

  • Name
    should_texture
    Type
    boolean
    domyślne true
    Description

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

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

    Generuje mapy PBR (metaliczność, chropowatość, normalna) oprócz koloru bazowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-7 i latest nie generują mapy emisji.

  • Name
    texture_resolution
    Type
    string
    domyślne 2k
    Description

    Rozdzielczość tekstury koloru bazowego. Jedna z: 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości uchwytują więcej szczegółów powierzchni.

  • Name
    hd_texture
    Type
    boolean
    przestarzałe
    domyślne false
    Description

    Zamiast tego użyj texture_resolution — odpowiednik texture_resolution: "4k". Gdy oba są ustawione, texture_resolution ma pierwszeństwo.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj prompt tekstowy, aby ukierunkować proces teksturowania. Maksymalnie 800 znaków.

  • Name
    texture_image_url
    Type
    string
    Description

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

    Istnieją dwa sposoby dostarczenia obrazu:

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

    Kontroluje, czy włączyć fazę remesh. Aby uzyskać model najwyższej jakości, zalecamy ustawienie should_remesh na false.

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

    Określ topologię wygenerowanego modelu.

    Dostępne wartości:

    • quad: generuje siatkę z przewagą czworokątów.
    • triangle: generuje zdecymowaną siatkę trójkątną.
  • Name
    decimation_mode
    Type
    integer
    Description

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

    Dostępne wartości:

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

    Gdy ustawione na true, Meshy dodatkowo zapisuje dodatkowy plik GLB przed zakończeniem fazy remesh.

  • Name
    target_polycount
    Type
    integer
    Description

    Docelowa liczba wielokątów (ścian) w wyniku. Rzeczywista liczba może odbiegać od wartości docelowej w zależności od geometrii.

    target_polycount ma zastosowanie w dwóch niezależnych przypadkach:

    • Remesh — z should_remesh: true na modelu standard. Siatka jest poddawana remeshowi (decymacji) do w przybliżeniu tej liczby. Zakres od 100 do 300 000, domyślnie 30 000. Jeśli ustawiono decimation_mode, ma on pierwszeństwo, a target_polycount jest ignorowane.
    • Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio z tą liczbą ścian; remesh nie jest uruchamiany, a should_remesh nie jest wymagane. Zakres od 100 do 15 000, domyślnie 4 000.
  • 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 mode pozy dla wygenerowanego modelu.

    Dostępne wartości:

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

    Zamiast tego użyj pose_mode. Czy generować model w pozycji A/T.

  • Name
    image_enhancement
    Type
    boolean
    domyślne true
    Description

    Optymalizuje obraz wejściowy w celu uzyskania lepszych wyników. Ustaw na false, aby zachować dokładny wygląd obrazu wejściowego bez jakiegokolwiek przetwarzania stylu.

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

    Usuwa podświetlenia i cienie z tekstury koloru bazowego, dając czystszy wynik, który lepiej sprawdza się przy niestandardowych konfiguracjach oświetlenia.

  • Name
    moderation
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, treść wejściowa zostanie automatycznie sprawdzona pod kątem potencjalnie szkodliwej zawartości. Jeśli wykryto szkodliwą treść, zadanie nie przejdzie do generowania.

    Sprawdzana będzie treść z danych wejściowych image_url, texture_image_url i texture_prompt.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają zostać uwzględnione w wyniku. Generowane i zwracane będą tylko żądane formaty, co może skrócić czas ukończenia zadania. Gdy pominięte, uwzględniane są wszystkie obsługiwane formaty.

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

  • Name
    auto_size
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, usługa wykorzystuje wizję AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego zmienienia rozmiaru modelu. Punkt początkowy domyślnie ustawi się na bottom, chyba że origin_at zostanie jawnie ustawiony.

  • Name
    alpha_thumbnail
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione 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 ustawione na true, zadanie dodatkowo renderuje cztery miniatury z widokami kierunkowymi (przód, prawo, tył, lewo) i zwraca je w polu thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian i nadal wskazuje na widok z przodu, więc istniejący klienci nie są dotknięci.

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.

Zwracane wartości

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Obraz na 3D.

Tryby awarii

  • Name
    400 - Bad Request
    Description

    Żądanie było niedopuszczalne. Typowe przyczyny:

    • Brakujący parametr: należy podać image_url lub input_task_id.
    • Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do zadania Tekst na obraz lub Obraz na obraz o statusie SUCCEEDED, które generuje dokładnie jeden obraz.
    • Nieprawidłowy format obrazu: podany image_url nie jest w obsługiwanym formacie (.jpg, .jpeg, .png).
    • Niedostępny URL: nie udało się pobrać image_url (404 lub timeout).
    • Nieprawidłowy Data URI: ciąg base64 jest nieprawidłowo sformatowany.
    • Nieprawidłowa kombinacja parametrów: enable_pbr jest obsługiwane tylko wtedy, gdy should_texture ma wartość true.
  • 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/image-to-3d
# Simple request with required params
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>"
  }'

# With remesh, PBR, and A-pose
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "enable_pbr": true,
    "should_remesh": true,
    "target_polycount": 100000,
    "should_texture": true,
    "pose_mode": "a-pose",
    "target_formats": ["glb"]
  }'

Response

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

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

Pobierz zadanie Obraz na 3D

Ten punkt końcowy pozwala na pobranie zadania Obraz na 3D, podając prawidłowy id zadania. Odnieś się do Obiekt zadania Obraz na 3D, aby zobaczyć, które właściwości są zawarte w obiekcie zadania Obraz na 3D.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Obraz na 3D do pobrania.

Zwraca

Odpowiedź zawiera obiekt zadania Obraz na 3D. Sprawdź sekcję Obiekt zadania Obraz na 3D dla szczegółów.

Żądanie

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

Odpowiedź

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "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/image-to-3d/:id

Usuń zadanie Obraz na 3D

Ten punkt końcowy trwale usuwa zadanie Obraz na 3D, w tym wszystkie powiązane modele i dane. Ta akcja jest nieodwracalna.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania Obraz na 3D do usunięcia.

Zwraca

Zwraca 200 OK w przypadku powodzenia.

Request

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

Response

// Returns 200 Ok on success.

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

Lista zadań Obraz na 3D

Ten punkt końcowy pozwala na pobranie listy zadań Obraz na 3D.

Parametry

Opcjonalne atrybuty

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

    Limit rozmiaru strony. Domyślnie 10 elementów. 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ń Obraz na 3D.

Żądanie

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

Odpowiedź

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "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/image-to-3d/:id/stream

Streamuj zadanie Obraz na 3D

Ten punkt końcowy przesyła strumieniowo aktualizacje w czasie rzeczywistym dla zadania Obraz na 3D, używając Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Obraz na 3D do streamowania.

Zwraca

Zwraca strumień Obiektów zadania Obraz 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/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/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": "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
}

Obraz na 3D Obiekt zadania

Obiekt zadania Obraz na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D z wejściowego obrazu. Obiekt ma następujące właściwości:

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Chociaż używamy UUID sortowalnego k dla identyfikatorów zadań jako szczegółu implementacji, nie powinieneś zakładać żadnego formatu identyfikatora.

  • Name
    type
    Type
    string
    Description

    Typ zadania Obraz na 3D. Wartość to image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    Pobieralny URL do pliku modelu 3D z teksturą wygenerowanego przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie zostanie wygenerowany, zamiast zwracać pusty ciąg.

    • Name
      glb
      Type
      string
      Description

      Pobieralny URL do pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Pobieralny URL do pliku FBX.

    • Name
      obj
      Type
      string
      Description

      Pobieralny URL do pliku OBJ.

    • Name
      usdz
      Type
      string
      Description

      Pobieralny URL do pliku USDZ.

    • Name
      mtl
      Type
      string
      Description

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

    • Name
      stl
      Type
      string
      Description

      Pobieralny URL do pliku STL.

    • Name
      3mf
      Type
      string
      Description

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

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      Pobieralny URL do oryginalnego wyjścia GLB przed remeshingiem.

  • Name
    thumbnail_url
    Type
    string
    Description

    Pobieralny URL do miniatury obrazu pliku modelu. Odpowiada thumbnail_urls.front, gdy jest obecny, zachowany dla kompatybilności wstecznej.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Pobieralny URL do wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true i przezroczysta wersja została pomyślnie wyrenderowana; w przeciwnym razie to pole jest pomijane.

  • Name
    thumbnail_urls
    Type
    object
    Description

    Pobieralne URL-e dla czterech miniatur widoków kardynalnych wygenerowanego modelu 3D. Każda wartość to podpisany URL do 512×512 PNG wyrenderowanego z tymi samymi materiałami i oświetleniem co thumbnail_url. Przydatne do podglądu modelu z różnych kątów w potokach wsadowych bez pobierania GLB.

    • Name
      front
      Type
      string
      Description

      Widok z przodu, obrót 0° wokół osi pionowej (odpowiada 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

    Tekstowy prompt, który został użyty do kierowania procesem teksturowania.

  • Name
    texture_image_url
    Type
    string
    Description

    Pobieralny URL do obrazu tekstury, który został użyty do kierowania procesem teksturowania.

  • Name
    ultra_mode
    Type
    boolean
    Description

    Odzwierciedla wartość ultra_mode, z którą zadanie zostało utworzone. Obecne tylko dla zadań meshy-7 (lub latest), które wyraźnie ustawiły ultra_mode; w przeciwnym razie pomijane.

  • Name
    progress
    Type
    integer
    Description

    Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się sukcesem, stanie się 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało rozpoczęte, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy wynik zadania wygasa, w milisekundach.

  • Name
    finished_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, ta właściwość będzie miała wartość 0.

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

    Tablica obiektów URL tekstur, które są generowane 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

      Pobieralny URL do obrazu mapy koloru bazowego.

    • Name
      metallic
      Type
      string
      Description

      Pobieralny URL do obrazu mapy metaliczności.

    • Name
      normal
      Type
      string
      Description

      Pobieralny URL do obrazu mapy normalnych.

    • Name
      roughness
      Type
      string
      Description

      Pobieralny URL do obrazu mapy szorstkości.

    • Name
      emission
      Type
      string
      Description

      Pobieralny URL do obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba poprzedzających zadań.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla nieudanych zadań. Zobacz Błędy dla pełnej referencji obiektu task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

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

Przykład Obraz na 3D Obiekt zadania

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "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": "",
  "texture_image_url": "",
  "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
}