API Tekst na 3D to funkcja, która umożliwia integrację możliwości Tekst na 3D Meshy z własną aplikacją. W tej sekcji znajdziesz wszystkie informacje,
których potrzebujesz, aby rozpocząć pracę z tym API.
Tekst na 3D korzysta z dwuetapowego przepływu pracy. Najpierw utwórz zadanie podglądu (mode: "preview"), aby wygenerować siatkę 3D bez tekstury, co pozwala ocenić jej kształt. Następnie przekaż identyfikator ukończonego zadania podglądu do zadania udoskonalania (mode: "refine"), aby zastosować teksturę do siatki. Oba kroki 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 promptu tekstowego. To pierwszy krok dwuetapowego przepływu pracy. Gdy podgląd zakończy się powodzeniem, użyj zwróconego ID zadania, aby utworzyć zadanie refine do teksturowania. Pełny schemat odpowiedzi znajdziesz w
Obiekt zadania Tekst na 3D.
Parametry
Name
mode
Type
string
Wymagane
Description
To pole powinno być ustawione na "preview" podczas tworzenia zadania podglądu.
Name
prompt
Type
string
Wymagane
Description
Opisz, jakiego rodzaju obiektem jest model 3D. Maksymalnie 600 znaków.
Name
model_type
Type
string
domyślne standard
Description
Określ typ generowania siatki 3D.
Dostępne wartości:
standard: Zwykłe generowanie siatki 3D o wysokim poziomie szczegółowości.
lowpoly: Generuje siatkę low-poly zoptymalizowaną pod kątem czystszych wielokątów.
Gdy wybrano lowpoly, ai_model, topology, target_polycount, should_remesh są ignorowane.
Name
ai_model
Type
string
domyślne latest
Description
ID modelu do użycia. Dostępne wartości: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
domyślne false (meshy-6), true (others)
Description
Kontroluje, czy włączyć fazę Remesh. Po ustawieniu na false API bezpośrednio zwróci trójkątną siatkę o najwyższej precyzji.
Dotyczy tylko gdy should_remesh = true
Name
topology
Type
string
domyślne triangle
Description
Określ topology wygenerowanego modelu.
Dostępne wartości:
quad: Generuje siatkę z przewagą czworokątów.
triangle: Generuje zredukowaną siatkę trójkątną.
Name
target_polycount
Type
integer
domyślne 30,000
Description
Określ docelową liczbę wielokątów w wygenerowanym modelu. Rzeczywista liczba wielokątów może odbiegać od celu w zależności od złożoności geometrii.
Prawidłowy zakres wartości różni się w zależności od poziomu użytkownika:
Od 100 do 300 000 (włącznie)
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Po ustawieniu target_polycount jest ignorowane.
Dostępne wartości:
1: Adaptacyjna — ultrawysoka liczba wielokątów.
2: Adaptacyjna — wysoka liczba wielokątów.
3: Adaptacyjna — średnia liczba wielokątów.
4: Adaptacyjna — niska liczba wielokątów.
Name
symmetry_mode
Type
string
⚠ przestarzałe
domyślne auto
Description
Przestarzałe. Ten parametr nie wpływa już na wynik.
Pole symmetry_mode kontroluje zachowanie symetrii podczas procesu generowania modelu.
Prawidłowe wartości to:
off: Wyłącza symetrię.
auto: Automatycznie określa i stosuje symetrię na podstawie wejściowej geometrii.
on: Wymusza symetrię podczas generowania.
Name
pose_mode
Type
string
domyślne ""
Description
Określ pose_mode dla wygenerowanego modelu.
Dostępne wartości:
a-pose: Generuje model w pozie A.
t-pose: Generuje model w pozie T.
"" (pusty ciąg): Nie zastosowano konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Zamiast tego użyj pose_mode. Określa, czy wygenerować model w pozie A/T.
Name
art_style
Type
string
⚠ przestarzałe
domyślne realistic
Description
Nieobsługiwane przez Meshy-6. Żądania 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 podczas używania stylu Sculpture, ponieważ styl Sculpture generuje własny zestaw map PBR.
Name
moderation
Type
boolean
domyślne false
Description
Po ustawieniu 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 generowania.
Tekst z prompt zostanie sprawdzony.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D uwzględnić w wyniku. Wygenerowane i zwrócone zostaną tylko żądane formaty, co może skrócić czas ukończenia zadania. Jeśli pominięto, uwzględniane są wszystkie obsługiwane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Jeśli pominięto, generowane są wszystkie formaty z wyjątkiem 3mf. 3mf jest uwzględniany tylko wtedy, gdy zostanie jawnie określony.
Name
alpha_thumbnail
Type
boolean
domyślne false
Description
Po ustawieniu 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
Po ustawieniu na true usługa używa widzenia AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego zmienienia rozmiaru modelu. Punkt początkowy domyślnie będzie ustawiony na bottom, chyba że origin_at zostanie jawnie ustawione.
Dotyczy tylko gdy auto_size = true
Name
origin_at
Type
string
domyślne bottom
Description
Pozycja punktu początkowego, gdy auto_size jest włączone.
Dostępne wartości: bottom, center.
Zwraca
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Tekst na 3D.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. 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.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczające kredyty do wykonania tego zadania.
Ten punkt końcowy tworzy zadanie dopracowania Tekst na 3D, które nakłada teksturę na ukończoną siatkę podglądu. Musisz podać preview_task_id z pomyślnie zakończonego zadania podglądu. To drugi krok dwuetapowego przepływu pracy.
Parametry
Name
mode
Type
string
Wymagane
Description
To pole powinno być ustawione na "refine" podczas tworzenia zadania dopracowania.
Name
preview_task_id
Type
string
Wymagane
Description
ID odpowiadającego zadania podglądu.
Status podanego zadania podglądu musi być SUCCEEDED.
Name
enable_pbr
Type
boolean
domyślne false
Description
Generuj mapy PBR (metaliczność, chropowatość, normalna) oprócz koloru bazowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6 lub latest.
Name
hd_texture
Type
boolean
domyślne false
Description
Generuj teksturę koloru bazowego w rozdzielczości 4K (4096×4096), aby uzyskać większą szczegółowość.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6 lub latest. Mapy PBR są zawsze generowane w 2K.
Name
texture_prompt
Type
string
Description
Podaj dodatkowy prompt tekstowy, aby ukierunkować proces teksturowania. Maksymalnie 600 znaków.
Name
texture_image_url
Type
string
Description
Podaj obraz 2D, aby ukierunkować proces teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby 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 obrazem może nie działać optymalnie, jeśli między oryginalnym assetem a przesłanym obrazem występują znaczne różnice w geometrii. Do ukierunkowania procesu teksturowania można użyć tylko jednego z texture_image_url lub texture_prompt. Jeśli podane są oba parametry, domyślnie do teksturowania modelu zostanie użyty texture_prompt.
Name
ai_model
Type
string
domyślne latest
Description
ID modelu używanego do dopracowania. Dostępne wartości: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
domyślne false
Description
Po ustawieniu na true treści wejściowe będą automatycznie sprawdzane pod kątem potencjalnie szkodliwej zawartości. Jeśli zostanie wykryta szkodliwa zawartość, zadanie nie przejdzie do generowania.
Sprawdzane będą zarówno tekst z texture_prompt, jak i obraz z texture_image_url.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa rozświetlenia i cienie z tekstury koloru bazowego, tworząc czystszy wynik, który działa lepiej przy niestandardowych konfiguracjach oświetlenia.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6 lub latest.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D uwzględnić w danych wyjściowych. Wygenerowane i zwrócone zostaną 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
Gdy pominięte, generowane są wszystkie formaty z wyjątkiem 3mf. 3mf jest uwzględniany tylko wtedy, gdy zostanie jawnie określony.
Name
alpha_thumbnail
Type
boolean
domyślne false
Description
Po ustawieniu 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
Po ustawieniu na true usługa używa wizji AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego zmienienia rozmiaru modelu. Punkt początkowy będzie domyślnie ustawiony na bottom, chyba że origin_at zostanie jawnie 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 id zadania nowo utworzonego zadania Tekst na 3D.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Częste przyczyny:
Nieprawidłowy ID zadania: preview_task_id jest nieprawidłowy lub nie istnieje.
Zadanie nie jest gotowe: Zadanie podglądu nie zakończyło się jeszcze powodzeniem.
Niezgodność modelu: Model AI zadania podglądu jest niezgodny z żądanym modelem dopracowania.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczająca liczba kredytów do wykonania tego zadania.
Name
404 - Not Found
Description
Nie znaleziono zadania podglądu określonego przez preview_task_id.
Ten punkt końcowy umożliwia pobranie zadania Tekst na 3D na podstawie prawidłowego id zadania.
Zobacz Obiekt zadania Tekst na 3D, aby sprawdzić, 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 udoskonalania.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Tekst na 3D do pobrania.
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 podglądu służy do generowania modelu 3D zawierającego wyłącznie siatkę, a etap dopracowania służy do generowania modelu 3D z mapami materiałowymi 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ż jako szczegół implementacyjny używamy identyfikatora UUID sortowalnego k dla identyfikatorów zadań,
nie należy przyjmować żadnych założeń dotyczących 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 oraz text-to-3d-refine dla zadań etapu udoskonalania.
Name
model_urls
Type
object
Description
Adres URL do pobrania pliku modelu 3D z teksturą wygenerowanego przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie zostanie 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 zażądano 3mf 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 w celu zachowania zgodności wstecznej. To pole nie ma wpływu funkcjonalnego na wygenerowane modele.
Name
art_style
Type
string
⚠ przestarzałe
Description
Niezmodyfikowany art_style, który został użyty do utworzenia zadania podglądu. Nieobsługiwane przez Meshy-6.
Name
texture_richness
Type
string
⚠ przestarzałe
Description
Utrzymywane w celu zachowania zgodności wstecznej. To pole nie ma wpływu funkcjonalnego na wygenerowane modele.
Name
texture_prompt
Type
string
Description
Dodatkowy prompt tekstowy dostarczony w celu pokierowania procesem teksturowania na etapie udoskonalania.
Name
texture_image_url
Type
string
Description
Adres URL do pobrania obrazu tekstury, który został użyty do pokierowania procesem 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). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true, a 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 filmu podglądu. Zostanie usunięty w przyszłej wersji.
Name
progress
Type
integer
Description
Progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się powodzeniem, wartość ta stanie się 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu rozpoczęcia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość 0.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 r. UTC, zgodnie ze
standardem RFC 3339.
Na przykład piątek, 1 września 2023 r., 12:00:00 PM GMT jest reprezentowany jako 1693569600000. Dotyczy to
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 nie zostało jeszcze zakończone, ta właściwość będzie miała wartość 0.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Tablica obiektów adresów URL tekstur wygenerowanych z zadania. Zwykle zawiera tylko jeden obiekt adresu URL tekstury. Każdy adres URL tekstury ma 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 zostanie 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 zostanie utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
roughness
Type
string
Description
Adres URL do pobrania obrazu mapy szorstkości.
Jeśli zadanie zostanie 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 zostanie utworzone z enable_pbr: false lub ai_model to meshy-5, 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 zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną dokumentację obiektu task_error.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. Obecne, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).
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,"seed":1234,"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}