Verander een bronfoto in een 3D-printbare sleutelhanger medaillon — een badge-vormige
gekleurd diepte-reliëf — in twee fasen: prototype genereert een gekleurd
conceptafbeelding van je invoerfoto, daarna verandert bouw die conceptafbeelding
in een reliëf 3D-model. De twee fasen zijn verbonden via input_task_id.
Genereer een enkele gekleurde conceptafbeelding van de bronfoto. De geretourneerde taak-ID is wat je doorgeeft als input_task_id aan de build endpoint. Raadpleeg Het Sleutelhanger Prototype Taak Object voor de vorm van de respons.
Parameters
Name
image_url
Type
string
Verplicht
Description
Bronfoto voor Meshy om in te kleuren tot een sleutelhanger-klare conceptafbeelding. We ondersteunen momenteel de formaten .jpg, .jpeg, .png en .webp.
Er zijn twee manieren om de afbeelding te verstrekken:
Publiek 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,<je base64-gecodeerde afbeeldingsgegevens>.
Name
name
Type
string
Description
Optionele taaknaam 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.
Dit regelt alleen de afbeelding die deze endpoint retourneert. Het is gescheiden van de buildoptie met dezelfde naam (standaard true), die achtergrondverwijdering regelt vóór het reliëf.
Retourneert
De result eigenschap van de respons bevat de taak id van de nieuw aangemaakte sleutelhanger prototype taak. Poll de Haal een Taak op endpoint of abonneer je op de stream totdat de taak SUCCEEDED bereikt, en geef die ID dan door aan de build endpoint als input_task_id.
Foutmodi
Name
400 - Bad Request
Description
Het verzoek was onaanvaardbaar. Veelvoorkomende oorzaken:
Ontbrekende parameter: image_url is vereist.
Ongeldig afbeeldingsformaat: De verstrekte image_url is geen ondersteund formaat (.jpg, .jpeg, .png, .webp).
Afbeeldingsdimensies 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 verkeerd gevormd.
Inhoud gemarkeerd: De invoerafbeelding werd gemarkeerd door NSFW of intellectuele eigendom moderation.
Name
401 - Unauthorized
Description
Authenticatie mislukt. Controleer je API-sleutel.
Name
402 - Payment Required
Description
Onvoldoende credits om deze taak uit te voeren.
Name
429 - Too Many Requests
Description
Je hebt je rate limit overschreden.
Verzoek
POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/keychain/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>" }'
Respons
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype voorbeeld
Begin met een bronfoto en genereer vervolgens de prototype-afbeelding die wordt gebruikt door de sleutelhanger bouwfase.
Genereer het uiteindelijke 3D-printbare sleutelhanger medaillon van een geslaagde prototype taak. De bouw voert een dieptekaart reliëf pijplijn uit op de ingekleurde concept afbeelding van het prototype en levert een enkel mesh artefact in het door u gevraagde formaat. Raadpleeg
Het Sleutelhanger Bouw Taak Object voor de respons structuur.
Parameters
Name
input_task_id
Type
string
Verplicht
Description
De taak ID van een prototype taak die via dezezelfde OpenAPI endpoint is aangemaakt. Het prototype moet zijn aangemaakt met dezelfde API-sleutel, moet SUCCEEDED hebben bereikt en moet precies één kandidaat afbeelding hebben geproduceerd.
Prototype taken die via de webapp zijn aangemaakt worden niet geaccepteerd — de bouw endpoint accepteert alleen prototype taken geproduceerd door POST /openapi/creative-lab/keychain/v1/prototype en weigert elke andere bron met 404.
Name
name
Type
string
Description
Optionele taaknaam voor weergavedoeleinden. Maximaal 100 tekens.
options
Optionele afstemmingsparameters voor de reliëf geometrie. Elk veld heeft een verstandige standaardwaarde — stuur alleen de velden die u wilt overschrijven.
Name
badge_shape
Type
string
standaard circle
Description
Omtrek silhouet van het sleutelhanger medaillon. Beschikbare waarden:
circle (standaard)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
standaard 40
Description
Lengte van de rand van het begrenzende vierkant van de sleutelhanger, in millimeters. Bereik: (0, 400].
Name
relief_height_mm
Type
number
standaard 2.2
Description
Maximale reliëf hoogte boven de basis, in millimeters. Bereik: [0, 20].
Name
relief_offset_mm
Type
number
standaard 0
Description
Verticale offset toegepast op het reliëf voor extrusie, in millimeters. Bereik: [0, 20].
Name
base_thickness_mm
Type
number
standaard 0.1
Description
Dikte van de platte basisplaat achter het reliëf, in millimeters. Bereik: [0, 20].
Name
has_closed_back
Type
boolean
standaard true
Description
Of de achterkant van het medaillon is verzegeld als een gesloten oppervlak. Stel in op false voor een open schaal.
Name
relief_curve
Type
string
standaard linear
Description
Overdrachtscurve die dieptekaart waarden naar reliëf hoogte mapt. Beschikbare waarden:
linear (standaard)
gamma
s-curve
Name
curve_param
Type
number
standaard 1.0
Description
Vorm parameter voor de overdrachtscurve (alleen zinvol wanneer relief_curvegamma is). Bereik: (0, 10].
Name
invert_depth
Type
boolean
standaard false
Description
Keer de interpretatie van de dieptekaart om zodat donkere gebieden hoger reliëf worden.
Name
smoothing
Type
number
standaard 0.24
Description
Gladheidssterkte toegepast op de dieptekaart voor reliëf extractie. Bereik: [0, 10].
Laagdoorlaat drempel voor dieptekaart waarden; alles hieronder wordt vastgezet op nul. Bereik: [0, 1].
Name
remove_background
Type
boolean
standaard true
Description
Verwijder automatisch de achtergrond van de concept afbeelding van het prototype voordat het reliëf wordt gemaakt.
Afzonderlijk van de prototype parameter met dezelfde naam (standaard false), die bepaalt of de prototype afbeelding zelf wordt geretourneerd met transparantie.
Name
export_resolution
Type
integer
standaard 512
Description
Mesh resolutie gebruikt voor export. Bereik: [64, 2048].
output
Optionele draadformaat selector. Standaard is glb.
Name
format
Type
string
standaard glb
Description
Artefact bundel geretourneerd door de bouw. Beschikbare waarden:
glb (standaard) — retourneert een enkele model.glb onder model_urls.glb.
obj — comprimeert model.obj + model.mtl + texture.png en retourneert de bundel onder model_urls.obj.
zip — comprimeert elk artefact dat de generator uitzendt en retourneert de bundel onder model_urls.bundle_zip.
Retourneert
De result eigenschap van de respons bevat de taak id van de nieuw aangemaakte sleutelhanger bouw taak. Poll de Haal een Taak op endpoint of abonneer op de stream totdat de taak SUCCEEDED bereikt, en download dan het artefact van de enkele vermelding in model_urls.
Foutmodi
Name
400 - Bad Request
Description
Het verzoek was onaanvaardbaar. Veelvoorkomende oorzaken:
Ontbrekende parameter: input_task_id is vereist.
Ongeldige UUID: De input_task_id is geen geldige UUID.
Ouder niet geslaagd: De gerefereerde prototype taak heeft SUCCEEDED nog niet bereikt.
Geen kandidaat: De prototype taak is geslaagd maar heeft geen kandidaat afbeelding geproduceerd.
Opties buiten bereik: Een van de options velden viel buiten het toegestane bereik of enum set.
Name
401 - Unauthorized
Description
Authenticatie mislukt. Controleer uw API-sleutel.
Name
402 - Payment Required
Description
Onvoldoende credits om deze taak uit te voeren.
Name
404 - Not Found
Description
De gerefereerde prototype taak bestaat niet, behoort tot een andere gebruiker, of is aangemaakt via de webapp (alleen API-mode prototype taken schakelen over naar bouw).
Haal een prototype- of bouwtaak op met een geldig taak id. Het URL-pad
moet overeenkomen met de fase van de taak — een bouwtaak opgehaald via
/prototype/:id geeft 404, en vice versa.
Annuleer een sleutelhanger taak. Als de taak nog PENDING is, worden de credits
die bij het aanmaken zijn verbruikt, terugbetaald. Taken die al
IN_PROGRESS zijn, worden geannuleerd zonder terugbetaling (de werknemer kan al bezig zijn
met het verbruiken van bronnen). 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.
Pad Parameters
Name
id
Type
path
Description
Unieke identificatie voor de sleutelhanger taak om te annuleren.
Retourneert
Retourneert 204 No Content bij succes met een lege body.
Foutmodi
Name
400 - Bad Request
Description
De taak is al in een eindstatus en kan niet worden geannuleerd.
Name
404 - Not Found
Description
De taak bestaat niet, behoort tot een andere gebruiker, of de fase komt niet overeen met het URL-pad.
Stream real-time updates voor een sleutelhanger taak via Server-Sent Events (SSE).
Het URL-pad moet overeenkomen met de fase van de taak — het openen van een stream bij
/prototype/:buildId/stream geeft een enkele event: error payload met
status_code: 404 en sluit de stream.
Parameters
Name
id
Type
path
Description
Unieke identificatie voor de sleutelhanger taak om te streamen.
Retourneert
Retourneert een stream van Sleutelhanger Prototype
of Sleutelhanger Build taakobjecten als
Server-Sent Events. Voor PENDING of IN_PROGRESS taken, zal de responsstream
alleen de noodzakelijke progress en status velden bevatten.
// 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-keychain-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***" }}
Haal een gepagineerde lijst op van je sleutelhanger taken voor een enkele fase. Het URL-pad selecteert de fase — /prototype retourneert prototype taken; /build retourneert build taken. Taken van de andere fase zijn niet opgenomen in beide antwoorden.
Pad Parameters
Name
stage
Type
path
Verplicht
Description
Ofwel prototype of build. De collectie retourneert alleen taken
waarvan de fase overeenkomt met de URL — het ophalen van /prototype retourneert nooit
build taken en vice versa.
Query Parameters
Name
page_num
Type
integer
standaard 1
Description
Paginanummer voor paginering.
Name
page_size
Type
integer
standaard 10
Description
Limiet voor paginagrootte. Maximum toegestaan is 50 items.
Name
sort_by
Type
string
standaard -created_at
Description
Veld om op te sorteren. Beschikbare waarden:
+created_at: Sorteren op creatietijd in oplopende volgorde.
-created_at: Sorteren op creatietijd in aflopende volgorde.
Het Sleutelhanger Prototype Taakobject is een werkunit die Meshy bijhoudt om een ingekleurde conceptafbeelding te genereren van een bronfoto. De output van deze fase wordt gekoppeld aan de bouwfase via input_task_id.
Eigenschappen
Name
id
Type
string
Description
Unieke identificatie voor de taak. Hoewel we een k-sortable UUID gebruiken voor taak-id's als implementatiedetail, moet je geen aannames maken over het formaat van de id.
Name
type
Type
string
Description
Type van de taak. De waarde is creative-lab-keychain-prototype.
Name
name
Type
string
Description
De taaknaam die werd opgegeven toen de taak werd aangemaakt. Lege string als er geen naam werd 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
Voortgang van de taak. Als de taak nog niet is gestart, zal deze eigenschap 0 zijn. 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 vertegenwoordigt het aantal milliseconden dat is verstreken sinds 1 januari 1970 UTC, volgens de RFC 3339 standaard. Bijvoorbeeld, vrijdag 1 september 2023 12:00:00 PM GMT wordt 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, zal deze eigenschap 0 zijn.
Name
finished_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is voltooid, in milliseconden. Als de taak nog niet is voltooid, zal deze eigenschap 0 zijn.
Name
expires_at
Type
timestamp
Description
Tijdstempel van wanneer het taakresultaat verloopt, in milliseconden.
Name
preceding_tasks
Type
integer
Description
Het aantal voorgaande taken.
De waarde van dit veld is alleen betekenisvol als de taakstatus PENDING is.
Name
task_error
Type
object
Description
Foutdetails voor mislukte taken. Zie Fouten voor de volledige task_error objectreferentie.
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
image_urls
Type
array of strings
Description
Downloadbare URL's voor de conceptafbeelding kandidaten gegenereerd door deze prototype taak. Momenteel retourneert de API altijd precies één kandidaat; het veld is een array zodat toekomstige revisies meerdere kandidaten kunnen tonen zonder een brekende wijziging.
Het Sleutelhanger Bouwtaak object is een werkunit die Meshy bijhoudt om de uiteindelijke 3D sleutelhanger mesh te genereren vanuit een geslaagde prototype taak. De bouw voert een dieptekaart-reliëfpijplijn uit op de conceptafbeelding van het prototype en publiceert een enkel mesh artefact in het formaat dat de aanroeper heeft gevraagd.
Eigenschappen
Name
id
Type
string
Description
Unieke identificatie voor de taak.
Name
type
Type
string
Description
Type van de taak. De waarde is creative-lab-keychain-build.
Name
name
Type
string
Description
De taaknaam die werd opgegeven toen de taak werd aangemaakt. Lege string als er geen naam werd 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
Voortgang van de taak. Als de taak nog niet is gestart, zal deze eigenschap 0 zijn. Zodra de taak is geslaagd, wordt dit 100.
Name
created_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is aangemaakt, in milliseconden.
Name
started_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is gestart, in milliseconden.
Name
finished_at
Type
timestamp
Description
Tijdstempel van wanneer de taak is voltooid, in milliseconden.
Name
expires_at
Type
timestamp
Description
Tijdstempel van wanneer het taakresultaat verloopt, in milliseconden.
Name
preceding_tasks
Type
integer
Description
Het aantal voorgaande taken. Betekenisvol alleen wanneer de status PENDING is.
Name
task_error
Type
object
Description
Foutdetails voor mislukte taken. Zie Fouten voor de volledige task_error objectreferentie.
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 mislukking).
Name
model_urls
Type
object
Description
Downloadbare URL's voor het gegenereerde artefact, gesorteerd op artefactnaam. Bevat altijd precies één item — het formaat dat is gevraagd via het bouwverzoek's output.format. De sleutel komt overeen met het gevraagde formaat:
Name
glb
Type
string
Description
Downloadbare URL naar het GLB-bestand. Aanwezig wanneer output.formatglb was (de standaard).
Name
obj
Type
string
Description
Downloadbare URL naar een zip-bundel met model.obj, model.mtl, en texture.png. Aanwezig wanneer output.formatobj was.
Name
bundle_zip
Type
string
Description
Downloadbare URL naar een zip-bundel van elk artefact dat de generator uitzendt. Aanwezig wanneer output.formatzip was.