lowpoly zostanie wycofany 30 paź 2026. Zmień model przed tymi datami, aby uniknąć błędów żądań.

Tekst na 3D API

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

Tekst na 3D wykorzystuje dwuetapowy przepływ pracy. Najpierw utwórz zadanie preview (mode: "preview"), aby wygenerować siatkę 3D bez tekstury, dzięki czemu możesz ocenić kształt. Następnie przekaż identyfikator zadania ukończonego preview do zadania refine (mode: "refine"), aby nałożyć teksturę na siatkę. Oba kroki współdzielą ten sam punkt końcowy.


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

Create a Text to 3D Preview Task

Ten punkt końcowy tworzy zadanie typu Tekst na 3D preview, które generuje siatkę 3D bez tekstur (samą geometrię) na podstawie promptu tekstowego. To pierwszy krok dwuetapowego procesu. Gdy preview zakończy się powodzeniem, użyj zwróconego ID zadania, aby utworzyć zadanie refine w celu nałożenia tekstur. Zapoznaj się z obiektem zadania Tekst na 3D, aby poznać pełny schemat odpowiedzi.

Zadanie jest wykonywane w tle. Informacje o tym, ile zwykle trwa, znajdziesz w sekcji Czasy przetwarzania.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno być ustawione na „preview” podczas tworzenia zadania preview.

  • 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: Standardowe generowanie siatki 3D o wysokim poziomie szczegółowości.
    • smart-topology: Wybierz model Smart Topology za pomocą ai_model (meshy-t2 lub meshy-t2.5).
    • lowpoly (przestarzałe, zostanie wycofane 30 października 2026 r.): Generuje siatkę low-poly zoptymalizowaną pod kątem czystszych wielokątów. Zamiast tego zalecamy Meshy T2.5: smart-topology z meshy-t2.5.
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    ID modelu, którego należy użyć. Dostępne wartości zależą od model_type.

    Generowanie standardowe (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (przestarzałe): zamiast tego użyj meshy-7.1.

    Generowanie Smart Topology (model_type: smart-topology):

    • meshy-t2: model Smart Topology — czystsza topology, natywnie rozdzielone części, wynik w trójkątach oraz liczba ścian, którą można ustawić za pomocą target_polycount.
    • meshy-t2.5 (domyślny): Ostrzejsze detale dla zasobów do gier. Wynik w trójkątach oraz liczba ścian, którą można ustawić za pomocą target_polycount.
  • Name
    geometry_resolution
    Type
    string
    domyślne standard
    Description

    Przebieg generowania geometrii. 2k uruchamia przebieg Ultra w rozdzielczości 2048³; 4k uruchamia go w rozdzielczości 4096³ dla najdokładniejszych szczegółów powierzchni.

    Dostępne wartości: standard, 2k, 4k

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

    Użyj zamiast tego geometry_resolution. ultra_mode: true jest równoważne geometry_resolution: "2k".

  • Name
    should_remesh
    Type
    boolean
    domyślne false (Meshy 6 and Meshy 7 models), 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ę opartą głównie na czworokątach.
    • 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 ten parametr jest ustawiony, target_polycount jest ignorowany.

    Dostępne wartości:

    • 1: Adaptacyjny — bardzo wysoka liczba wielokątów.
    • 2: Adaptacyjny — wysoka liczba wielokątów.
    • 3: Adaptacyjny — średnia liczba wielokątów.
    • 4: Adaptacyjny — 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, wartość domyślna 30 000. Jeśli ustawiono decimation_mode, ma on priorytet, a target_polycount jest ignorowany.
    • Smart Topology — z model_type: smart-topology oraz ai_model meshy-t2 lub meshy-t2.5. Model jest generowany bezpośrednio z tą liczbą ścian; remesh nie jest wykonywany, a should_remesh nie jest wymagane. Dla meshy-t2: zakres od 100 do 15 000, wartość domyślna 4 000. Dla meshy-t2.5: zakres od 100 do 30 000, wartość domyślna 15 000.
  • Name
    symmetry_mode
    Type
    string
    ⚠ przestarzałe
    domyślne auto
    Description

    Przestarzałe. Ten parametr nie ma już wpływu 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 generowanego 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

    Użyj zamiast tego pose_mode. Określa, czy wygenerować model w pozycji 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 szkodliwych treści. Jeśli zostaną wykryte szkodliwe treści, zadanie nie przejdzie do etapu generowania.

    Sprawdzony zostanie tekst z 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 realizacji zadania. Jeśli parametr zostanie pominięty, uwzględnione zostaną 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ę preview 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 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 włączone jest auto_size.

    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: Brakuje 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.
    • Nieobsługiwany model dla low poly: ai_model: "meshy-6-lite" nie obsługuje model_type: "lowpoly".
    • Nieobsługiwany model dla Ultra: geometry_resolution wymaga meshy-7.1 lub latest.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Niewystarczająca liczba kredytów, aby wykonać to zadanie.

  • 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 Ultra 4K geometry, 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",
  "ai_model": "meshy-7.1",
  "geometry_resolution": "4k",
  "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

Utwórz zadanie Text to 3D Refine

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

Zadanie jest wykonywane w tle. Informacje o tym, jak długo to zwykle trwa, znajdziesz w sekcji Czasy przetwarzania.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno mieć wartość "refine" podczas tworzenia zadania refine.

  • Name
    preview_task_id
    Type
    string
    Wymagane
    Description

    Odpowiadający identyfikator zadania preview.

    Status podanego zadania preview 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 dołączana również wtedy, gdy ai_model ma wartość meshy-6, z wyjątkiem texture_resolution: 8k (wtedy mapa emisji nie jest tworzona). meshy-6-lite, meshy-7.1 i latest nie generują mapy emisji, podobnie jak refine podglądu meshy-t2, który nie ustawia ai_model.

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

  • 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, pierwszeństwo ma texture_resolution.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj dodatkowy prompt tekstowy, który pokieruje procesem teksturowania. Maksymalnie 800 znaków.

  • Name
    texture_image_url
    Type
    string
    Description

    Podaj obraz 2D, który pokieruje procesem teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.

    Maksymalny rozmiar pliku: 20 MB.

    Istnieją dwa sposoby podania obrazu:

    • Publicznie dostępny URL: adres URL dostępny z poziomu publicznego internetu
    • Data URI: zakodowany w base64 identyfikator URI danych obrazu. Przykład identyfikatora URI danych: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    ai_model
    Type
    string
    domyślne inherited from the preview task
    Description

    Identyfikator modelu używanego do refine.

    Dostępne wartości:

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (przestarzałe): użyj zamiast tego meshy-7.1.

    Pomiń ten parametr, aby odziedziczyć model użyty w zadaniu preview, co utrzymuje preview i jego refine na tym samym modelu od początku do końca. Podaj jawną wartość, aby nadpisać to dziedziczenie.

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

    Sprawdzany będzie zarówno tekst z texture_prompt, jak i obraz z texture_image_url.

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

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 dane

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

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było niedopuszczalne. Typowe przyczyny:

    • Nieprawidłowy identyfikator zadania: preview_task_id jest nieprawidłowy lub nie istnieje.
    • Zadanie nie jest gotowe: zadanie preview jeszcze się nie powiodło.
    • Niezgodność modeli: model AI zadania preview jest niezgodny z żądanym modelem refine.
    • Nieobsługiwany model dla remove_lighting: remove_lighting jest ustawiony razem z ai_model: "meshy-6-lite".
  • 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 preview wskazanego 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 umożliwia pobranie zadania Tekst na 3D na podstawie prawidłowego id zadania. Zapoznaj się z Obiektem zadania Tekst na 3D, aby zobaczyć, jakie właściwości są zawarte w obiekcie zadania Tekst na 3D.

Ten punkt końcowy działa zarówno dla zadań preview, jak i refine.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Tekst na 3D do pobrania.

Wartości zwracane

Odpowiedź zawiera obiekt zadania Tekst na 3D. Szczegóły znajdziesz w sekcji Obiekt zadania Tekst na 3D.

Przykłady

ModePrzykładowy model
PreviewPreview model
RefineRefined model

Request

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

Response

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

Usuwanie zadania Tekst na 3D

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

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania Tekst na 3D do usunięcia.

Status zadania

Zadanie, które wciąż ma status PENDING, zostaje usunięte, a kredyty zużyte podczas jego tworzenia są zwracane.

Zadanie, które jest już w stanie IN_PROGRESS, nie może zostać usunięte: żądanie zostaje odrzucone z kodem 409 Conflict, a zadanie nadal działa. Kredyty za zadanie, które worker już rozpoczął przetwarzać, nie podlegają zwrotowi, więc usunięcie go w trakcie wykonywania kosztowałoby zarówno kredyty, jak i wynik. Poczekaj, aż osiągnie status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.

Zadanie w stanie końcowym (SUCCEEDED, FAILED lub CANCELED) zostaje usunięte bez zwrotu kredytów.

Zwracane dane

Zwraca 200 OK w przypadku sukcesu lub 409 Conflict, gdy zadanie ma status IN_PROGRESS.

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

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

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

List Text to 3D Tasks

Ten punkt końcowy umożliwia pobranie listy zadań Tekst na 3D.

Parametry

  • Name
    page_num
    Type
    integer
    domyślne 1
    Description

    Numer strony do stronicowania.

  • Name
    page_size
    Type
    integer
    domyślne 10
    Description

    Limit rozmiaru strony. Maksymalna dozwolona wartość to 100 elementów.

  • Name
    sort_by
    Type
    string
    Description

    Pole, według którego ma nastąpić sortowanie.

    Dostępne wartości:

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

Zwraca

Zwraca stronicowaną listę obiektów zadania Tekst na 3D.

Request

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

Response

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

Przesyłanie strumieniowe zadania Tekst na 3D

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

Parametry

  • Name
    id
    Type
    path
    Description

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

Zwraca

Zwraca strumień obiektów zadania Tekst na 3D jako Server-Sent Events.

W przypadku zadań o statusie PENDING lub IN_PROGRESS strumień odpowiedzi będzie zawierał wyłącznie 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órej przebieg Meshy śledzi w celu wygenerowania modelu 3D na podstawie wejściowego tekstu. Istnieją dwa etapy API Tekst na 3D: preview oraz refine. Etap preview służy do generowania modelu 3D zawierającego wyłącznie siatkę, a etap refine służy do generowania modelu 3D z teksturą na podstawie wyniku etapu preview.

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

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Choć jako szczegół implementacyjny używamy identyfikatorów zadań w postaci UUID z sortowaniem k, nie należy przyjmować żadnych założeń dotyczących formatu tego identyfikatora.

  • Name
    type
    Type
    string
    Description

    Typ zadania Tekst na 3D. Możliwe wartości to text-to-3d-preview dla zadań etapu preview oraz text-to-3d-refine dla zadań etapu refine.

  • Name
    model_urls
    Type
    object
    Description

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

    • Name
      glb
      Type
      string
      Description

      Adres URL do pobrania pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Adres URL do pobrania pliku FBX.

    • Name
      usdz
      Type
      string
      Description

      Adres URL do pobrania pliku USDZ.

    • Name
      obj
      Type
      string
      Description

      Adres URL do pobrania pliku OBJ.

    • Name
      mtl
      Type
      string
      Description

      Adres URL do pobrania pliku MTL.

    • Name
      stl
      Type
      string
      Description

      Adres URL do pobrania pliku STL.

    • Name
      3mf
      Type
      string
      Description

      Adres URL do pobrania pliku 3MF. Występuje tylko wtedy, gdy format 3mf został zażądany w target_formats.

  • Name
    prompt
    Type
    string
    Description

    To jest niezmieniony prompt, który został użyty do utworzenia zadania.

  • Name
    negative_prompt
    Type
    string
    ⚠ przestarzałe
    Description

    Utrzymywane dla zachowania zgodności wstecznej. To pole nie ma żadnego wpływu funkcjonalnego na generowane modele.

  • Name
    art_style
    Type
    string
    ⚠ przestarzałe
    Description

    Niezmieniony art_style, który został użyty do utworzenia zadania preview. Niewspierane przez Meshy-6.

  • Name
    texture_richness
    Type
    string
    ⚠ przestarzałe
    Description

    Utrzymywane dla zachowania zgodności wstecznej. To pole nie ma żadnego wpływu funkcjonalnego na generowane modele.

  • Name
    texture_prompt
    Type
    string
    Description

    Dodatkowy prompt tekstowy dostarczony w celu ukierunkowania procesu teksturowania podczas etapu refine.

  • Name
    ultra_mode
    Type
    boolean
    ⚠ przestarzałe
    Description

    Przestarzałe; odczytaj zamiast tego geometry_resolution.

  • Name
    geometry_resolution
    Type
    string
    Description

    Poziom Ultra, z jakim uruchomiono zadanie preview (2k lub 4k); pomijane dla standard.

  • Name
    texture_image_url
    Type
    string
    Description

    Adres URL do pobrania obrazu tekstury, który został użyty do ukierunkowania procesu teksturowania.

  • Name
    thumbnail_url
    Type
    string
    Description

    Adres URL do pobrania obrazu miniatury pliku modelu.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Adres URL do pobrania wersji thumbnail_url z przezroczystym tłem (RGBA). Występuje 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
    video_url
    Type
    string
    ⚠ przestarzałe
    Description

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

  • Name
    progress
    Type
    integer
    Description

    Postęp zadania (progress). Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się powodzeniem, przyjmie wartość 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ść będzie miała wartość 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Znacznik czasu utworzenia 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, ta właściwość będzie miała 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 adresów URL tekstur wygenerowanych w ramach zadania. Zwykle zawiera ona tylko jeden obiekt adresu URL tekstury. Każdy obiekt adresu URL tekstury posiada następujące właściwości:

    • Name
      base_color
      Type
      string
      Description

      Adres URL do pobrania obrazu mapy koloru bazowego.

    • Name
      metallic
      Type
      string
      Description

      Adres URL do pobrania obrazu mapy metaliczności.

    • Name
      normal
      Type
      string
      Description

      Adres URL do pobrania obrazu mapy normalnych.

    • Name
      roughness
      Type
      string
      Description

      Adres URL do pobrania obrazu mapy chropowatości.

    • Name
      emission
      Type
      string
      Description

      Adres URL do pobrania obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba zadań poprzedzających.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla nieudanych zadań. Pełny opis obiektu task_error znajdziesz w sekcji Błędy.

  • 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 Text to 3D Task Object

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