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.
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).
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.
Obsługiwane tylko, gdy ai_model jest meshy-7 (lub latest), i tylko w trybie preview.
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.
Wynik Smart Topology to tylko trójkąty. Żądanie quad razem z ai_model: meshy-t2 zwraca błąd.
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.
enable_pbr powinno być ustawione na false przy użyciu stylu Rzeźba, ponieważ styl Rzeźba generuje własny zestaw map PBR.
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
Gdy pominie się, wszystkie formaty oprócz 3mf są generowane. 3mf jest tylko uwzględniane, gdy zostanie explicytne wskazane.
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.
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.
4k i 8k wymagają ai_modelmeshy-6, meshy-7 lub latest. Przy 8k nie jest produkowana mapa emisji.
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>
Teksturowanie oparte na obrazie może nie działać optymalnie, jeśli istnieją istotne różnice geometryczne między oryginalnym assetem a przesłanym obrazkiem. Można użyć tylko jednego z texture_image_url lub texture_prompt, aby kierować procesem teksturowania. Jeśli oba parametry są podane, wtedy domyślnie texture_prompt zostanie użyte do teksturowania modelu.
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).
latest rozwiązuje się tutaj dokładnie tak samo, jak w zadaniu podglądu (aktualnie Meshy 7), więc podgląd latest i jego latest ulepszenie zawsze lądują na tym samym modelu teksturowym.
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.
Ma skuteczność tylko wtedy, gdy ai_model jest meshy-6. Na meshy-7 (i latest) parametr jest akceptowany, ale ignorowany.
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
Gdy pominie się, wszystkie formaty oprócz 3mf są generowane. 3mf jest tylko uwzględniane, gdy zostanie explicytne wskazane.
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.
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.
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.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 UTC, zgodnie z
standardem RFC 3339.
Na przykład, piątek, 1 września 2023 12:00:00 PM GMT to 1693569600000. To dotyczy
wszystkich znaczników czasu w Meshy API.
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.
Jeśli zadanie jest tworzone z enable_pbr: false, to pole będzie pominięte.
Name
normal
Type
string
Description
Może być pobrany URL do obrazu mapy normalności.
Jeśli zadanie jest tworzone z enable_pbr: false, to pole będzie pominięte.
Name
roughness
Type
string
Description
Może być pobrany URL do obrazu mapy szorstkości.
Jeśli zadanie jest tworzone z enable_pbr: false, to pole będzie pominięte.
Name
emission
Type
string
Description
Może być pobrany URL do obrazu mapy emisji.
Jeśli zadanie jest tworzone z enable_pbr: false, lub ai_model jest meshy-5, to pole będzie pominięte.
Name
preceding_tasks
Type
integer
Description
Liczba poprzednich zadań.
Wartość tego pola ma sens tylko wtedy, gdy status zadania to PENDING.
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}