API Tekst na 3D

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

Tekst na 3D używa dwustopniowego przepływu pracy. Najpierw utwórz zadanie podglądu (mode: "preview") w celu wygenerowania siatki 3D bez tekstury, aby móc ocenić kształt. Następnie przekaż ID ukończonego zadania podglądu do zadania dopracowania (mode: "refine") w celu nałożenia tekstury na siatkę. Oba kroki korzystają z tego samego punktu końcowego.


POST/openapi/v2/text-to-3d

Create a Text to 3D Preview Task

Ten punkt końcowy tworzy zadanie podglądu Tekst na 3D, które generuje siatkę 3D bez tekstury (tylko geometria) na podstawie promptu tekstowego. Jest to pierwszy krok dwuetapowego procesu. Po pomyślnym zakończeniu podglądu użyj zwróconego identyfikatora zadania, aby utworzyć zadanie dopracowania w celu nałożenia tekstur. Zapoznaj się z Obiektem zadania Tekst na 3D, aby poznać pełny schemat odpowiedzi.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno być ustawione na "preview" podczas tworzenia zadania podglądu.

  • Name
    prompt
    Type
    string
    Wymagane
    Description

    Opisz, jakiego rodzaju obiektem jest model 3D. Maksymalnie 800 znaków.

  • Name
    model_type
    Type
    string
    domyślne standard
    Description

    Określ typ generowania siatki 3D.

    Dostępne wartości:

    • standard: Zwykłe 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 używanie zamiast tego smart-topology.
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    Identyfikator 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 topology, natywnie oddzielone części, wynik w postaci trójkątów 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 z dokładniejszymi szczegółami powierzchni. Generowanie trwa dłużej i dolicza 5 kredytów.

  • Name
    should_remesh
    Type
    boolean
    domyślne false (meshy-6, meshy-7), true (others)
    Description

    Kontroluje, czy włączyć fazę remesh. W przypadku modelu o 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 topology generowanego 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 jest ustawiony, target_polycount jest ignorowany.

    Dostępne wartości:

    • 1: Adaptacyjna — bardzo wysoka 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
    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 dla modelu standard. Siatka jest poddawana remesh (decymacji) do w przybliżeniu tej liczby. Zakres od 100 do 300 000, domyślnie 30 000. Jeśli ustawiono decimation_mode, ma on priorytet, a target_polycount jest ignorowany.
    • Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio z tą liczbą ścian; nie wykonuje się 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 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 tryb pozy generowanego modelu.

    Dostępne wartości:

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

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

  • Name
    art_style
    Type
    string
    przestarzałe
    domyślne realistic
    Description

    Nieobsługiwane przez Meshy-6. Żądania korzystające z Meshy-6 będą ignorować art_style, a niektóre kombinacje mogą powodować błędy. Dostępne wartości: realistic, sculpture.

  • 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 zostanie wykryta szkodliwa treść, zadanie nie przejdzie do etapu generowania.

    Sprawdzeniu zostanie poddany tekst z pola prompt.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają zostać uwzględnione w wyniku. Zostaną wygenerowane i zwrócone tylko żądane formaty, co może skrócić czas realizacji zadania. Gdy pominięte, uwzględnione są wszystkie obsługiwane formaty.

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

  • 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
    auto_size
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, usługa wykorzystuje wizję AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy domyślnie przyjmuje wartość bottom, chyba że origin_at zostanie jawnie ustawiony.

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 Tekst na 3D.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było nieprawidłowe. Typowe przyczyny:

    • Brakujący parametr: Brak wymaganego parametru (np. prompt, mode).
    • Nieprawidłowy parametr: art_style nie jest jedną z dozwolonych wartości.
    • Zbyt długi prompt: prompt przekracza limit znaków.
  • 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/v2/text-to-3d
# Simple preview with required params only
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a monster mask"
}'

# Preview with remesh and A-pose
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a futuristic robot warrior",
  "should_remesh": true,
  "target_polycount": 100000,
  "pose_mode": "a-pose",
  "target_formats": ["glb"]
}'

Response

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

POST/openapi/v2/text-to-3d

Create a Text to 3D Refine Task

Ten punkt końcowy tworzy zadanie refine Tekst na 3D, które nakłada teksturę na ukończoną siatkę podglądu. Musisz podać preview_task_id z pomyślnie ukończonego zadania podglądu. To jest drugi krok dwuetapowego procesu.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno być ustawione na "refine" podczas tworzenia zadania refine.

  • Name
    preview_task_id
    Type
    string
    Wymagane
    Description

    Odpowiadające id zadania podglądu.

    Status danego zadania podglądu musi mieć wartość SUCCEEDED.

  • 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 ma wartość meshy-6, z wyjątkiem texture_resolution: 8k (w takim przypadku mapa emisji nie jest generowana). meshy-7 (oraz latest) nie generuje mapy emisji.

  • Name
    texture_resolution
    Type
    string
    domyślne 2k
    Description

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

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

    Użyj zamiast tego texture_resolution — odpowiednika texture_resolution: "4k". Gdy oba parametry są ustawione, pierwszeństwo ma texture_resolution.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj dodatkowy 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: adres 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
    ai_model
    Type
    string
    domyślne latest
    Description

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

  • Name
    moderation
    Type
    boolean
    domyślne false
    Description

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

    Zarówno tekst z texture_prompt, jak i obraz z texture_image_url zostaną przeskanowane.

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

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

  • 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
    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
    auto_size
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, usługa korzysta z wizji AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio przeskalować model. Punkt początkowy domyślnie przyjmie wartość bottom, chyba że origin_at zostanie jawnie ustawione.

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 Tekst na 3D.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było niepoprawne. Typowe przyczyny:

    • Nieprawidłowy identyfikator zadania: preview_task_id jest nieprawidłowy lub nie istnieje.
    • Zadanie nie jest gotowe: zadanie podglądu jeszcze się nie powiodło.
    • Niezgodność modelu: model AI zadania podglądu jest niezgodny z żądanym modelem refine.
  • 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
    404 - Not Found
    Description

    Nie znaleziono zadania podglądu określonego przez preview_task_id.

  • Name
    429 - Too Many Requests
    Description

    Przekroczono limit szybkości.

