Obraz na 3D API

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


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

Tworzenie zadania Obraz na 3D

Ten punkt końcowy pozwala na utworzenie nowego zadania Obraz na 3D. Odniesienie do Obiektu zadania Obraz na 3D pokaże, które właściwości są zawarte w obiekcie zadania Obraz na 3D.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID zakończonego zadania generowania obrazu, którego wynik powinien być użyty jako obraz wejściowy. Zadanie to musi być jednym z następujących: Tekst na obraz lub Obraz na obraz. Dodatkowo, musiało być uruchomione przez API, mieć status SUCCEEDED i wygenerować dokładnie jeden obraz.

  • Name
    image_url
    Type
    string
    Wymagane
    Description

    Podaj obraz dla Meshy do użycia w tworzeniu modelu. Aktualnie obsługujemy formaty .jpg, .jpeg, i .png.

    Istnieją dwa sposoby podania obrazu:

    • Publicznie dostępny URL: URL dostępny z publicznego internetu.
    • Data URI: Zaszyfrowany w base64 Data URI obrazu. Przykład Data URI: data:image/jpeg;base64,<twoje obrazowe dane zakodowane w base64>.
  • Name
    model_type
    Type
    string
    domyślne standard
    Description

    Określ typ generowania siatki 3D.

    Dostępne wartości:

    • standard: Regularne generowanie siatki 3D z wysoką szczegółowością.
    • smart-topology: Wybierz model z Smart Topology używając ai_model (meshy-t1 lub meshy-t2).
    • lowpoly (przestarzałe): Generuje siatkę low-poly zoptymalizowaną dla czystszych wielokątów. Zalecamy użycie smart-topology zamiast tego.
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

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

    Standardowa generacja (model_type: standard):

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

    Generacja z Smart Topology (model_type: smart-topology):

    • meshy-t2 (domyślnie, zalecane): model Smart Topology — czystsza topologia, natywnie oddzielone części, wynik w trójkątach, oraz liczba twarzy którą można ustawić za pomocą target_polycount.
    • meshy-t1: stary model low-poly; nie obsługuje ustawiania liczby twarzy za pomocą target_polycount.
  • Name
    ultra_mode
    Type
    boolean
    domyślne false
    Description

    Włącza generację Ultra dla geometrii o wyższej wierności z drobniejszymi detalami powierzchni.

  • Name
    should_texture
    Type
    boolean
    domyślne true
    Description

    Określa, czy generowane są tekstury. Ustawienie na false pomija fazę tekstur, dostarczają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 podstawowego. Mapa emisji jest również dołączona, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-7 i latest nie produkują mapy emisji.

  • Name
    texture_resolution
    Type
    string
    domyślne 2k
    Description

    Rozdzielczość tekstury koloru podstawowego. Jeden z 2k (2048×2048), 4k (4096×4096), lub 8k (8192×8192). Wyższe rozdzielczości chwytają więcej detali powierzchni.

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

    Użyj texture_resolution zamiast — równoważne texture_resolution: "4k". Gdy obie wartości są ustawione, texture_resolution ma pierwszeństwo.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj tekst instrukcji do kierowania procesem teksturowania. Maksymalnie 600 znaków.

  • Name
    texture_image_url
    Type
    string
    Description

    Podaj obraz 2D do kierowania procesem teksturowania. Aktualnie obsługujemy formaty .jpg, .jpeg i .png.

    Istnieją dwa sposoby podania obrazu:

    • Publicznie dostępny URL: URL dostępny z publicznego internetu
    • Data URI: Zaszyfrowany w base64 Data URI obrazu. Przykład z Data URI: data:image/jpeg;base64,<twoje obrazowe dane zakodowane w base64>
  • Name
    should_remesh
    Type
    boolean
    domyślne false (meshy-6, meshy-7), true (inne)
    Description

    Kontroluje, czy włączyć fazę remesh. Dla najlepszego jakościowo modelu rekomendujemy ustawić should_remesh na false.

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

    Określ topologię generowanego modelu.

    Dostępne wartości:

    • quad: Generuj siatkę dominującą w kwadraty.
    • triangle: Generuj zredukowaną siatkę trójkątów.
  • Name
    decimation_mode
    Type
    integer
    Description

    Włącz adaptacyjną dekompresję przez ustawienie poziomu liczby wielokątów. Gdy jest ustawione, target_polycount jest ignorowane.

    Dostępne wartości:

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

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

  • Name
    target_polycount
    Type
    integer
    Description

    Docelowa liczba wielokątów (twarzy) w wyniku. Rzeczywista liczba może odbiegać od celu w zależności od geometr...

    target_polycount działa w dwóch niezależnych przypadkach:

    • Remesh — z should_remesh: true na modelu standard. Siatka jest remeshed (decydująca) do około tej liczby. Zakres od 100 do 300,000, domyślnie 30,000. Jeśli decimation_mode jest ustawiony, ma pierwszeństwo i target_polycount jest ignorowane.
    • Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio w tej liczbie twarzy; nie wykonywany jest remesh i 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 generacji 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 generacji.
  • Name
    pose_mode
    Type
    string
    domyślne ""
    Description

    Określ tryb pozy dla generowanego modelu.

    Dostępne wartości:

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

    Użyj pose_mode zamiast. Czy generować model w pozycji A/T.

  • Name
    image_enhancement
    Type
    boolean
    domyślne true
    Description

    Optymalizuje obraz wejściowy dla lepszych wyników. Ustaw na false, aby zachować dokładny wygląd obrazu wejściowego bez jakiejkolwiek obróbki stylu.

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

    Usuwa refleksy i cienie z podstawowej tekstury koloru, skutkując czystszym wynikiem, który działa lepiej w niestandardowych ustawieniach oświetlenia.

  • Name
    moderation
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, zawartość wejściowa będzie automatycznie sprawdzana pod kątem potencjalnie szkodliwej zawartości. Jeśli wykryta zostanie szk...

    Zawartość z image_url, texture_image_url i texture_prompt zostanie przetestowane.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają być zawarte w wyniku. Tylko żądane formaty będą generowane i zwracane, co może zredukować czas zakończenia zadania...

    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 używa wizji AI do automatycznego określenia rzeczywistej wysokości obiektu i odpowiednio zmienia jego rozmiar. Punkt początku...

  • 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...

  • Name
    multi_view_thumbnails
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, zadanie dodatkowo renderuje cztery miniaturki widoku kardynalnego (przód, prawo, tył, lewo) i zwraca je jako thumbnail_urls w...

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 nowo utworzonego zadania Obraz na 3D.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. Powszechne przyczyny:

    • Missing parameter: Either image_url or input_task_id must be provided.
    • Invalid input task: input_task_id musi odnosić się do SUCCEEDED Tekst na Obraz lub Obraz na Obraz, zadanie które produkuje dokładnie jeden obraz.
    • Invalid image format: Podany image_url nie jest obsługiwanym formatem (.jpg, .jpeg, .png).
    • Unreachable URL: image_url nie można było pobrać (404 lub timeout).
    • Invalid Data URI: Ciąg base64 jest uszkodzony.
    • Invalid kombinacja parametrów: enable_pbr jest obsługiwane tylko, gdy should_texture jest prawdziwe.
  • Name
    401 - Unauthorized
    Description

    Autoryzacja nie powiodła się. Proszę sprawdzić swój klucz API.

  • Name
    402 - Payment Required
    Description

    Niewystarczająca ilość kredytów do wykonania tego zadania.

  • Name
    429 - Too Many Requests
    Description

    Przekroczyli Państwo limit szybkości.

