API Tekst na 3D

API Tekst na 3D to funkcja, która pozwala na integrację możliwości Tekst na 3D Meshy z 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 ocenić kształt. Następnie przekazuj ukończony identyfikator zadania podglądu do zadania ulepszenia (mode: "refine") w celu nałożenia tekstury na siatkę. Obie etapy korzystają z tego samego punktu końcowego.


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

Utwórz zadanie podglądu Tekst na 3D

Ten punkt końcowy tworzy zadanie podglądu Tekst na 3D, które generuje nieoteksturowaną siatkę 3D (tylko geometria) z tekstowego prompta. To jest pierwszy krok w dwustopniowym przepływie pracy. Gdy podgląd się powiedzie, użyj zwróconego identyfikatora zadania, aby utworzyć zadanie ulepszenia w celu nałożenia tekstury. Zapoznaj się z Obiektem zadania Tekst na 3D dla pełnego schematu odpowiedzi.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno być ustawione na "preview", gdy tworzysz zadanie podglądu.

  • Name
    prompt
    Type
    string
    Wymagane
    Description

    Opisz, jaki rodzaj obiektu ma mieć model 3D. Maksymalnie 600 znaków.

  • Name
    model_type
    Type
    string
    domyślne standard
    Description

    Określ typ generacji siatki 3D.

    Dostępne wartości:

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

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

    Standardowe generowanie (model_type: standard):

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

    Generowanie Smart Topology (model_type: smart-topology):

    • meshy-t2 (domyślnie): model Smart Topology — czystsza topologia, nienatywnie oddzielone części, wyjście trójkątów i liczba twarzy, którą można ustawić 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 bardziej szczegółową powierzchnią. Generacja trwa dłużej i dodaje 5 kredytów.

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

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

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

    Określ topologię modelu, który zostanie wygenerowany.

    Dostępne wartości:

    • quad: Generuj siatkę z dominującymi czworokątami.
    • triangle: Generuj zdekomponowaną siatkę trójkątów.
  • Name
    decimation_mode
    Type
    integer
    Description

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

    Dostępne wartości:

    • 1: Adaptacyjne — ultra liczba wielokątów.
    • 2: Adaptacyjne — wysoka liczba wielokątów.
    • 3: Adaptacyjne — średnia liczba wielokątów.
    • 4: Adaptacyjne — niska liczba wielokątów.
  • Name
    target_polycount
    Type
    integer
    Description

    Docelowa liczba wielokątów (twarzy) w wyniku. Rzeczywista liczba może się różnić od celu w zależności od geometrii.

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

    • Remesh — z should_remesh: true na modelu standard. Siatka zostanie ponownie wygenerowana (zdekomponowana) do około tej liczby. Zakres od 100 do 300 000, domyślnie 30 000. Jeśli jest ustawiony decimation_mode, ma on priorytet, a target_polycount jest ignorowane.
    • Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio przy tej liczbie twarzy; nie ma uruchamiania remesh i should_remesh nie jest wymagane. Zakres od 100 do 15 000, domyślnie 4 000.
  • Name
    symmetry_mode
    Type
    string
    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 pozie A.
    • t-pose: Wygeneruj model w pozie T.
    • "" (pusty ciąg): Nie stosuje się konkretnej pozy.
  • Name
    is_a_t_pose
    Type
    boolean
    domyślne false
    Description

    Używaj pose_mode. Czy wygenerować model w pozie A/T.

  • Name
    art_style
    Type
    string
    domyślne realistic
    Description

    Nieobsługiwane przez Meshy-6. Żądania używające Meshy-6 zignorują 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 będzie automatycznie przeszukiwana pod kątem potencjalnie szkodliwej treści. Jeśli wykryta zostanie szkodliwa treść, zadanie nie przejdzie do generacji.

    Tekst z prompt zostanie przeszukany.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają być uwzględnione w wyniku. Tylko żądane formaty zostaną wygenerowane i zwrócone, co może skrócić czas realizacji zadania. Gdy pominie się, wszystkie wspierane formaty są uwzględniane.

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

  • Name
    auto_size
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, serwis używa wizji AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy zostanie domyślnie ustawiony na bottom, chyba że origin_at zostanie explicytne ustawiony.

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

    Położenie punktu początkowego, gdy auto_size jest włączone.

    Dostępne wartości: bottom, center.

Zwraca

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

Tryby błędów

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. Częste przyczyny:

    • Brakujący parametr: Brak wymagany parametr (np. prompt, mode).
    • Nieprawidłowy parametr: art_style nie jest jednym 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

    Przekroczyłeś swój limit szybkości.

Żądanie

POST
/openapi/v2/text-to-3d
# Prosty podgląd tylko z wymaganymi parametrami
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": "maska potwora"
}'