Request

POST
/openapi/v2/text-to-3d
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "enable_pbr": true
}'

# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "target_formats": ["glb"],
  "auto_size": true
}'

Response

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

GET/openapi/v2/text-to-3d/:id

Pobierz zadanie Tekst na 3D

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

Ten punkt końcowy działa zarówno dla zadań podglądu, jak i dopracowania.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Tekst na 3D do pobrania.

Zwraca

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

Przykłady

TrybPrzykładowy model
PodglądModel podglądu
DopracowanieModel dopracowany

Żądanie

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

Odpowiedź

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "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=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?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=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "prompt": "a monster mask",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 20
}

DELETE/openapi/v2/text-to-3d/:id

Usuń zadanie Tekst na 3D

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

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania Tekst na 3D do usunięcia.

Zwraca

Zwraca 200 OK w przypadku powodzenia.

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v2/text-to-3d

Lista zadań Tekst na 3D

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

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ń Tekst na 3D.

Żądanie

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

Odpowiedź

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "text-to-3d-preview",
    "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=***",
      "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "prompt": "a monster mask",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 20
  }
]

GET/openapi/v2/text-to-3d/:id/stream

Streamuj zadanie Tekst na 3D

Ten punkt końcowy przesyła w czasie rzeczywistym aktualizacje dla zadania Tekst na 3D przy użyciu Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Tekst na 3D do przesyłania.

Zwraca

Zwraca strumień Obiektów Zadania Tekst 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/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v2/text-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",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
},
"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": 20
}

Obiekt Zadania Tekst na 3D

Obiekt Zadania Tekst na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D z wejściowego tekstu. Istnieją dwa etapy API Tekst na 3D, preview i refine. Etap podglądu służy do generowania modelu 3D tylko z siatką, a etap dopracowania do generowania modelu 3D z teksturą na podstawie wyniku etapu podglądu.

Obiekt ma następujące właściwości:

Właściwości

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    Typ zadania Tekst na 3D. Możliwe wartości to text-to-3d-preview dla zadań etapu podglądu i text-to-3d-refine dla zadań etapu dopracowania.

  • 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 zwracania pustego ciągu.

    • Name
      glb
      Type
      string
      Description

      Pobieralny URL do pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Pobieralny URL do pliku FBX.

    • Name
      usdz
      Type
      string
      Description

      Pobieralny URL do pliku USDZ.

    • Name
      obj
      Type
      string
      Description

      Pobieralny URL do pliku OBJ.

    • Name
      mtl
      Type
      string
      Description

      Pobieralny URL do pliku MTL.

    • 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
    prompt
    Type
    string
    Description

    To jest niezmodyfikowany prompt, który został użyty do stworzenia zadania.

  • Name
    negative_prompt
    Type
    string
    przestarzałe
    Description

    Utrzymywany dla zgodności wstecznej. To pole nie ma wpływu na generowane modele.

  • Name
    art_style
    Type
    string
    przestarzałe
    Description

    Niezmieniony art_style, który został użyty do stworzenia zadania podglądu. Nieobsługiwany przez Meshy-6.

  • Name
    texture_richness
    Type
    string
    przestarzałe
    Description

    Utrzymywany dla zgodności wstecznej. To pole nie ma wpływu na generowane modele.

  • Name
    texture_prompt
    Type
    string
    Description

    Dodatkowy tekstowy prompt dostarczony w celu kierowania procesem teksturowania podczas etapu dopracowania.

  • Name
    ultra_mode
    Type
    boolean
    Description

    Odbija wartość ultra_mode, z którą zostało stworzone zadanie podglądu. Obecny tylko dla zadań podglądu meshy-7 (lub latest), które wyraźnie ustawiły ultra_mode; w przeciwnym razie pominięty.

  • Name
    texture_image_url
    Type
    string
    Description

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

  • Name
    thumbnail_url
    Type
    string
    Description

    Pobieralny URL do obrazu miniatury pliku modelu.

  • 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 przezroczysty podgląd został pomyślnie wygenerowany; w przeciwnym razie to pole jest pomijane.

  • Name
    video_url
    Type
    string
    przestarzałe
    Description

    Pobieralny URL do wideo podglądu. Zostanie usunięty w przyszłej wersji.

  • Name
    progress
    Type
    integer
    Description

    Postęp zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, 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 nie zostało jeszcze rozpoczęte, 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
    finished_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie nie zostało jeszcze zakończone, 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 Obiektu Zadania Tekst na 3D

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "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=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "prompt": "a monster mask",
  "texture_prompt": "green slimy skin with scales and warts",
  "texture_image_url": "",
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "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": 20
}