Tekst na 3D API to funkcja, która umożliwia zintegrowanie możliwości Tekst na 3D od Meshy z Twoją 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 ukończonego zadania preview do zadania refine (mode: "refine"), aby nałożyć teksturę na siatkę. Oba kroki korzystają z tego samego punktu końcowego.
Ten punkt końcowy tworzy zadanie podglądu Tekst na 3D, które generuje siatkę 3D bez tekstury (tylko geometria) na podstawie promptu tekstowego. To pierwszy krok w dwuetapowym procesie. Po pomyślnym wygenerowaniu podglądu 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 zobaczyć pełny schemat odpowiedzi.
Parametry
Name
mode
Type
string
Wymagane
Description
To pole powinno mieć wartość „preview” podczas tworzenia zadania podglądu.
Name
prompt
Type
string
Wymagane
Description
Opisz, jaki obiekt reprezentuje model 3D. Maksymalnie 800 znaków.
Name
model_type
Type
string
domyślne standard
Description
Określa typ generowania siatki 3D.
Dostępne wartości:
standard: Standardowe generowanie siatki 3D o wysokiej szczegółowości.
smart-topology: Wybierz model Smart Topology za pomocą ai_model (meshy-t2).
meshy-t2 (domyślnie): model Smart Topology — czystsza topology, natywnie oddzielone części, wynik w postaci trójkątów oraz liczba ścianek, 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 przy 2048³; 4k uruchamia go przy 4096³ dla
najlepszej szczegółowości powierzchni.
Dostępne wartości: standard, 2k, 4k
Obsługiwane tylko w mode preview. Wymaga meshy-7.1 lub latest.
Name
ultra_mode
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj geometry_resolution zamiast tego parametru. 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
Określa, 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śla topology generowanego modelu.
Dostępne wartości:
quad: Generuje siatkę zdominowaną przez czworokąty.
triangle: Generuje zdecymowaną siatkę trójkątów.
Wynik Smart Topology jest zawsze w postaci trójkątów. Żądanie quad w połączeniu z ai_model: meshy-t2 zwraca błąd.
Name
decimation_mode
Type
integer
Description
Włącza adaptacyjną decymację poprzez ustawienie poziomu liczby wielokątów. Gdy 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 (ścianek) 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 w modelu standard. Siatka zostaje poddana remesh (decymacji) do wartości zbliżonej do 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 i ai_model: meshy-t2. Model jest generowany bezpośrednio z tą liczbą ścianek; remesh nie jest wykonywany, a should_remesh nie jest wymagany. Zakres od 100 do 15 000, wartość domyślna 4 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 w procesie generowania modelu.
Dostępne wartości:
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śla 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): Nie stosuje żadnej konkretnej pozycji.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj pose_mode zamiast tego parametru. Określa, czy generować 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 zignorują art_style, a niektóre kombinacje mogą powodować błędy. Dostępne wartości: realistic, sculpture.
enable_pbr powinno być ustawione na false w przypadku stylu Sculpture, ponieważ styl Sculpture generuje własny zestaw map PBR.
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.
Sprawdzana będzie treść pola prompt.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D mają być zawarte w wyniku. Zostaną wygenerowane i zwrócone tylko żądane formaty, co może zmniejszyć czas realizacji zadania. Gdy pole jest pominięte, uwzględniane są wszystkie obsługiwane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy pole jest pominięte, generowane są wszystkie formaty oprócz 3mf. Format 3mf jest uwzględniany tylko wtedy, gdy zostanie wyraźnie określony.
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, usługa wykorzystuje wizję AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego zmienienia rozmiaru modelu. Punkt początkowy domyślnie będzie ustawiony na bottom, o ile origin_at nie 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.
Rodzaje niepowodzeń
Name
400 - Bad Request
Description
Żądanie było niepoprawne. Częste przyczyny:
Brakujący parametr: Wymagany parametr (np. prompt, mode) jest brakujący.
Nieprawidłowy parametr: art_style nie jest jedną z dozwolonych wartości.
Prompt zbyt długi: 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 do wykonania tego zadania.
Ten punkt końcowy tworzy zadanie refine dla Tekst na 3D, które nakłada teksturę na zakończoną siatkę preview. Musisz podać preview_task_id z zakończonego powodzeniem zadania preview. Jest to drugi krok w dwuetapowym procesie.
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 preview.
Status podanego zadania preview musi być SUCCEEDED.
Name
enable_pbr
Type
boolean
domyślne false
Description
Generuje mapy PBR (metallic, roughness, normal) oprócz podstawowego koloru. Mapa emisji jest również dołączana, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k (mapa emisji nie jest wtedy generowana). meshy-6-lite, meshy-7.1 i latest nie generują mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury podstawowego koloru. Jedna z: 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości pozwalają uchwycić więcej szczegółów powierzchni. Ma zastosowanie tylko w mode refine.
4k i 8k wymagają ai_modelmeshy-6, meshy-7.1 lub latest. Przy 8k mapa emisji nie jest generowana.
Name
hd_texture
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj texture_resolution — jest to równoważne texture_resolution: "4k". Gdy ustawiono oba parametry, texture_resolution ma pierwszeństwo.
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 wspieramy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: URL dostępny z publicznego internetu
Data URI: Zakodowany w base64 data URI obrazu. Przykład data URI: data:image/jpeg;base64,<your base64-encoded image data>
Teksturowanie na podstawie obrazu może nie działać optymalnie, jeśli między oryginalnym assetem a przesłanym obrazem istnieją znaczące różnice geometrii. Do ukierunkowania procesu teksturowania można użyć tylko jednego z parametrów texture_image_url lub texture_prompt. Jeśli podano oba parametry, domyślnie do teksturowania modelu zostanie użyty texture_prompt.
meshy-7 (przestarzałe): użyj meshy-7.1 zamiast tego.
Pomiń ten parametr, aby dziedziczyć model użyty przez zadanie preview, co zapewnia, że preview i jego refine korzystają z tego samego modelu od początku do końca. Podaj wartość jawnie, aby zastąpić to dziedziczenie.
Jawnie podane latest jest tutaj rozwiązywane w taki sam sposób jak w zadaniu preview (obecnie Meshy 7.1), więc preview z latest i jego refine z latest zawsze trafiają na ten sam model tekstur.
Name
moderation
Type
boolean
domyślne false
Description
Gdy ustawione na true, treść wejściowa zostanie automatycznie przeskanowana pod kątem potencjalnie szkodliwej treści. Jeśli wykryto szkodliwą treść, zadanie nie przejdzie do etapu generowania.
Skanowany 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 światła i cienie z tekstury podstawowego koloru, tworząc czystszy rezultat, który lepiej działa w niestandardowych konfiguracjach oświetlenia.
Działa tylko wtedy, gdy ai_model to meshy-6; inne modele ignorują ten parametr.
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 zmniejszyć czas zakończenia zadania. Gdy pominięte, uwzględniane są wszystkie wspierane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy pominięte, generowane są wszystkie formaty oprócz 3mf. 3mf jest uwzględniany tylko wtedy, gdy zostanie wyraźnie określony.
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 do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego przeskalowania modelu. Punkt początkowy domyślnie ustawiony jest na bottom, o ile origin_at nie zostanie wyraźnie określony.
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.
Sposoby 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 preview jeszcze nie zakończyło się powodzeniem.
Niezgodność modelu: Model AI zadania preview jest niekompatybilny 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
Zadanie preview określone przez preview_task_id nie zostało znalezione.
Ten punkt końcowy umożliwia pobranie zadania Tekst na 3D na podstawie prawidłowego id zadania.
Zapoznaj się z sekcją Obiekt 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 dla zadań preview oraz refine.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Tekst na 3D do pobrania.
Wartość zwrotna
Odpowiedź zawiera obiekt zadania Tekst na 3D. Sprawdź
sekcję Obiekt zadania Tekst na 3D, aby uzyskać szczegóły.
Ten punkt końcowy trwale usuwa zadanie Tekst na 3D, wraz ze wszystkimi powiązanymi modelami i danymi. 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 nadal ma status PENDING, jest usuwane, a kredyty
zużyte w momencie utworzenia zostają zwrócone.
Zadanie, które ma już status IN_PROGRESS, nie może zostać usunięte: żądanie jest
odrzucane z kodem 409 Conflict, a zadanie jest kontynuowane. Kredyty za zadanie,
które worker już rozpoczął, nie podlegają zwrotowi, więc usunięcie go w trakcie
działania oznaczałoby utratę zarówno kredytów, jak i wyniku. Poczekaj, aż osiągnie
status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.
Zadanie w stanie końcowym (SUCCEEDED, FAILED lub CANCELED) jest usuwane
bez zwrotu kredytów.
Zwraca
Zwraca 200 OK w przypadku sukcesu lub 409 Conflict, gdy zadanie ma status
IN_PROGRESS.
// 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."}
Obiekt zadania Tekst na 3D to jednostka pracy, którą Meshy śledzi w celu wygenerowania modelu 3D na podstawie danych wejściowych w postaci tekstu. Istnieją dwa etapy API Tekst na 3D: preview i refine. Etap preview służy do generowania modelu 3D zawierającego wyłącznie siatkę, a etap refine służy do generowania teksturowanego modelu 3D 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. Chociaż jako szczegół implementacyjny używamy identyfikatorów zadań w formacie UUID z sortowaniem k, nie należy zakładać niczego na temat formatu 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 teksturowanego modelu 3D wygenerowanego przez Meshy. Właściwość dla danego formatu zostanie pominięta, jeśli 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. Obecny tylko wtedy, gdy 3mf zostało zażądane za pomocą target_formats.
Name
prompt
Type
string
Description
To jest niezmodyfikowany 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
Niezmodyfikowany art_style, który został użyty do utworzenia zadania etapu preview. Nieobsługiwane 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; zamiast tego odczytuj geometry_resolution.
Name
geometry_resolution
Type
string
Description
Poziom Ultra, w którym 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 miniatury pliku modelu.
Name
alpha_thumbnail_url
Type
string
Description
Adres URL do pobrania wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true, a podgląd z przezroczystością 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ądowego. Zostanie usunięty 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 miała wartość 0. Gdy zadanie zakończy się powodzeniem, wartość ta zmieni się na 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało rozpoczęte, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 UTC, zgodnie ze
standardem RFC 3339.
Na przykład piątek, 1 września 2023, 12:00:00 GMT jest reprezentowany jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w Meshy API.
Name
created_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało utworzone, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, ta właściwość będzie miała wartość 0.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Tablica obiektów adresów URL tekstur wygenerowanych z zadania. Zazwyczaj zawiera ona tylko jeden obiekt adresu URL tekstury. Każdy adres 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.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
normal
Type
string
Description
Adres URL do pobrania obrazu mapy normalnych.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
roughness
Type
string
Description
Adres URL do pobrania obrazu mapy chropowatości.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
emission
Type
string
Description
Adres URL do pobrania obrazu mapy emisji.
Jeśli zadanie zostało utworzone z enable_pbr: false, lub ai_model ma wartość meshy-6-lite, ta właściwość zostanie pominięta.
Name
preceding_tasks
Type
integer
Description
Liczba poprzedzających zadań.
Wartość tego pola ma znaczenie tylko wtedy, gdy status zadania to PENDING.
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań. Zobacz Błędy, aby uzyskać pełną specyfikację obiektu task_error.
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}