# Podgląd z remesh i pozą A
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": "futurystyczny robot wojownik",
  "should_remesh": true,
  "target_polycount": 100000,
  "pose_mode": "a-pose",
  "target_formats": ["glb"]
}'

Odpowiedź

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

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

Utwórz zadanie ulepszenia Tekst na 3D

Ten punkt końcowy tworzy zadanie ulepszenia Tekst na 3D, które nakłada teksturę na ukończoną siatkę podglądu. Musisz podać preview_task_id z udanej podglądowej zadania. Jest to drugi krok w dwustopniowym przepływie pracy.

Parametry

  • Name
    mode
    Type
    string
    Wymagane
    Description

    To pole powinno być ustawione na "refine", gdy tworzymy zadanie ulepszenia.

  • Name
    preview_task_id
    Type
    string
    Wymagane
    Description

    Odpowiadający identyfikator zadania podglądu.

    Status podanego zadania podglądu musi być SUCCEEDED.

  • Name
    enable_pbr
    Type
    boolean
    domyślne false
    Description

    Generuj mapy PBR (metalliczne, szorstkość, normalność) oprócz podstawowego koloru. Mapa emisji jest również dołączona, gdy ai_model jest meshy-6, z wyjątkiem texture_resolution: 8k (nie jest produkowana mapa emisji). meshy-7 (i latest) nie produkuje mapy emisji.

  • Name
    texture_resolution
    Type
    string
    domyślne 2k
    Description

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

  • Name
    hd_texture
    Type
    boolean
    domyślne false
    Description

    Użyj texture_resolution zamiast tego — równoważne z texture_resolution: "4k". Jeśli oba są ustawione, texture_resolution ma pierwszeństwo.

  • Name
    texture_prompt
    Type
    string
    Description

    Podaj dodatkowy tekstowy prompt w celu kierowania procesem teksturowania. Maksymalnie 600 znaków.

  • Name
    texture_image_url
    Type
    string
    Description

    Podaj dwuwymiarowy obrazek, aby kierować procesem teksturowania. Aktualnie obsługujemy formaty .jpg, .jpeg i .png.

    Istnieją dwa sposoby na dostarczenie obrazu:

    • Publicznie dostępny URL: URL, który jest dostępny z publicznego internetu
    • Data URI: Bazowy kodowany URI danych obrazu. Przykład URI danych: data:image/jpeg;base64,<twoje bazowe kodowane dane obrazowe>
  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    ID modelu do użycia w celu ulepszenia. 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 będzie automatycznie przeszukiwana pod kątem potencjalnie szkodliwych treści. Jeśli wykryta zostanie szkodliwa treść, zadanie nie przejdzie do generacji.

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

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

    Usuwa światła i cienie z tekstury podstawowego koloru, generując czystszy wynik, który lepiej działa w niestandardowych ustawieniach oświetlenia.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają być uwzględnione w wyniku. Tylko żądane formaty zostaną wygenerowane i zwrócone, co może skrócić czas realizacji zadania. Gdy pominie się, wszystkie wspierane formaty są uwzględniane.

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

  • Name
    auto_size
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, serwis używa wizji AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy zostanie domyślnie ustawiony na bottom, chyba że origin_at zostanie explicytne ustawiony.

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

    Położenie punktu początkowego, gdy auto_size jest włączone.

    Dostępne wartości: bottom, center.

Zwraca

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

Tryby błędów

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. Częste przyczyny:

    • Nieprawidłowy identyfikator zadania: preview_task_id jest nieprawidłowy lub nie istnieje.
    • Zadanie nie jest gotowe: Zadanie podglądu nie zostało jeszcze zakończone sukcesem.
    • Niewłaściwe modele: Model AI zadania podglądu jest niekompatybilny z żądanym modelem ulepszenia.
  • 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

    Żądane zadanie podglądu określone przez preview_task_id nie zostało znalezione.

  • Name
    429 - Too Many Requests
    Description

    Przekroczyłeś swój limit szybkości.

Żądanie

POST
/openapi/v2/text-to-3d
# Podstawowe zadanie ulepszenia
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
}'

# Ulepszenie z automatycznym rozmiarem i formatem GLB
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
}'

Odpowiedź

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

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

Pobierz zadanie Tekst na 3D

Ten punkt końcowy pozwala pobrać zadanie Tekst na 3D, podając ważny identyfikator zadania id. Odnosz 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 ulepszenia.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator 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
UlepszenieUlepszony model

Żą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": "maska potwora",
  "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łącznie ze wszystkimi powiązanymi modelami i danymi. 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 sukcesu.

Żądanie

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

Odpowiedź

// Zwraca 200 Ok przy sukcesie.

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

Lista zadań Tekst na 3D

Ten punkt końcowy pozwala pobrać listę 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 jest 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.

Zwraca

