Förvandla ett källfoto till en 3D-utskrivbar nyckelringsmedaljong — ett
märkeformat färgat djuprelief — i två steg: prototyp genererar en färgad
konceptbild från ditt inmatningsfoto, sedan bygg omvandlar den konceptbilden
till en relief 3D-modell. De två stegen är länkade via input_task_id.
Generera en enda färglagd konceptbild från källfotot. Det returnerade uppgifts-ID:t är vad du skickar som input_task_id till bygg-endpointen. Se
Nyckelringsprototypuppgiftsobjektet
för svarstrukturen.
Parametrar
Name
image_url
Type
string
Obligatorisk
Description
Källfoto för Meshy att färglägga till en nyckelringsklar konceptbild. 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 offentliga internet.
Data URI: En base64-kodad data URI av bilden. Exempel på en data URI: data:image/jpeg;base64,<din base64-kodade bilddata>.
Name
name
Type
string
Description
Valfritt uppgiftsnamn för visningsändamål. Max 100 tecken.
Name
remove_background
Type
boolean
standard false
Description
När den är inställd på true returneras prototypbilden som en transparent RGBA PNG med bakgrunden borttagen, så att du kan komponera motivet på valfri bakgrund.
Detta styr endast bilden som denna endpoint returnerar. Det är separat från byggalternativet med samma namn (standard true), som styr bakgrundsborttagning före reliefing.
Returnerar
result-egenskapen i svaret innehåller uppgifts-id för den nyligen skapade nyckelringsprototypuppgiften. Poll Hämta en uppgift endpointen eller prenumerera på strömmen tills uppgiften når SUCCEEDED, sedan skickar du det ID:t till bygg-endpointen som input_task_id.
Felmod
Name
400 - Bad Request
Description
Begäran var oacceptabel. Vanliga orsaker:
Saknad parameter: image_url är obligatorisk.
Ogiltigt bildformat: Den angivna image_url är inte ett stödt format (.jpg, .jpeg, .png, .webp).
Bildmått utanför räckvidd: Bilden är för liten, överskrider maximal filstorlek eller överskrider maximalt antal pixlar.
Oåtkomlig URL: image_url kunde inte laddas ner (404 eller timeout).
Ogiltig Data URI: Base64-strängen är felaktig.
Innehåll flaggat: Inmatningsbilden flaggades av NSFW eller immateriell egendomsmoderation.
Name
401 - Unauthorized
Description
Autentisering 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/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>" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototyp exempel
Börja med ett källfoto, generera sedan prototypbilden som används av nyckelringsbyggstadiet.
Generera den slutliga 3D-utskrivbara nyckelringsmedaljongen från en lyckad prototypuppgift. Bygget kör en djupkartsreliefpipeline på prototypens färgade konceptbild och levererar en enda nätartefakt i det format du begär. Se Nyckelringsbygguppgiftsobjektet för svarformatet.
Parametrar
Name
input_task_id
Type
string
Obligatorisk
Description
Uppgifts-ID för en prototypuppgift skapad via denna samma OpenAPI endpoint. Prototypen måste ha skapats med samma API-nyckel, måste ha nått SUCCEEDED, och måste ha producerat exakt en kandidatbild.
Prototypuppgifter skapade genom webappen accepteras inte — byggendpointen accepterar endast prototypuppgifter producerade av POST /openapi/creative-lab/keychain/v1/prototype och avvisar alla andra källor med 404.
Name
name
Type
string
Description
Valfritt uppgiftsnamn för visningsändamål. Max 100 tecken.
options
Valfria justeringsparametrar för reliefgeometrin. Varje fält har ett rimligt standardvärde — skicka endast de du vill åsidosätta.
Name
badge_shape
Type
string
standard circle
Description
Kontursilhuett av nyckelringsmedaljongen. Tillgängliga värden:
circle (standard)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
standard 40
Description
Kantlängd på den begränsande kvadraten av nyckelringen, i millimeter. Område: (0, 400].
Name
relief_height_mm
Type
number
standard 2.2
Description
Maximal reliefhöjd ovanför basen, i millimeter. Område: [0, 20].
Name
relief_offset_mm
Type
number
standard 0
Description
Vertikal offset tillämpad på reliefen före extrusion, i millimeter. Område: [0, 20].
Name
base_thickness_mm
Type
number
standard 0.1
Description
Tjocklek på den platta basplattan bakom reliefen, i millimeter. Område: [0, 20].
Name
has_closed_back
Type
boolean
standard true
Description
Om baksidan av medaljongen är förseglad som en sluten yta. Ställ in på false för ett öppet skal.
Name
relief_curve
Type
string
standard linear
Description
Överföringskurva som mappar djupkartsvärden till reliefhöjd. Tillgängliga värden:
linear (standard)
gamma
s-curve
Name
curve_param
Type
number
standard 1.0
Description
Formparameter för överföringskurvan (endast meningsfull när relief_curve är gamma). Område: (0, 10].
Name
invert_depth
Type
boolean
standard false
Description
Invertera djupkartsinterpretationen så att mörkare områden blir högre relief.
Name
smoothing
Type
number
standard 0.24
Description
Utjämningsstyrka tillämpad på djupkartan före reliefutvinning. Område: [0, 10].
Lågpassgräns för djupkartsvärden; allt under detta klampas till noll. Område: [0, 1].
Name
remove_background
Type
boolean
standard true
Description
Ta automatiskt bort bakgrunden på prototypens konceptbild före reliefing.
Separat från prototypparametern med samma namn (standard false), som styr om prototypbilden själv returneras med transparens.
Name
export_resolution
Type
integer
standard 512
Description
Nätupplösning som används för export. Område: [64, 2048].
output
Valfri trådformatväljare. Standard är glb.
Name
format
Type
string
standard glb
Description
Artefaktpaket returnerat av bygget. Tillgängliga värden:
glb (standard) — returnerar en enda model.glb under model_urls.glb.
obj — zips model.obj + model.mtl + texture.png och returnerar paketet under model_urls.obj.
zip — zips varje artefakt som generatorn avger och returnerar paketet under model_urls.bundle_zip.
Returnerar
result-egenskapen i svaret innehåller uppgifts-id för den nyss skapade nyckelringsbygguppgiften. Poll Hämta en uppgift endpointen eller prenumerera på strömmen tills uppgiften når SUCCEEDED, ladda sedan ner artefakten från den enda posten i model_urls.
Felmod
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 en giltig UUID.
Förälder inte lyckad: Den refererade prototypuppgiften har inte nått SUCCEEDED ännu.
Ingen kandidat: Prototypuppgiften lyckades men producerade ingen kandidatbild.
Alternativ utanför räckvidd: Ett av options-fälten föll utanför sitt tillåtna område eller enum-set.
Name
401 - Unauthorized
Description
Autentisering misslyckades. Kontrollera din API-nyckel.
Name
402 - Payment Required
Description
Otillräckliga credits för att utföra denna uppgift.
Name
404 - Not Found
Description
Den refererade prototypuppgiften existerar inte, tillhör en annan användare, eller skapades genom webappen (endast API-läge prototypuppgifter kedjas till bygg).
Hämta en prototyp- eller bygguppgift med ett giltigt uppgifts-id. URL-sökvägen
måste matcha uppgiftens steg — en bygguppgift hämtad genom
/prototype/:id returnerar 404, och vice versa.
Avbryt en nyckelringuppgift. 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 nyckelringuppgiften som ska avbrytas.
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.
Strömma uppdateringar i realtid för en nyckelringuppgift via Server-Sent Events (SSE).
URL-sökvägen måste matcha uppgiftens steg — att öppna en ström vid
/prototype/:buildId/stream sänder en enda event: error payload med
status_code: 404 och stänger strömmen.
Parametrar
Name
id
Type
path
Description
Unikt identifierare för nyckelringuppgiften att strömma.
Returnerar
Returnerar en ström av Nyckelring Prototyp
eller Nyckelring Bygg uppgiftsobjekt som
Server-Sent Events. För PENDING eller IN_PROGRESS uppgifter, kommer svarströmmen
endast att inkludera de nödvändiga progress och status fälten.
// 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=***" }}
Hämta en paginerad lista över dina nyckelringuppgifter för ett enda steg. URL-sökvägen väljer steget — /prototype returnerar prototypuppgifter; /build returnerar bygguppgifter. 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 — hämtning av /prototype returnerar aldrig
bygguppgifter 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
Sidstorleksgräns. Max 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.
Nyckelringens prototyptaskobjekt är en arbetsenhet som Meshy håller reda på för att generera en färglagd konceptbild från ett källfoto. Utdata från detta steg kedjas in i 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 task-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 uppgift. Värdet är creative-lab-keychain-prototype.
Name
name
Type
string
Description
Det uppgiftsnamn som angavs när uppgiften skapades. Tom sträng om inget namn angavs.
Name
status
Type
string
Description
Status för uppgiften. Möjliga värden är en av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
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
created_at
Type
timestamp
Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
En tidsstämpel representerar antalet millisekunder som har förflutit sedan den 1 januari 1970 UTC, enligt
RFC 3339-standarden.
Till exempel, fredag den 1 september 2023 kl. 12:00:00 GMT representeras 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 startades, i millisekunder. Om uppgiften inte har startat ännu, kommer denna egenskap att vara 0.
Name
finished_at
Type
timestamp
Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte har avslutats ännu, kommer denna egenskap att vara 0.
Name
expires_at
Type
timestamp
Description
Tidsstämpel för när uppgiftsresultatet går ut, i millisekunder.
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. Förekommer när uppgiftens status är PENDING, IN_PROGRESS eller SUCCEEDED. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid fel).
Name
image_urls
Type
array of strings
Description
Nedladdningsbara URL:er för konceptbildkandidater som genereras av denna prototyptask. 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 brytande förändring.
Objektet för nyckelringsbygguppgiften är en arbetsenhet som Meshy håller reda på för att generera det slutliga 3D-nätet för nyckelringen från en lyckad prototypuppgift. Bygget kör en djupkartsrelief-pipeline på prototypens konceptbild och publicerar en enda nätartefakt i det format som anroparen begärde.
Egenskaper
Name
id
Type
string
Description
Unik identifierare för uppgiften.
Name
type
Type
string
Description
Typ av uppgift. Värdet är creative-lab-keychain-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
Status för uppgiften. Möjliga värden är en av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
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
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 uppgiftsresultatet löper ut, i millisekunder.
Name
preceding_tasks
Type
integer
Description
Antalet föregående uppgifter. Meningsfullt endast när 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. Returnerar 0 för FAILED uppgifter (credits återbetalas vid misslyckande).
Name
model_urls
Type
object
Description
Nedladdningsbara URL:er för den genererade artefakten, nycklade efter artefaktnamn. Innehåller alltid exakt en post — formatet som begärdes via byggbegärans output.format. Nyckeln matchar det begärda formatet:
Name
glb
Type
string
Description
Nedladdningsbar URL till GLB-filen. Förekommer när output.format var glb (standard).
Name
obj
Type
string
Description
Nedladdningsbar URL till ett zip-paket som innehåller model.obj, model.mtl och texture.png. Förekommer när output.format var obj.
Name
bundle_zip
Type
string
Description
Nedladdningsbar URL till ett zip-paket av varje artefakt som generatorn avger. Förekommer när output.format var zip.