Förvandla ett källfoto till en 3D-utskrivbar lampskärm i två steg:
prototyp genererar en stiliserad, matt vit konceptbild och omvandlar den till
en ihålig 3D-modell (GLB), och därefter kör build lampprocessorn på den modellen
för att producera de utskrivbara STL-delarna — en lampskärm med öppen botten och en bottenplatta
för ljuskällans armatur, samt själva armaturfästet. De två stegen är
sammanlänkade via input_task_id.
Generera en enda matt-vit konceptbild från ett referensfoto och
konvertera den till en ihålig 3D-lampskärmsmodell. Svaret innehåller både
konceptbilden (image_urls) och 3D-modellen (model_urls.glb med en
thumbnail_url). Det returnerade uppgifts-ID:t är det du skickar som input_task_id
till build-endpointen. Se
Objektet för lampa-prototypuppgift
för svarets struktur.
Parametrar
Name
image_url
Type
string
Obligatorisk
Description
Källfoto som Meshy använder som visuell referens för lampskärmen. Vi stöder för närvarande formaten .jpg, .jpeg, .png och .webp.
Det finns två sätt att tillhandahålla bilden:
Offentligt tillgänglig URL: En URL som är tillgänglig från det öppna internet.
Data URI: En base64-kodad data URI av bilden. Exempel på en data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
image_subject
Type
string
standard character
Description
Kategorihint för ämnet som väljer stylization-prompten. Tillgängliga värden:
character (standard) — enskild karaktär/objekt-motiv (figur, djur, maskot, etc.).
Valfritt uppgiftsnamn för visningsändamål. Maximalt 100 tecken.
Name
remove_background
Type
boolean
standard false
Description
När det är satt till true returneras prototypbilden som en transparent RGBA-PNG med bakgrunden borttagen, så att du kan komponera motivet mot vilken bakgrund som helst.
Returer
Egenskapen result i svaret innehåller id för den nyligen skapade lampa-prototypuppgiften. Fråga Hämta en uppgift-endpointen eller prenumerera på strömmen tills uppgiften når SUCCEEDED, och skicka sedan det ID:t till build-endpointen som input_task_id.
Felfall
Name
400 - Bad Request
Description
Förfrågan var oacceptabel. Vanliga orsaker:
Saknad parameter: image_url krävs.
Ogiltigt bildformat: Den angivna image_url har inte ett format som stöds (.jpg, .jpeg, .png, .webp).
Bilddimensioner utanför intervallet: Bilden är för liten, överskrider den maximala filstorleken, eller överskrider det maximala antalet pixlar.
Onåbar URL: image_url kunde inte hämtas (404 eller timeout).
Ogiltig Data URI: Base64-strängen är felaktigt formaterad.
Innehåll flaggat: Den inmatade bilden flaggades av moderation för NSFW eller immateriella rättigheter.
Ogiltig image_subject: Inte en av character / landscape.
Name
401 - Unauthorized
Description
Autentiseringen misslyckades. Kontrollera din API-nyckel.
Name
402 - Payment Required
Description
Otillräckliga credits för att utföra denna uppgift.
Name
429 - Too Many Requests
Description
Du har överskridit din hastighetsgräns.
Request
POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1: concept image + hollow 3D lampshade model from a source photocurlhttps://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>", "image_subject": "character" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source photo; the prototype returns the concept image and a hollow 3D model that the build stage processes.
Generera de slutgiltiga 3D-utskrivbara delarna från ett lyckat prototypjobb.
Byggjobbet kör lampprocessorn på prototypens 3D-modell: det skalar
modellen till diameter_mm, planar ut botten med cut_amount_percent,
urholkar den till thickness_mm, öppnar botten och — när en fixture-
förinställning väljs — lägger till en basplatta med fixturhålet och en separat
fäste för ljuskällan. Se
Objektet Byggjobb för lampa för
svarets form.
Parametrar
Name
input_task_id
Type
string
Obligatorisk
Description
Jobb-ID för ett prototypjobb skapat via samma OpenAPI-endpoint. Prototypen måste ha skapats med samma API-nyckel, måste ha nått SUCCEEDED och måste ha genererat en 3D-modell.
Prototypjobb skapade via webbappen accepteras inte — byggendpointen accepterar endast prototypjobb som skapats av POST /openapi/creative-lab/lamp/v1/prototype och avvisar alla andra källor med 404.
Name
name
Type
string
Description
Valfritt jobbnamn för visningsändamål. Max 100 tecken.
options
Valfria justeringsparametrar för lampskärmens geometri. Varje fält har ett rimligt standardvärde — skicka endast de du vill åsidosätta.
Name
diameter_mm
Type
number
standard 150
Description
Målvärde för lampskärmens begränsningsrutas maximala dimension, i millimeter. Nätet skalas jämnt för att passa. Intervall: [50, 400].
Name
thickness_mm
Type
number
standard 1
Description
Väggtjocklek för den ihåliga lampskärmen, i millimeter. Intervall: (0, 10].
Name
cut_amount_percent
Type
number
standard 1
Description
Procentandel av modellens höjd som kapas plant vid botten, så att lampskärmen står stadigt på utskriftsbädden och har en öppning för fixturen. Intervall: [1, 100].
Name
light_source_preset
Type
string
standard bambu_mh001_60mm
Description
Förinställning för ljuskällans fixtur som avgör hur botten byggs. Tillgängliga värden:
bambu_mh001_60mm (standard) — öppen botten på lampskärmen plus en basplatta med ett 60 mm fixturhål, båda i model_urls.lamp_stl, samt fixturfästet som model_urls.base_stl.
none — en enda förseglad lampskärm i model_urls.lamp_stl; model_urls.base_stl utelämnas.
Name
fixture_offset_x_mm
Type
number
standard 0
Description
X-axelförskjutning för fixturhålet på basplattan, relativt lampskärmens centrum, i millimeter. Endast relevant när light_source_preset ≠ none. Intervall: [-80, 80].
Name
fixture_offset_z_mm
Type
number
standard 0
Description
Z-axelförskjutning (djup) för fixturhålet på basplattan, relativt lampskärmens centrum, i millimeter. Endast relevant när light_source_preset ≠ none. Intervall: [-80, 80].
Name
rotate_x_deg
Type
number
standard 0
Description
Rotation kring X-axeln som tillämpas på modellen före bearbetning, i grader. De tre rotationerna tillämpas som XYZ Euler-vinklar kring modellens centrum. Intervall: [-360, 360].
Name
rotate_y_deg
Type
number
standard 0
Description
Rotation kring Y-axeln som tillämpas på det importerade nätet före bearbetning, i grader. Intervall: [-360, 360].
Name
rotate_z_deg
Type
number
standard 0
Description
Rotation kring Z-axeln som tillämpas på det importerade nätet före bearbetning, i grader. Intervall: [-360, 360].
Name
include_result_json
Type
boolean
standard false
Description
När true och output.format är zip, inkluderas lampprocessorns result.json (pipelinenamn, varningar och sökvägar till artefakter) i paketet. Ignoreras när output.format är stl.
output
Valfri väljare för utdataformat. Standard är stl.
Name
format
Type
string
standard stl
Description
Artefaktpaket som returneras av byggjobbet. Tillgängliga värden:
stl (standard) — returnerar model_urls.lamp_stl (lampskärmen, tillsammans med basplattan när en fixture-förinställning är satt), plus model_urls.base_stl när light_source_preset ≠ none.
zip — paketerar varje artefakt som processorn genererar (lamp.stl, valfri base.stl, valfri result.json) i en enda zip-fil och returnerar den under model_urls.bundle_zip.
Returnerar
Svarets result-egenskap innehåller jobb-id:t för det nyligen skapade byggjobbet för lampan. Fråga Get a Task-endpointen upprepade gånger eller prenumerera på strömmen tills jobbet når SUCCEEDED, och ladda sedan ner artefakterna från model_urls.
Felfall
Name
400 - Bad Request
Description
Begäran var oacceptabel. Vanliga orsaker:
Saknad parameter: input_task_id krävs.
Ogiltig UUID: input_task_id är inte ett giltigt UUID.
Överordnat jobb ej lyckat: Det refererade prototypjobbet har ännu inte nått SUCCEEDED.
Ingen modell: Prototypjobbet lyckades men genererade ingen 3D-modell.
Alternativ utanför intervall: Ett av fälten i options låg utanför sitt tillåtna intervall eller enum-uppsättning.
Name
401 - Unauthorized
Description
Autentisering misslyckades. Kontrollera din API-nyckel.
Name
402 - Payment Required
Description
Otillräckligt med credits för att utföra detta jobb.
Name
404 - Not Found
Description
Det refererade prototypjobbet finns inte, tillhör en annan användare eller skapades via webbappen (endast prototypjobb i API-läge kan kedjas till ett byggjobb).
Hämta en prototyp- eller byggnadsuppgift baserat på ett giltigt uppgifts-id. URL-sökvägen
måste matcha uppgiftens fas – en byggnadsuppgift som hämtas via
/prototype/:id returnerar 404, och vice versa.
Avbryt en lampuppgift. Om uppgiften fortfarande är PENDING, återbetalas de credits som förbrukades vid skapandet. Uppgifter som redan är IN_PROGRESS avbryts utan återbetalning (arbetaren kan redan använda resurser). Uppgifter som redan har nått ett slutligt tillstånd (SUCCEEDED, FAILED, CANCELED) kan inte avbrytas.
URL-sökvägen måste matcha uppgiftens steg — DELETE på
/prototype/:buildId returnerar 404.
Sökvägsparametrar
Name
id
Type
path
Description
Unikt identifierare för lampuppgiften att avbryta.
Returnerar
Returnerar 204 No Content vid framgång med en tom kropp.
Feltyper
Name
400 - Bad Request
Description
Uppgiften är redan i ett slutligt tillstånd och kan inte avbrytas.
Name
404 - Not Found
Description
Uppgiften existerar inte, tillhör en annan användare, eller dess steg matchar inte URL-sökvägen.
Streama realtidsuppdateringar för en lampuppgift via Server-Sent Events (SSE).
URL-sökvägen måste matcha uppgiftens steg — att öppna en ström vid
/prototype/:buildId/stream skickar en enda event: error-payload med
status_code: 404 och stänger strömmen.
Parametrar
Name
id
Type
path
Description
Unik identifierare för lampuppgiften som ska streamas.
Returer
Returnerar en ström av Lamp Prototype
eller Lamp Build uppgiftsobjekt som
Server-Sent Events. För uppgifter med status PENDING eller IN_PROGRESS
kommer svarsströmmen endast att innehålla de nödvändiga fälten progress och status.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","type": "creative-lab-lamp-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 6,"model_urls": {"lamp_stl":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***","base_stl":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***" }}
Hämta en paginerad lista över dina lampuppgifter för ett enda steg. URL-sökvägen
väljer steget — /prototype returnerar prototypuppgifter; /build
returnerar byggnadsuppgifter. Uppgifter från det andra steget ingår inte i något av
svaren.
Sökvägsparametrar
Name
stage
Type
path
Obligatorisk
Description
Antingen prototype eller build. Samlingen returnerar endast uppgifter
vars steg matchar URL:en — att hämta /prototype returnerar aldrig
byggnadsuppgifter och vice versa.
Frågeparametrar
Name
page_num
Type
integer
standard 1
Description
Sidnummer för paginering.
Name
page_size
Type
integer
standard 10
Description
Gräns för sidstorlek. Maximalt tillåtet är 50 objekt.
Name
sort_by
Type
string
standard -created_at
Description
Fält att sortera efter. Tillgängliga värden:
+created_at: Sortera efter skapandetid i stigande ordning.
-created_at: Sortera efter skapandetid i fallande ordning.
Objektet Lamp Prototype Task är en arbetsenhet som Meshy håller reda på för att
generera en stiliserad, matt vit konceptbild från ett källfoto och
konvertera den till en ihålig 3D-modell. Resultatet från detta steg kopplas vidare till
byggsteget via input_task_id.
Egenskaper
Name
id
Type
string
Description
Unik identifierare för uppgiften. Även om vi använder en k-sorterbar UUID för uppgifts-id som implementationsdetalj, bör du inte göra några antaganden om id:ts format.
Name
type
Type
string
Description
Typ av uppgift. Värdet är creative-lab-lamp-prototype.
Name
name
Type
string
Description
Uppgiftens namn som angavs när uppgiften skapades. Tom sträng om inget namn angavs.
Name
status
Type
string
Description
Uppgiftens status. Möjliga värden är ett av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Uppgiftens progress. Om uppgiften ännu inte har startat kommer denna egenskap att vara 0. När uppgiften har lyckats blir den 100.
Name
created_at
Type
timestamp
Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
En tidsstämpel representerar antalet millisekunder som förflutit sedan 1 januari 1970 UTC, enligt
standarden RFC 3339.
Till exempel representeras fredagen den 1 september 2023 kl. 12:00:00 GMT som 1693569600000. Detta gäller
för alla tidsstämplar i Meshy API.
Name
started_at
Type
timestamp
Description
Tidsstämpel för när uppgiften startade, i millisekunder. Om uppgiften ännu inte har startat kommer denna egenskap att vara 0.
Name
finished_at
Type
timestamp
Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften ännu inte är avslutad kommer denna egenskap att vara 0.
Name
expires_at
Type
timestamp
Description
Tidsstämpel för när uppgiftens resultat upphör att gälla, i millisekunder.
Name
preceding_tasks
Type
integer
Description
Antalet föregående uppgifter.
Värdet på detta fält är endast meningsfullt om uppgiftens status är PENDING.
Name
task_error
Type
object
Description
Felinformation för misslyckade uppgifter. Se Fel för den fullständiga referensen till objektet task_error.
Name
consumed_credits
Type
integer
Description
Antalet credits som förbrukats av denna uppgift. Finns när uppgiftens status är PENDING, IN_PROGRESS eller SUCCEEDED. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid misslyckande).
Name
model_urls
Type
object
Description
Nedladdningsbara URL:er för 3D-modellen som genererats från konceptbilden. Finns när uppgiften har lyckats; {} innan dess.
Name
glb
Type
string
Description
Nedladdningsbar URL till den ihåliga, matt vita lampskärmsmodellen i GLB-format. Detta är modellen som byggsteget bearbetar.
Name
thumbnail_url
Type
string
Description
Nedladdningsbar URL till en renderad förhandsvisning av 3D-modellen. Tom sträng tills uppgiften har lyckats.
Name
image_urls
Type
array of strings
Description
Nedladdningsbara URL:er för de konceptbildkandidater som genererats av denna prototypuppgift. För närvarande returnerar API:et alltid exakt en kandidat; fältet är en array så att framtida revisioner kan visa flera kandidater utan en bakåtkompatibilitetsbrytande ändring.
Lampbygguppgiftsobjektet är en arbetsenhet som Meshy håller reda på för att
generera den slutliga 3D-utskrivbara lampskärmen från en lyckad prototypuppgift.
Bygget kör lampprocessorn på prototypens 3D-modell för att göra den ihålig,
platta till och öppna botten samt (med en fixturförinställning) lägga till bottenplattan
och fixturmonteringen.
Egenskaper
Name
id
Type
string
Description
Unik identifierare för uppgiften.
Name
type
Type
string
Description
Uppgiftens typ. Värdet är creative-lab-lamp-build.
Name
name
Type
string
Description
Uppgiftsnamnet som angavs när uppgiften skapades. Tom sträng om inget namn angavs.
Name
status
Type
string
Description
Uppgiftens status. Möjliga värden är ett av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Uppgiftens progress. Om uppgiften inte har startat ännu är denna egenskap 0. När uppgiften har lyckats blir den 100.
Name
created_at
Type
timestamp
Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
Name
started_at
Type
timestamp
Description
Tidsstämpel för när uppgiften startades, i millisekunder.
Name
finished_at
Type
timestamp
Description
Tidsstämpel för när uppgiften avslutades, i millisekunder.
Name
expires_at
Type
timestamp
Description
Tidsstämpel för när uppgiftens resultat upphör att gälla, i millisekunder.
Name
preceding_tasks
Type
integer
Description
Antalet föregående uppgifter. Endast relevant när status är PENDING.
Name
task_error
Type
object
Description
Feldetaljer för misslyckade uppgifter. Se Fel för den fullständiga referensen för task_error-objektet.
Name
consumed_credits
Type
integer
Description
Antalet credits som förbrukats av denna uppgift. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid misslyckande).
Name
model_urls
Type
object
Description
Nedladdningsbara URL:er för de genererade artefakterna, nyckelindelade efter artefaktnamn. Uppsättningen av nycklar beror på output.format och options.light_source_preset:
Name
lamp_stl
Type
string
Description
Nedladdningsbar URL till lamp.stl: den öppna lampskärmen tillsammans med bottenplattan som bär fixturhålet, eller en enda förseglad lampskärm när options.light_source_preset var none. Finns när output.format var stl (standardvärdet).
Name
base_stl
Type
string
Description
Nedladdningsbar URL till base.stl, ljuskällans fixturmontering. Finns när output.format var stlochoptions.light_source_preset inte var none. Utelämnas när fixturförinställningen var none.
Name
bundle_zip
Type
string
Description
Nedladdningsbar URL till ett zip-paket med alla artefakter som processorn genererar (lamp.stl, valfri base.stl, och — när options.include_result_json är true — result.json). Finns när output.format var zip. När bundle_zip finns utelämnas lamp_stl / base_stl.