Text till 3D API är en funktion som låter dig integrera Meshys Text till 3D-funktioner i din egen applikation. I det här avsnittet hittar du all information du behöver för att komma igång med detta API.
Text till 3D använder ett tvåstegs arbetsflöde. Först skapar du en förhandsgranskning uppgift (mode: "preview") för att generera ett 3D-nät utan textur, så att du kan utvärdera formen. Sedan skickar du den slutförda förhandsgranskningens uppgifts-ID till en förfinings uppgift (mode: "refine") för att applicera textur på nätet. Båda stegen delar samma endpoint.
Denna endpoint skapar en Text till 3D-förhandsgranskningsuppgift, som genererar ett otexturerat 3D-nät (endast geometri) från en textprompt. Detta är det första steget i det tvåstegsarbetsflödet. När förhandsgranskningen lyckas, använd det returnerade uppgifts-ID:t för att skapa en refine-uppgift för texturering. Se
The Text to 3D Task Object för det fullständiga svarsschemat.
Parametrar
Name
mode
Type
string
Obligatorisk
Description
Detta fält ska sättas till "preview" när en förhandsgranskningsuppgift skapas.
Name
prompt
Type
string
Obligatorisk
Description
Beskriv vad för slags objekt 3D-modellen är. Maximalt 800 tecken.
Name
model_type
Type
string
standard standard
Description
Ange typen av 3D-nätgenerering.
Tillgängliga värden:
standard: Vanlig högdetaljerad 3D-nätgenerering.
smart-topology: Välj Smart Topology-modellen med ai_model (meshy-t2).
lowpoly (föråldrad): Genererar low-poly-nät optimerat för renare polygoner. Vi rekommenderar att du använder smart-topology istället.
När smart-topology väljs ignoreras should_remesh och decimation_mode, och endast topology: triangle accepteras.
När lowpoly väljs ignoreras ai_model, topology, target_polycount och should_remesh.
Name
ai_model
Type
string
standard latest
Description
ID för modellen som ska användas. De tillgängliga värdena beror på model_type.
meshy-t2 (standard): Smart Topology-modellen — renare topology, naturligt separerade delar, triangel-utdata och ett antal ytor som du kan ställa in med target_polycount.
Name
ultra_mode
Type
boolean
standard false
Description
Aktiverar Ultra-generering för geometri med högre precision och finare ytdetaljer. Genereringen tar längre tid och kostar 5 extra credits.
Stöds endast när ai_model är meshy-7 (eller latest), och endast i preview-mode.
Name
should_remesh
Type
boolean
standard false (meshy-6, meshy-7), true (others)
Description
Styr om remesh-fasen ska aktiveras. För modellen med högst kvalitet rekommenderar vi att sätta should_remesh till false.
Gäller endast när should_remesh = true
Name
topology
Type
string
standard triangle
Description
Ange topology för den genererade modellen.
Tillgängliga värden:
quad: Generera ett quad-dominerat nät.
triangle: Generera ett decimerat triangelnät.
Smart Topology-utdata är endast triangelbaserad. Att begära quad tillsammans med ai_model: meshy-t2 returnerar ett fel.
Name
decimation_mode
Type
integer
Description
Aktivera adaptiv decimering genom att ange en polygonantal-nivå. När detta anges ignoreras target_polycount.
Tillgängliga värden:
1: Adaptiv — ultra polygonantal.
2: Adaptiv — högt polygonantal.
3: Adaptiv — medelhögt polygonantal.
4: Adaptiv — lågt polygonantal.
Name
target_polycount
Type
integer
Description
Målantal polygoner (ytor) i utdata. Det faktiska antalet kan avvika från målet beroende på geometrin.
target_polycount får effekt i två oberoende fall:
Remesh — med should_remesh: true på en standard-modell. Nätet remeshas (decimeras) till ungefär detta antal. Intervall 100 till 300 000, standard 30 000. Om decimation_mode är satt har den prioritet och target_polycount ignoreras.
Smart Topology — med model_type: smart-topology och ai_model: meshy-t2. Modellen genereras direkt med detta antal ytor; ingen remesh körs och should_remesh krävs inte. Intervall 100 till 15 000, standard 4 000.
Name
symmetry_mode
Type
string
⚠ föråldrad
standard auto
Description
Föråldrad. Denna parameter påverkar inte längre utdata.
Fältet symmetry_mode styr symmetribeteendet under modellgenereringsprocessen.
Giltiga värden är:
off: Inaktiverar symmetri.
auto: Avgör och tillämpar automatiskt symmetri baserat på indatageometri.
on: Framtvingar symmetri under generering.
Name
pose_mode
Type
string
standard ""
Description
Ange pose mode för den genererade modellen.
Tillgängliga värden:
a-pose: Generera modellen i en A-pose.
t-pose: Generera modellen i en T-pose.
"" (tom sträng): Ingen specifik pose tillämpas.
Name
is_a_t_pose
Type
boolean
⚠ föråldrad
standard false
Description
Använd pose_mode istället. Om modellen ska genereras i en A/T-pose.
Name
art_style
Type
string
⚠ föråldrad
standard realistic
Description
Stöds inte av Meshy-6. Förfrågningar som använder Meshy-6 kommer att ignorera art_style, och vissa kombinationer kan orsaka fel. Tillgängliga värden: realistic, sculpture.
enable_pbr bör sättas till false vid användning av Sculpture-stil, eftersom Sculpture-stilen genererar sina egna PBR-mappar.
Name
moderation
Type
boolean
standard false
Description
När detta sätts till true kommer det inmatade innehållet automatiskt att granskas för potentiellt skadligt innehåll. Om skadligt innehåll upptäcks fortsätter inte uppgiften till generering.
Texten från prompt kommer att granskas.
Name
target_formats
Type
string[]
Description
Anger vilka 3D-filformat som ska ingå i utdata. Endast de begärda formaten genereras och returneras, vilket kan minska uppgiftens slutförandetid. Om detta utelämnas ingår alla format som stöds.
Om detta utelämnas genereras alla format utom 3mf. 3mf ingår endast när det uttryckligen anges.
Name
alpha_thumbnail
Type
boolean
standard false
Description
När detta sätts till true renderar uppgiften dessutom en version av förhandsgranskningen med transparent bakgrund (RGBA) och returnerar den som alpha_thumbnail_url i GET-svaret. Det befintliga fältet thumbnail_url förblir oförändrat.
Name
auto_size
Type
boolean
standard false
Description
När detta sätts till true använder tjänsten AI-syn för att automatiskt uppskatta objektets verkliga höjd och ändrar storlek på modellen därefter. Origo kommer som standard att vara bottom om inte origin_at uttryckligen anges.
Gäller endast när auto_size = true
Name
origin_at
Type
string
standard bottom
Description
Origos position när auto_size är aktiverat.
Tillgängliga värden: bottom, center.
Returvärden
Svarets result-egenskap innehåller uppgifts-id:t för den nyskapade Text till 3D-uppgiften.
Felscenarier
Name
400 - Bad Request
Description
Förfrågan var inte godtagbar. Vanliga orsaker:
Saknad parameter: En obligatorisk parameter (t.ex. prompt, mode) saknas.
Ogiltig parameter: art_style är inte ett av de tillåtna värdena.
För lång prompt: prompt överskrider teckengränsen.
Name
401 - Unauthorized
Description
Autentiseringen misslyckades. Kontrollera din API-nyckel.
Name
402 - Payment Required
Description
Otillräckligt med credits för att utföra denna uppgift.
Name
429 - Too Many Requests
Description
Du har överskridit din hastighetsgräns.
Request
POST
/openapi/v2/text-to-3d
# Simple preview with required params onlycurlhttps://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 remesh and A-posecurlhttps://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", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Denna endpoint skapar en Text till 3D-förfiningsuppgift, som applicerar textur på ett färdigt förhandsgranskningsnät. Du måste ange preview_task_id från en lyckad förhandsgranskningsuppgift. Detta är det andra steget i det tvåstegsarbetsflödet.
Parametrar
Name
mode
Type
string
Obligatorisk
Description
Detta fält ska sättas till "refine" när en förfiningsuppgift skapas.
Name
preview_task_id
Type
string
Obligatorisk
Description
ID:t för motsvarande förhandsgranskningsuppgift.
Statusen för den angivna förhandsgranskningsuppgiften måste vara SUCCEEDED.
Name
enable_pbr
Type
boolean
standard false
Description
Generera PBR-mappar (metallic, roughness, normal) utöver basfärgen. En emission-mapp inkluderas också när ai_model är meshy-6, förutom vid texture_resolution: 8k (ingen emission-mapp genereras då). meshy-7 (och latest) genererar ingen emission-mapp.
Name
texture_resolution
Type
string
standard 2k
Description
Texturupplösning för basfärgen. En av 2k (2048×2048), 4k (4096×4096) eller 8k (8192×8192). Högre upplösningar fångar mer ytdetalj. Gäller endast för refine-mode.
4k och 8k kräver ai_modelmeshy-6, meshy-7 eller latest. Vid 8k genereras ingen emission-mapp.
Name
hd_texture
Type
boolean
⚠ föråldrad
standard false
Description
Använd texture_resolution istället — motsvarar texture_resolution: "4k". När båda anges har texture_resolution företräde.
Name
texture_prompt
Type
string
Description
Ange en ytterligare textprompt för att styra textureringsprocessen. Maximalt 800 tecken.
Name
texture_image_url
Type
string
Description
Ange en 2D-bild för att styra textureringsprocessen. Vi stöder för närvarande formaten .jpg, .jpeg och .png.
Det finns två sätt att ange bilden:
Publikt tillgänglig URL: En URL som är åtkomlig från det publika internet
Data URI: En base64-kodad Data URI för bilden. Exempel på en data-URI: data:image/jpeg;base64,<your base64-encoded image data>
Bildtexturering fungerar eventuellt inte optimalt om det finns betydande geometriska skillnader mellan originaltillgången och den uppladdade bilden. Endast en av texture_image_url eller texture_prompt kan användas för att styra textureringsprocessen. Om båda parametrarna anges kommer texture_prompt som standard att användas för att textursätta modellen.
Name
ai_model
Type
string
standard latest
Description
ID för den modell som ska användas för förfining. Tillgängliga värden: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest matchas här exakt som i förhandsgranskningsuppgiften (för närvarande Meshy 7), så en latest-förhandsgranskning och dess latest-förfining hamnar alltid på samma texturmodell.
Name
moderation
Type
boolean
standard false
Description
När detta sätts till true kommer det inmatade innehållet automatiskt att granskas för potentiellt skadligt innehåll. Om skadligt innehåll upptäcks kommer uppgiften inte att fortsätta till generering.
Både texten från texture_prompt och bilden från texture_image_url kommer att granskas.
Name
remove_lighting
Type
boolean
standard true
Description
Tar bort highlights och skuggor från basfärgstexturen, vilket ger ett renare resultat som fungerar bättre med anpassade ljussättningar.
Har endast effekt när ai_model är meshy-6. På meshy-7 (och latest) accepteras parametern men ignoreras.
Name
target_formats
Type
string[]
Description
Anger vilka 3D-filformat som ska inkluderas i resultatet. Endast de begärda formaten genereras och returneras, vilket kan minska uppgiftens genomförandetid. Om parametern utelämnas inkluderas alla format som stöds.
Om parametern utelämnas genereras alla format utom 3mf. 3mf inkluderas endast när det uttryckligen anges.
Name
alpha_thumbnail
Type
boolean
standard false
Description
När detta sätts till true renderar uppgiften dessutom en version av förhandsgranskningen med transparent bakgrund (RGBA) och returnerar den som alpha_thumbnail_url i GET-svaret. Det befintliga fältet thumbnail_url förblir oförändrat.
Name
auto_size
Type
boolean
standard false
Description
När detta sätts till true använder tjänsten AI-syn för att automatiskt uppskatta objektets verkliga höjd och ändra storlek på modellen därefter. Origo kommer som standard att vara bottom om inte origin_at uttryckligen anges.
Gäller endast när auto_size = true
Name
origin_at
Type
string
standard bottom
Description
Origos position när auto_size är aktiverat.
Tillgängliga värden: bottom, center.
Returvärden
Svarets result-egenskap innehåller uppgifts-id:t för den nyskapade Text till 3D-uppgiften.
Felscenarier
Name
400 - Bad Request
Description
Begäran kunde inte accepteras. Vanliga orsaker:
Ogiltigt uppgifts-ID: preview_task_id är ogiltigt eller existerar inte.
Uppgiften är inte klar: Förhandsgranskningsuppgiften har ännu inte lyckats.
Modellmatchning saknas: Förhandsgranskningsuppgiftens AI-modell är inkompatibel med den begärda förfiningsmodellen.
Name
401 - Unauthorized
Description
Autentiseringen misslyckades. Kontrollera din API-nyckel.
Name
402 - Payment Required
Description
Otillräckligt med credits för att utföra denna uppgift.
Name
404 - Not Found
Description
Förhandsgranskningsuppgiften som anges av preview_task_id hittades inte.
Detta endpoint tillåter dig att hämta en Text till 3D-uppgift givet ett giltigt uppgifts-id.
Se Text till 3D-uppgiftsobjektet för att se vilka
egenskaper som ingår i Text till 3D-uppgiftsobjektet.
Detta endpoint fungerar för både förhandsgranskning och förfiningsuppgifter.
Parametrar
Name
id
Type
path
Description
Unik identifierare för Text till 3D-uppgiften att hämta.
Text till 3D-uppgiftsobjektet är en arbetsenhet som Meshy håller reda på för att generera en 3D-modell från en text-inmatning. Det finns två steg i Text till 3D API, preview och refine. Förhandsgranskningssteget är för att generera enbart en nät-3D-modell, och förfiningssteget är för att generera en texturerad 3D-modell baserat på resultatet från förhandsgranskningssteget.
Objektet har följande egenskaper:
Egenskaper
Name
id
Type
string
Description
Unik identifierare för uppgiften. Även om vi använder ett k-sorterbart UUID för uppgifts-id:n som implementeringsdetalj, bör du inte göra några antaganden om formatet på id:t.
Name
type
Type
string
Description
Typ av Text till 3D-uppgift. Möjliga värden är text-to-3d-preview för förhandsgranskningsuppgifter och text-to-3d-refine för förfiningsuppgifter.
Name
model_urls
Type
object
Description
Nedladdningsbar URL till den texturerade 3D-modellfilen genererad av Meshy. Egenskapen för ett format kommer att utelämnas om formatet inte genereras istället för att returnera en tom sträng.
Name
glb
Type
string
Description
Nedladdningsbar URL till GLB-filen.
Name
fbx
Type
string
Description
Nedladdningsbar URL till FBX-filen.
Name
usdz
Type
string
Description
Nedladdningsbar URL till USDZ-filen.
Name
obj
Type
string
Description
Nedladdningsbar URL till OBJ-filen.
Name
mtl
Type
string
Description
Nedladdningsbar URL till MTL-filen.
Name
stl
Type
string
Description
Nedladdningsbar URL till STL-filen.
Name
3mf
Type
string
Description
Nedladdningsbar URL till 3MF-filen. Endast närvarande när 3mf begärdes via target_formats.
Name
prompt
Type
string
Description
Detta är den omodifierade prompt som användes för att skapa uppgiften.
Name
negative_prompt
Type
string
⚠ föråldrad
Description
Bibehållen för bakåtkompatibilitet. Detta fält har ingen funktionell påverkan på genererade modeller.
Name
art_style
Type
string
⚠ föråldrad
Description
Den omodifierade art_style som användes för att skapa förhandsgranskningsuppgiften. Inte stödd av Meshy-6.
Name
texture_richness
Type
string
⚠ föråldrad
Description
Bibehållen för bakåtkompatibilitet. Detta fält har ingen funktionell påverkan på genererade modeller.
Name
texture_prompt
Type
string
Description
Ytterligare textprompt som tillhandahålls för att vägleda textureringsprocessen under förfiningssteget.
Name
ultra_mode
Type
boolean
Description
Återspeglar ultra_mode-värdet som förhandsgranskningsuppgiften skapades med. Endast närvarande för meshy-7 (eller latest) förhandsgranskningsuppgifter som uttryckligen satte ultra_mode; utelämnas annars.
Name
texture_image_url
Type
string
Description
Nedladdningsbar URL till texturbilden som användes för att vägleda textureringsprocessen.
Name
thumbnail_url
Type
string
Description
Nedladdningsbar URL till miniatyrbilden av modellfilen.
Name
alpha_thumbnail_url
Type
string
Description
Nedladdningsbar URL till en version av thumbnail_url med transparent bakgrund (RGBA). Endast närvarande när uppgiften skapades med alpha_thumbnail: true och den transparenta förhandsgranskningen renderades framgångsrikt; annars utelämnas detta fält.
Name
video_url
Type
string
⚠ föråldrad
Description
Nedladdningsbar URL till förhandsgranskningsvideon. Kommer att tas bort i en framtida version.
Name
progress
Type
integer
Description
Framsteg för uppgiften. Om uppgiften inte har startat ännu kommer denna egenskap att vara 0. När uppgiften har lyckats kommer detta att bli 100.
Name
started_at
Type
timestamp
Description
Tidsstämpel för när uppgiften startades, i millisekunder. Om uppgiften inte har startat ännu kommer denna egenskap att vara 0.
En tidsstämpel representerar antalet millisekunder som har förflutit sedan den 1 januari 1970 UTC, enligt
RFC 3339-standarden.
Till exempel representeras fredag, 1 september 2023 12:00:00 GMT som 1693569600000. Detta gäller
för alla tidsstämplar i Meshy API.
Name
created_at
Type
timestamp
Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
Name
finished_at
Type
timestamp
Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte är avslutad ännu kommer denna egenskap att vara 0.
Name
status
Type
string
Description
Status för uppgiften. Möjliga värden är en av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
En array av textur-URL-objekt som genereras från uppgiften. Normalt innehåller detta endast en textur-URL-objekt. Varje textur-URL har följande egenskaper:
Name
base_color
Type
string
Description
Nedladdningsbar URL till basfärgskartbilden.
Name
metallic
Type
string
Description
Nedladdningsbar URL till metallkartbilden.
Om uppgiften skapas med enable_pbr: false kommer denna egenskap att utelämnas.
Name
normal
Type
string
Description
Nedladdningsbar URL till normalmapbilden.
Om uppgiften skapas med enable_pbr: false kommer denna egenskap att utelämnas.
Name
roughness
Type
string
Description
Nedladdningsbar URL till grovhetskartbilden.
Om uppgiften skapas med enable_pbr: false kommer denna egenskap att utelämnas.
Name
emission
Type
string
Description
Nedladdningsbar URL till emissionskartbilden.
Om uppgiften skapas med enable_pbr: false, eller ai_model är meshy-5, kommer denna egenskap att utelämnas.
Name
preceding_tasks
Type
integer
Description
Antalet föregående uppgifter.
Värdet av detta fält är meningsfullt endast om uppgiftens status är PENDING.
Name
task_error
Type
object
Description
Felformationer för misslyckade uppgifter. Se Fel för fullständig referens till task_error-objektet.
Name
consumed_credits
Type
integer
Description
Antalet credits som förbrukats av denna uppgift. Närvarande när uppgiftens status är PENDING, IN_PROGRESS, eller SUCCEEDED. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid fel).
Exempel på Text till 3D-uppgiftsobjekt
{"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}