Request

POST
/openapi/v1/image-to-3d
# Proste żądanie z wymaganymi parametrami
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>"
  }'

# Z remesh, PBR i pozycją A
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łowe id zadania. Odniesienie do Obiektu zadania Obraz na 3D pokaże, które właściwości są zawarte w obiekcie zadania Obraz na 3D.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Obraz na 3D do pobrania.

Zwracane wartości

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

Request

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}"

Response

{
  "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 usuwa na stałe zadanie Obraz na 3D, włącznie ze wszystkimi związanymi modelami i danymi. Ta akcja jest nieodwracalna.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania Obraz na 3D do usunięcia.

Zwracane wartości

Zwraca 200 OK przy sukcesie.

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

// Zwraca 200 OK przy sukcesie.

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 wielkości strony. Domyślnie 10 pozycji. Maksymalnie 50 pozycji.

  • 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.

Zwracane wartości

Zwraca stronicowaną listę Obiektów zadania Obraz na 3D.

Request

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}"

Response

[
  {
    "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

Strumieniowe przetwarzanie zadania Obraz na 3D

Ten punkt końcowy strumieniuje aktualizacje w czasie rzeczywistym dla zadania Obraz na 3D za pomocą Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Obraz na 3D do strumieniowania.

Zwracane wartości

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

// Przykład wydarzenia błędu
event: error
data: {
  "status_code": 404,
  "message": "Zadanie nie znalezione"
}

// Przykłady wydarzeń komunikatów ilustrują postęp zadania.
// Dla zadań PENDING lub IN_PROGRESS strumień odpowiedzi nie będzie zawierać wszystkich pól.
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
}

Obiekt zadania Obraz na 3D

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

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Podczas gdy używamy k-sortowalnych UUID do identyfikatorów zadań jako szczegółu implementacji, nie należy robić żadnych założeń co do formatu identyfikatora.

  • Name
    type
    Type
    string
    Description

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

  • Name
    model_urls
    Type
    object
    Description

    Możliwe do pobrania URL do pliku z teksturowanym modelem 3D wygenerowanym przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie jest generowany zamiast zwracania pustego ciągu.

    • Name
      glb
      Type
      string
      Description

      Możliwe do pobrania URL do pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Możliwe do pobrania URL do pliku FBX.

    • Name
      obj
      Type
      string
      Description

      Możliwe do pobrania URL do pliku OBJ.

    • Name
      usdz
      Type
      string
      Description

      Możliwe do pobrania URL do pliku USDZ.

    • Name
      mtl
      Type
      string
      Description

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

    • Name
      stl
      Type
      string
      Description

      Możliwe do pobrania URL do pliku STL.

    • Name
      3mf
      Type
      string
      Description

      Możliwe do pobrania URL do pliku 3MF. Występuje tylko po wyraźnym żądaniu formatu 3mf.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      Możliwe do pobrania URL do oryginalnego wyjścia GLB przed remeshingiem.

  • Name
    thumbnail_url
    Type
    string
    Description

    Możliwe do pobrania URL do obrazu miniaturki pliku modelu. Odpowiada thumbnail_urls.front po obecności, zachowane dla zgodności wstecznej.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Możliwe do pobrania URL do wersji miniaturki z przezroczystym tłem (RGBA). Obecne tylko, 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

    Możliwe do pobrania URL do czterech miniatur w widoku kardynalnym wygenerowanego modelu 3D. Każda wartość to podpisane URL do 512×512 PNG renderowane z tymi samymi materiałami i oświetleniem jak thumbnail_url. Przydatne do podglądu modelu z wielu kątów w zautomatyzowanych procesach bez pobierania GLB.

    • Name
      front
      Type
      string
      Description

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

    • Name
      right
      Type
      string
      Description

      Widok prawy, obrót 90°.

    • Name
      back
      Type
      string
      Description

      Widok tylny, obrót 180°.

    • Name
      left
      Type
      string
      Description

      Widok lewy, obrót 270°.

  • Name
    texture_prompt
    Type
    string
    Description

    Tekstowy prompt użyty do kierowania procesem teksturowania.

  • Name
    texture_image_url
    Type
    string
    Description

    Możliwe do pobrania URL do obrazu tekstury użytego do kierowania procesem teksturowania.

  • Name
    ultra_mode
    Type
    boolean
    Description

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

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

    Znacznik czasu rozpoczęcia zadania, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość wynosi 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Znacznik czasu utworzenia zadania, w milisekundach.

  • Name
    expires_at
    Type
    timestamp
    Description

    Znacznik czasu, w którym nastąpi wygaśnięcie wyniku zadania, w milisekundach.

  • Name
    finished_at
    Type
    timestamp
    Description

    Znacznik czasu zakończenia zadania, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, właściwość ta wynosi 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-ów teksturlów, które zostały wygenerowane w ramach zadania. Zazwyczaj zawiera jeden obiekt URL tekstury. Każdy URL tekstury posiada następujące właściwości:

    • Name
      base_color
      Type
      string
      Description

      Możliwe do pobrania URL do obrazu mapy koloru podstawowego.

    • Name
      metallic
      Type
      string
      Description

      Możliwe do pobrania URL do obrazu mapy metaliczności.

    • Name
      normal
      Type
      string
      Description

      Możliwe do pobrania URL do obrazu mapy normalnych.

    • Name
      roughness
      Type
      string
      Description

      Możliwe do pobrania URL do obrazu mapy szorstkości.

    • Name
      emission
      Type
      string
      Description

      Możliwe do pobrania URL do obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba poprzedzających zadań.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędów dla zadań zakończonych niepowodzeniem. Zobacz Błędy dla pełnej referencji obiektów 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ładowy obiekt zadania Obraz na 3D

{
  "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
}