Zet een bronfoto om in een 3D-printbare lampenkap in twee fasen:
prototype genereert een gestileerde matwitte conceptafbeelding en zet deze om in
een hol 3D-model (GLB), waarna build de lampprocessor op dat model uitvoert
om de printbare STL-onderdelen te produceren — een open lampenkap zonder bodem met een basisplaat
voor de armatuur van de lichtbron, plus de armatuurbevestiging zelf. De twee fasen zijn
gekoppeld via input_task_id.
Genereer een enkele matwitte conceptafbeelding uit een referentiefoto en
converteer deze naar een hol 3D-lampenkapmodel. De response bevat zowel de
conceptafbeelding (image_urls) als het 3D-model (model_urls.glb met een
thumbnail_url). De geretourneerde task ID is wat je als input_task_id
doorgeeft aan de build-endpoint. Raadpleeg
The Lamp Prototype Task Object
voor de vorm van de response.
Parameters
Name
image_url
Type
string
Verplicht
Description
Bronfoto die Meshy gebruikt als visuele referentie voor de lampenkap. We ondersteunen momenteel de formaten .jpg, .jpeg, .png en .webp.
Er zijn twee manieren om de afbeelding aan te leveren:
Openbaar toegankelijke URL: Een URL die toegankelijk is vanaf het openbare internet.
Data URI: Een base64-gecodeerde data-URI van de afbeelding. Voorbeeld van een data-URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
image_subject
Type
string
standaard character
Description
Hint voor de onderwerpcategorie die de stylization-prompt selecteert. Beschikbare waarden:
character (standaard) — enkelvoudig karakter/object-onderwerp (figuurtje, dier, mascotte, enz.).
Optionele tasknaam voor weergavedoeleinden. Maximaal 100 tekens.
Name
remove_background
Type
boolean
standaard false
Description
Wanneer ingesteld op true, wordt de prototype-afbeelding geretourneerd als een transparante RGBA-PNG met de achtergrond verwijderd, zodat je het onderwerp op elke achtergrond kunt samenstellen.
Retourwaarden
De result-property van de response bevat het task id van de nieuw aangemaakte lamp-prototype-task. Poll de Get a Task-endpoint of abonneer je op de stream totdat de task de status SUCCEEDED bereikt, en geef vervolgens die ID door aan de build-endpoint als input_task_id.
Foutmodi
Name
400 - Bad Request
Description
Het verzoek was onacceptabel. Veelvoorkomende oorzaken:
Ontbrekende parameter: image_url is verplicht.
Ongeldig afbeeldingsformaat: De opgegeven image_url heeft geen ondersteund formaat (.jpg, .jpeg, .png, .webp).
Afbeeldingsafmetingen buiten bereik: De afbeelding is te klein, overschrijdt de maximale bestandsgrootte of overschrijdt het maximale aantal pixels.
Onbereikbare URL: De image_url kon niet worden gedownload (404 of timeout).
Ongeldige Data URI: De base64-string is onjuist gevormd.
Inhoud gemarkeerd: De inputafbeelding is gemarkeerd door NSFW- of intellectuele-eigendom-moderation.
Ongeldige image_subject: Niet character / landscape.
Name
401 - Unauthorized
Description
Authenticatie mislukt. Controleer je API-sleutel.
Name
402 - Payment Required
Description
Onvoldoende credits om deze task uit te voeren.
Name
429 - Too Many Requests
Description
Je hebt je rate limit overschreden.
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.
Genereer de definitieve 3D-printbare onderdelen op basis van een geslaagde prototypetaak.
De build voert de lampprocessor uit op het 3D-model van het prototype: het
schaalt het model naar diameter_mm, maakt de onderkant vlak met cut_amount_percent,
holt het uit tot thickness_mm, opent de onderkant en — wanneer een fixture-preset
is gekozen — voegt een basisplaat toe met het fixture-gat en een afzonderlijke
montage voor de lichtbron. Raadpleeg
Het Lamp Build Task Object voor de
vorm van de response.
Parameters
Name
input_task_id
Type
string
Verplicht
Description
De task-ID van een prototypetaak die via dezelfde OpenAPI-endpoint is aangemaakt. Het prototype moet zijn aangemaakt met dezelfde API-sleutel, moet SUCCEEDED hebben bereikt en moet een 3D-model hebben opgeleverd.
Prototypetaken die via de webapp zijn aangemaakt, worden niet geaccepteerd — de build-endpoint accepteert alleen prototypetaken die zijn geproduceerd door POST /openapi/creative-lab/lamp/v1/prototype en wijst elke andere bron af met 404.
Name
name
Type
string
Description
Optionele taaknaam voor weergavedoeleinden. Maximaal 100 tekens.
options
Optionele afstemmingsparameters voor de geometrie van de lampenkap. Elk veld heeft een verstandige standaardwaarde — stuur alleen die velden die u wilt overschrijven.
Name
diameter_mm
Type
number
standaard 150
Description
Doelwaarde voor de maximale afmeting van de bounding box van de lampenkap, in millimeters. De mesh wordt uniform geschaald om te passen. Bereik: [50, 400].
Name
thickness_mm
Type
number
standaard 1
Description
Wanddikte van de holle lampenkap, in millimeters. Bereik: (0, 10].
Name
cut_amount_percent
Type
number
standaard 1
Description
Percentage van de modelhoogte dat aan de onderkant vlak wordt afgesneden, zodat de lampenkap op het printbed rust en een opening heeft voor de fixture. Bereik: [1, 100].
Name
light_source_preset
Type
string
standaard bambu_mh001_60mm
Description
Fixture-preset voor de lichtbron die bepaalt hoe de onderkant wordt opgebouwd. Beschikbare waarden:
bambu_mh001_60mm (standaard) — lampenkap met open onderkant plus een basisplaat met een fixture-gat van 60 mm, beide in model_urls.lamp_stl, en de fixture-montage als model_urls.base_stl.
none — een enkele afgesloten lampenkap in model_urls.lamp_stl; model_urls.base_stl wordt weggelaten.
Name
fixture_offset_x_mm
Type
number
standaard 0
Description
X-as-offset van het fixture-gat op de basisplaat, ten opzichte van het middelpunt van de lampenkap, in millimeters. Alleen relevant wanneer light_source_preset ≠ none. Bereik: [-80, 80].
Name
fixture_offset_z_mm
Type
number
standaard 0
Description
Z-as-offset (diepte) van het fixture-gat op de basisplaat, ten opzichte van het middelpunt van de lampenkap, in millimeters. Alleen relevant wanneer light_source_preset ≠ none. Bereik: [-80, 80].
Name
rotate_x_deg
Type
number
standaard 0
Description
Rotatie rond de X-as die vóór de verwerking op het model wordt toegepast, in graden. De drie rotaties worden toegepast als XYZ Euler-hoeken rond het middelpunt van het model. Bereik: [-360, 360].
Name
rotate_y_deg
Type
number
standaard 0
Description
Rotatie rond de Y-as die vóór de verwerking op de geïmporteerde mesh wordt toegepast, in graden. Bereik: [-360, 360].
Name
rotate_z_deg
Type
number
standaard 0
Description
Rotatie rond de Z-as die vóór de verwerking op de geïmporteerde mesh wordt toegepast, in graden. Bereik: [-360, 360].
Name
include_result_json
Type
boolean
standaard false
Description
Indien true en output.format is zip, wordt het result.json-bestand van de lampprocessor (pipelinenaam, waarschuwingen en artifactpaden) in het bundle opgenomen. Wordt genegeerd wanneer output.formatstl is.
output
Optionele selector voor het uitvoerformaat. Standaard stl.
Name
format
Type
string
standaard stl
Description
Artifact-bundel die door de build wordt geretourneerd. Beschikbare waarden:
stl (standaard) — retourneert model_urls.lamp_stl (de lampenkap, samen met de basisplaat wanneer een fixture-preset is ingesteld), plus model_urls.base_stl wanneer light_source_preset ≠ none.
zip — verpakt elk artifact dat de processor produceert (lamp.stl, optioneel base.stl, optioneel result.json) in één zip-bestand en retourneert dit onder model_urls.bundle_zip.
Retourwaarden
De result-eigenschap van de response bevat de task-id van de nieuw aangemaakte lamp-buildtaak. Poll de Get a Task-endpoint of abonneer u op de stream totdat de taak SUCCEEDED bereikt, en download vervolgens de artifacts uit model_urls.
Foutmodi
Name
400 - Bad Request
Description
Het verzoek was onaanvaardbaar. Veelvoorkomende oorzaken:
Ontbrekende parameter: input_task_id is verplicht.
Ongeldige UUID: De input_task_id is geen geldige UUID.
Bovenliggende taak niet geslaagd: De verwezen prototypetaak heeft SUCCEEDED nog niet bereikt.
Geen model: De prototypetaak is geslaagd, maar heeft geen 3D-model opgeleverd.
Options buiten bereik: Een van de options-velden viel buiten het toegestane bereik of de toegestane enum-set.
Name
401 - Unauthorized
Description
Authenticatie is mislukt. Controleer uw API-sleutel.
Name
402 - Payment Required
Description
Onvoldoende credits om deze taak uit te voeren.
Name
404 - Not Found
Description
De verwezen prototypetaak bestaat niet, hoort bij een andere gebruiker, of is aangemaakt via de webapp (alleen prototypetaken in API-mode kunnen worden doorgeschakeld naar build).
Haal een prototype- of build-taak op met een geldige taak-id. Het URL-pad
moet overeenkomen met de fase van de taak — een build-taak die wordt
opgehaald via /prototype/:id geeft 404 terug, en omgekeerd.
Annuleer een lamp-taak. Als de taak nog PENDING is, worden de bij het
aanmaken verbruikte credits terugbetaald. Taken die al IN_PROGRESS zijn,
worden geannuleerd zonder terugbetaling (de worker kan mogelijk al bronnen
verbruiken). Taken die al een eindstatus hebben bereikt (SUCCEEDED,
FAILED, CANCELED) kunnen niet worden geannuleerd.
Het URL-pad moet overeenkomen met de fase van de taak — DELETE op
/prototype/:buildId geeft 404 terug.
Padparameters
Name
id
Type
path
Description
Unieke identifier voor de te annuleren lamp-taak.
Retourneert
Retourneert 204 No Content bij succes met een lege body.
Faalmodi
Name
400 - Bad Request
Description
De taak bevindt zich al in een eindstatus en kan niet worden geannuleerd.
Name
404 - Not Found
Description
De taak bestaat niet, behoort toe aan een andere gebruiker, of de fase ervan komt niet overeen met het URL-pad.
Stream realtime updates voor een lamp-taak via Server-Sent Events (SSE).
Het URL-pad moet overeenkomen met de fase van de taak — het openen van een stream op
/prototype/:buildId/stream geeft één event: error payload met
status_code: 404 en sluit de stream.
Parameters
Name
id
Type
path
Description
Unieke identifier voor de te streamen lamp-taak.
Retourwaarden
Retourneert een stream van Lamp Prototype
of Lamp Build taakobjecten als
Server-Sent Events. Elk frame draagt het volledige taakobject voor de fase — dezelfde vorm die de
Get-endpoint retourneert — dus terwijl de taak PENDING of IN_PROGRESS is, zijn de
uitvoervelden simpelweg nog niet ingevuld (null, [] of {}) en
is finished_atnull.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.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=***" }}
Haal een gepagineerde lijst op van uw lamptaken voor één fase. Het URL-pad
selecteert de fase — /prototype retourneert prototypetaken; /build
retourneert buildtaken. Taken uit de andere fase worden in geen van beide
antwoorden opgenomen.
Padparameters
Name
stage
Type
path
Verplicht
Description
Ofwel prototype ofwel build. De verzameling retourneert alleen taken
waarvan de fase overeenkomt met de URL — het ophalen van /prototype
levert nooit buildtaken op en omgekeerd.
Queryparameters
Name
page_num
Type
integer
standaard 1
Description
Paginanummer voor paginering.
Name
page_size
Type
integer
standaard 10
Description
Limiet van paginagrootte. Maximaal toegestaan is 100 items.
Name
sort_by
Type
string
standaard -created_at
Description
Veld om op te sorteren. Beschikbare waarden:
+created_at: Sorteer op aanmaaktijd in oplopende volgorde.
-created_at: Sorteer op aanmaaktijd in aflopende volgorde.
Het Lamp Prototype Task-object is een werkeenheid die Meshy bijhoudt om
op basis van een bronfoto een gestileerde matwitte conceptafbeelding te genereren en
deze om te zetten in een holle 3D-model. De uitvoer van deze fase wordt via input_task_id
gekoppeld aan de build-fase.
Eigenschappen
Name
id
Type
string
Description
Unieke identifier voor de taak. Hoewel we als implementatiedetail een k-sorteerbare UUID gebruiken voor taak-id's, mag je geen aannames doen over het formaat van de id.
Name
type
Type
string
Description
Type van de taak. De waarde is creative-lab-lamp-prototype.
Name
name
Type
string
Description
De taaknaam die is opgegeven bij het aanmaken van de taak. Lege string als er geen naam is opgegeven.
Name
status
Type
string
Description
Status van de taak. Mogelijke waarden zijn PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress van de taak. Als de taak nog niet is gestart, is deze eigenschap 0. Zodra de taak is geslaagd, wordt dit 100.
Name
created_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is aangemaakt, in milliseconden.
Een tijdstempel geeft het aantal milliseconden weer dat is verstreken sinds 1 januari 1970 UTC, volgens
de RFC 3339-standaard.
Vrijdag 1 september 2023 12:00:00 PM GMT wordt bijvoorbeeld weergegeven als 1693569600000. Dit geldt
voor alle tijdstempels in Meshy API.
Name
started_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is gestart, in milliseconden. Als de taak nog niet is gestart, is deze eigenschap 0.
Name
finished_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is voltooid, in milliseconden. Als de taak nog niet is voltooid, is deze eigenschap 0.
Name
expires_at
Type
timestamp
Description
Tijdstempel van wanneer het taakresultaat verloopt, in milliseconden.
Name
preceding_tasks
Type
integer
Description
Het aantal voorafgaande taken.
De waarde van dit veld is alleen relevant als de taakstatus PENDING is.
Name
task_error
Type
object
Description
Foutdetails voor mislukte taken. Zie Fouten voor de volledige referentie van het task_error-object.
Name
consumed_credits
Type
integer
Description
Het aantal credits dat door deze taak is verbruikt. Aanwezig wanneer de taakstatus PENDING, IN_PROGRESS of SUCCEEDED is. Geeft 0 terug voor FAILED-taken (credits worden terugbetaald bij mislukking).
Name
model_urls
Type
object
Description
Downloadbare URL's voor het 3D-model dat is gegenereerd op basis van de conceptafbeelding. Aanwezig zodra de taak is geslaagd; {} daarvoor.
Name
glb
Type
string
Description
Downloadbare URL naar het holle matwitte lampenkap-model in GLB-formaat. Dit is het model dat in de build-fase wordt verwerkt.
Name
thumbnail_url
Type
string
Description
Downloadbare URL naar een gerenderde preview van het 3D-model. Lege string totdat de taak is geslaagd.
Name
image_urls
Type
array of strings
Description
Downloadbare URL's voor de kandidaat-conceptafbeeldingen die door deze prototype-taak zijn gegenereerd. Momenteel geeft de API altijd precies één kandidaat terug; het veld is een array zodat toekomstige revisies meerdere kandidaten kunnen tonen zonder een breaking change.
Het Lamp Build Task-object is een werkeenheid die Meshy bijhoudt om
de uiteindelijke 3D-printbare lampenkap te genereren op basis van een geslaagde prototypetaak.
De build voert de lampprocessor uit op het 3D-model van het prototype om het uit te hollen,
de onderkant af te vlakken en te openen, en (met een fixture-preset) de basisplaat
en de fixture-mount toe te voegen.
Eigenschappen
Name
id
Type
string
Description
Unieke identifier voor de taak.
Name
type
Type
string
Description
Type van de taak. De waarde is creative-lab-lamp-build.
Name
name
Type
string
Description
De taaknaam die is opgegeven bij het aanmaken van de taak. Lege string als er geen naam is opgegeven.
Name
status
Type
string
Description
Status van de taak. Mogelijke waarden zijn een van PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress van de taak. Als de taak nog niet is gestart, is deze eigenschap 0. Zodra de taak is geslaagd, wordt dit 100.
Name
created_at
Type
timestamp
Description
Tijdstempel van het moment waarop de taak is aangemaakt, in milliseconden.
Name
started_at
Type
timestamp
Description
Tijdstempel van het moment waarop de taak is gestart, in milliseconden.
Name
finished_at
Type
timestamp
Description
Tijdstempel van het moment waarop de taak is voltooid, in milliseconden.
Name
expires_at
Type
timestamp
Description
Tijdstempel van het moment waarop het taakresultaat verloopt, in milliseconden.
Name
preceding_tasks
Type
integer
Description
Het aantal voorgaande taken. Alleen relevant wanneer de status PENDING is.
Name
task_error
Type
object
Description
Foutdetails voor mislukte taken. Zie Fouten voor de volledige referentie van het task_error-object.
Name
consumed_credits
Type
integer
Description
Het aantal credits dat door deze taak is verbruikt. Geeft 0 terug voor FAILED-taken (credits worden terugbetaald bij een mislukking).
Name
model_urls
Type
object
Description
Downloadbare URL's voor de gegenereerde artefacten, gesleuteld op artefactnaam. De set sleutels hangt af van output.format en options.light_source_preset:
Name
lamp_stl
Type
string
Description
Downloadbare URL naar lamp.stl: de lampenkap met open onderkant samen met de basisplaat die het fixture-gat draagt, of een enkele verzegelde lampenkap wanneer options.light_source_presetnone was. Aanwezig wanneer output.formatstl was (de standaardwaarde).
Name
base_stl
Type
string
Description
Downloadbare URL naar base.stl, de fixture-mount voor de lichtbron. Aanwezig wanneer output.formatstl was enoptions.light_source_preset niet none was. Weggelaten wanneer de fixture-preset none was.
Name
bundle_zip
Type
string
Description
Downloadbare URL naar een zip-bundel van elk artefact dat de processor produceert (lamp.stl, optioneel base.stl, en — wanneer options.include_result_jsontrue is — result.json). Aanwezig wanneer output.formatzip was. Wanneer bundle_zip aanwezig is, worden lamp_stl / base_stl weggelaten.