Zwraca listę ze stronicowaniem Obiektów zadania 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": "maska potwora",
    "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

Strumień zadania Tekst na 3D

Ten punkt końcowy strumieniuje aktualizacje w czasie rzeczywistym dla zadania Tekst na 3D, używając Zdarzeń Wysyłanych z Serwera (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Tekst na 3D do strumieniowania.

Zwraca

Zwraca strumień Obiektów zadania Tekst na 3D jako Zdarzenia Wysyłane z Serwera.

Dla zadań PENDING lub IN_PROGRESS, strumień odpowiedzi będzie zawierać tylko niezbędne pola progress i status.

Żądanie

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

Strumień Odpowiedzi

// Przykład zdarzenia błędu
event: error
data: {
  "status_code": 404,
  "message": "Nie znaleziono zadania"
}

// Przykłady zdarzeń wiadomości ilustrujących 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",
  "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 jest jednostką roboczą, którą Meshy śledzi, aby wygenerować model 3D z wejścia tekstowego. Istnieją dwa etapy API Tekst na 3D, preview i refine. Etap podglądu służy do generowania modelu 3D tylko z siatki, a etap ulepszenia służy do generowania teksturowanego modelu 3D 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 zadania. Chociaż używamy k-sortowalnego UUID dla identyfikatorów zadań jako szczegóły implementacji, nie powinieneś wysnuwać żadnych założeń odnośnie 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 ulepszenia.

  • Name
    model_urls
    Type
    object
    Description

    Może być pobrany URL do wygenerowanego przez Meshy pliku modelu 3D z teksturą. Właściwość dla formatu będzie pominięta, jeśli format nie został wygenerowany, zamiast zwracania pustego ciągu.

    • Name
      glb
      Type
      string
      Description

      Może być pobrany URL do pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Może być pobrany URL do pliku FBX.

    • Name
      usdz
      Type
      string
      Description

      Może być pobrany URL do pliku USDZ.

    • Name
      obj
      Type
      string
      Description

      Może być pobrany URL do pliku OBJ.

    • Name
      mtl
      Type
      string
      Description

      Może być pobrany URL do pliku MTL.

    • Name
      stl
      Type
      string
      Description

      Może być pobrany URL do pliku STL.

    • Name
      3mf
      Type
      string
      Description

      Może być pobrany URL do pliku 3MF. Obecne tylko wtedy, gdy 3mf zostało zażądane przez target_formats.

  • Name
    prompt
    Type
    string
    Description

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

  • Name
    negative_prompt
    Type
    string
    Description

    Utrzymane dla kompatybilności wstecznej. To pole nie ma funkcjonalnego wpływu na generowane modele.

  • Name
    art_style
    Type
    string
    Description

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

  • Name
    texture_richness
    Type
    string
    Description

    Utrzymane dla kompatybilności wstecznej. To pole nie ma funkcjonalnego wpływu na generowane modele.

  • Name
    texture_prompt
    Type
    string
    Description

    Dodatkowy tekstowy prompt dostarczony do kierowania procesem teksturowania na etapie ulepszenia.

  • Name
    ultra_mode
    Type
    boolean
    Description

    Odtwarza wartość ultra_mode, za którą zostało utworzone zadanie podglądu. Obecne tylko dla zadań podglądu meshy-7 (lub latest), które explicytne ustawiły ultra_mode; pominięte w przeciwnym razie.

  • Name
    texture_image_url
    Type
    string
    Description

    Może być pobrany URL do obrazu teksturowego, używanego do kierowania procesem teksturowania.

  • Name
    thumbnail_url
    Type
    string
    Description

    Może być pobrany URL do obrazu miniatury pliku modelu.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Może być pobrany URL do wersji thumbnail_url z przezroczystym tłem (RGBA). Obecne tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true i przezroczysty podgląd został pomyślnie renderowany; w przeciwnym razie to pole jest pominięte.

  • Name
    video_url
    Type
    string
    Description

    Może być pobrany URL do filmu podglądowego. Zostanie usunięte w przyszłej wersji.

  • Name
    progress
    Type
    integer
    Description

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

      Może być pobrany URL do obrazu mapy podstawowego koloru.

    • Name
      metallic
      Type
      string
      Description

      Może być pobrany URL do obrazu metalicznej mapy.

    • Name
      normal
      Type
      string
      Description

      Może być pobrany URL do obrazu mapy normalności.

    • Name
      roughness
      Type
      string
      Description

      Może być pobrany URL do obrazu mapy szorstkości.

    • Name
      emission
      Type
      string
      Description

      Może być pobrany URL do obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba poprzednich zadań.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla zadań niepowodzenia. 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 przy niepowodzeniu).

Przykładowy Obiekt 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": "maska potwora",
  "texture_prompt": "zielona śliska skóra z łuskami i brodawkami",
  "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
}