Creative Lab Collapsible Fidget API
Verander een foto in één taak in een inklapbaar fidget-speeltje dat in één stuk wordt geprint. De silhouet van het onderwerp wordt omgezet in geneste concentrische ringen die plat kunnen worden ingeklapt en weer kunnen worden uitgerekt. Het speeltje wordt in één stuk geprint, zonder montage.
POST /openapi/creative-lab/fidget-collapsible/v1
In tegenstelling tot de andere Creative Lab-endpoints heeft deze geen afzonderlijke prototype- en build-fasen. Er zijn geen kandidaatafbeeldingen om uit te kiezen, dus één taak zet de foto direct om in een 3D-model.
Het verzoek bevat ook geen geometrie-instellingen. In de web-app kun je de grootte, het aantal lagen, de breedte van de tussenruimte, de wanddikte, de extrusiediepte en de uitstulping instellen. Elke API-taak gebruikt hiervoor dezelfde standaardwaarden.
Maak een Collapsible Fidget-taak
Genereert een inklapbaar fidget-model op basis van een foto. Zie voor de velden van de taak Het Collapsible Fidget-taakobject.
Elke taak kost 6 credits en vereist een betaald abonnement.
Request
curl https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1 \
-X POST \
-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"
}
Parameters
- Name
- image_url
- Type
- string
- Verplicht
- Description
De foto die omgezet moet worden in een inklapbare fidget, als een publieke URL of een data-URI (
data:image/jpeg;base64,<je in base64 gecodeerde afbeeldingsgegevens>).De afbeelding moet een JPG-, JPEG-, PNG- of WebP-bestand van maximaal 20 MB zijn.
De silhouet van het onderwerp wordt de ringen, dus een onderwerp met één duidelijke, gesloten omtrek werkt het beste. Een drukke achtergrond, meerdere afzonderlijke onderwerpen of zeer dunne vormen kunnen te weinig ruimte overlaten voor de geneste wanden. In dat geval mislukt de taak.
- Name
- name
- Type
- string
- Description
Een naam voor de taak, tot 100 tekens. Deze komt terug in het
name-veld van de taak, en Meshy graveert deze niet op het model. Een langere naam resulteert in400.
Resultaten
Het veld result bevat de ID van de nieuwe taak. Haal de taak op of stream deze totdat status gelijk is aan SUCCEEDED. Download daarna het afdrukbare STL-bestand via model_urls.stl. Om het model eerst te bekijken, download je het GLB-bestand via model_urls.glb als dat aanwezig is.
Faalscenario's
- Name
400 - Bad Request- Description
Het verzoek kan niet worden uitgevoerd. Bijvoorbeeld:
image_urlontbreekt.- De afbeelding is geen JPG-, JPEG-, PNG- of WebP-bestand.
- De afbeelding is te klein, groter dan 20 MB, of overschrijdt het maximale aantal pixels.
- Meshy kan de afbeelding niet downloaden, bijvoorbeeld omdat de URL
404teruggeeft of time-out geeft. - De data-URI is geen geldige base64.
- De afbeelding is gemarkeerd als NSFW.
Het foutbericht geeft aan welk probleem er is gevonden. Corrigeer het verzoek en stuur het opnieuw.
- Name
401 - Unauthorized- Description
De API-sleutel ontbreekt of is ongeldig. Controleer de
Authorization-header.
- Name
402 - Payment Required- Description
Een van de volgende situaties is van toepassing:
- Het account heeft niet genoeg credits.
- De API-sleutel, werkruimte of het lid heeft het creditlimiet bereikt.
- Het account gebruikt het gratis abonnement.
Controleer je credits en abonnement en probeer het opnieuw.
- Name
403 - Forbidden- Description
Je team heeft IP Filtering ingeschakeld, en Meshy heeft de afbeelding gemarkeerd vanwege intellectueel eigendom van derden. Stuur een afbeelding waarvoor je gebruiksrechten hebt.
- Name
429 - Too Many Requests- Description
Een van deze limieten is bereikt:
- Je hebt meer verzoeken verstuurd dan je rate limit toestaat. Wacht een paar seconden en probeer het opnieuw. Zie Rate limits.
- Er staan te veel van je taken in de wachtrij of lopen er te veel. Wacht tot er een aantal zijn voltooid en probeer het opnieuw.
- Bij een onbeperkt abonnement zonder resterende credits heb je het aantal taken bereikt dat zonder credits kan worden uitgevoerd. Wacht tot een taak is voltooid, of voeg credits toe.
- Name
500 - Internal Server Error- Description
Meshy is op een serverfout gestuit, bijvoorbeeld omdat de intellectueel-eigendomscontrole op de afbeelding niet kon worden uitgevoerd. Meshy maakt de taak niet aan en vergoedt eventuele in rekening gebrachte credits. Probeer het verzoek opnieuw.
Haal een Collapsible Fidget-taak op
Retourneert een Collapsible Fidget-taak. Alleen taken die met deze endpoint zijn aangemaakt, worden geretourneerd. Een taak van een andere Creative Lab endpoint, of een taak die in de web-app is aangemaakt, retourneert 404.
Zie voor de velden Het Collapsible Fidget-taakobject.
Request
curl https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-fidget-collapsible",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123512000,
"expires_at": 1729382712000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
}
}
Parameters
- Name
- id
- Type
- path
- Description
Het taak-ID uit het antwoord van het aanmaken.
Retourneert
Het Collapsible Fidget-taakobject.
Faalscenario's
- Name
400 - Bad Request- Description
idis geen geldig taak-ID. Stuur hetresult-ID uit het antwoord van het aanmaken.
- Name
403 - Forbidden- Description
Je team heeft IP Filtering ingeschakeld, en Meshy heeft de afbeelding van de taak gemarkeerd wegens intellectueel eigendom van derden. Teams met het Enterprise-abonnement krijgen deze fout niet. Maak een taak aan met een afbeelding waarvoor je gebruiksrechten hebt.
- Name
404 - Not Found- Description
Er is geen Collapsible Fidget-taak met dit ID die bij jouw account hoort, of de taak is niet met deze endpoint aangemaakt. Controleer het ID.
- Name
500 - Internal Server Error- Description
Meshy kon de controle op intellectueel eigendom niet uitvoeren. Probeer het verzoek opnieuw.
Een Collapsible Fidget-taak verwijderen
Annuleert een Collapsible Fidget-taak. Het annuleren van een PENDING-taak restitueert de bijbehorende credits. Een IN_PROGRESS-taak wordt geannuleerd zonder restitutie, omdat een worker er al mee is begonnen. Een taak met een definitieve status (SUCCEEDED, FAILED of CANCELED) kan niet worden geannuleerd.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 204 No Content on success (empty body).
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de te annuleren taak.
Retourwaarden
204 No Content met een lege body.
Faalmodi
- Name
400 - Bad Request- Description
Een van de volgende situaties is van toepassing:
idis geen geldige taak-ID. Stuur deresult-ID uit het aanmaakverzoek-antwoord.- De taak heeft al een definitieve status (
SUCCEEDED,FAILEDofCANCELED), waardoor deze niet kan worden geannuleerd.
- Name
404 - Not Found- Description
Er bestaat geen Collapsible Fidget-taak met deze ID binnen jouw account, of de taak is niet aangemaakt met deze endpoint. Controleer de ID.
Stream een Collapsible Fidget-taak
Streamt de updates van een Collapsible Fidget-taak als Server-Sent Events (SSE). Als de taak niet bestaat of niet via deze endpoint is aangemaakt, stuurt de stream één error-event met status_code: 404 en wordt de verbinding gesloten.
Request
curl -N https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example (task not found, or not created through this endpoint)
event: error
data: {
"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 following PENDING frame is shortened to the fields that change.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-fidget-collapsible",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123512000,
"expires_at": 1729382712000,
"task_error": null,
"consumed_credits": 6,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
}
}
Parameters
- Name
- id
- Type
- path
- Description
De taak-ID uit de create-respons.
Retourwaarden
Een stream van Collapsible Fidget-taakobjecten. Elk event bevat het volledige taakobject, zoals Een Collapsible Fidget-taak ophalen dit teruggeeft. Zolang de taak PENDING of IN_PROGRESS is, zijn de outputvelden nog leeg (null, [] of {}), en is finished_at gelijk aan null.
Als IP Filtering het resultaat van de taak blokkeert, stuurt de stream in plaats daarvan één error-event, met de status_code die een get-verzoek zou retourneren.
Collapsible Fidget-taken weergeven
Retourneert uw Collapsible Fidget-taken, één pagina per keer. Alleen taken die met deze endpoint zijn aangemaakt, worden opgenomen.
Request
curl https://api.meshy.ai/openapi/creative-lab/fidget-collapsible/v1?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-fidget-collapsible",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123512000,
"expires_at": 1729382712000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
}
}
]
Queryparameters
- Name
- page_num
- Type
- integer
- standaard 1
- Description
De pagina die moet worden geretourneerd, van
1tot255.0retourneert de eerste pagina. Een waarde buiten0tot255retourneert400.
- Name
- page_size
- Type
- integer
- standaard 10
- Description
Aantal taken per pagina, tot
100. Een waarde van101tot255retourneert 100 taken, en0gebruikt de standaardwaarde. Een waarde buiten0tot255retourneert400.
- Name
- sort_by
- Type
- string
- standaard -created_at
- Description
De sorteervolgorde.
Beschikbare waarden:
-created_at: nieuwste eerst+created_at: oudste eerst
Retourneert
Een array van Collapsible Fidget-taakobjecten.
Het Collapsible Fidget-taakobject
Een Collapsible Fidget-taak zet een foto om in een print-in-place inklapbaar fidget-model. Het is een taak met één fase, dus er is geen prototype-taak om aan te koppelen. De respons bevat niet het silhouet dat Meshy onderweg maakt.
Eigenschappen
Example Collapsible Fidget Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-fidget-collapsible",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123512000,
"expires_at": 1729382712000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
}
}
- Name
- id
- Type
- string
- Description
De taak-ID. Vertrouw niet op het formaat ervan.
- Name
- type
- Type
- string
- Description
Het taaktype, altijd
creative-lab-fidget-collapsible.
- Name
- name
- Type
- string
- Description
De
namedie je opgaf toen je de taak aanmaakte, of""als je er geen hebt opgegeven.
- Name
- status
- Type
- string
- Description
De status van de taak.
Beschikbare waarden:
PENDING: wacht in de wachtrijIN_PROGRESS: genereert het resultaatSUCCEEDED: definitief, met het resultaatFAILED: definitief, met de reden intask_errorCANCELED: definitief, zonder resultaat
- Name
- progress
- Type
- integer
- Description
Percentage van het voltooide werk, van
0tot100. Het is0totdat de taak start en100wanneer deze slaagt.
- Name
- created_at
- Type
- timestamp
- Description
Tijdstip waarop de taak is aangemaakt, in Unix-milliseconden.
- Name
- started_at
- Type
- timestamp
- Description
Tijdstip waarop een worker de taak heeft gestart, in Unix-milliseconden.
nulltot dan.
- Name
- finished_at
- Type
- timestamp
- Description
Tijdstip waarop de taak een definitieve status heeft bereikt, in Unix-milliseconden.
nulltot dan.
- Name
- expires_at
- Type
- timestamp
- Description
Tijdstip waarop het resultaat van de taak verloopt, in Unix-milliseconden. Dit is 3 dagen na
finished_at, of 3 dagen nacreated_attotdat de taak voltooid is. Voor Enterprise-accounts, die API-resultaten onbeperkt bewaren, is dit ongeveer 100 jaar later. Zie Asset-retentie.
- Name
- preceding_tasks
- Type
- integer
- Description
De positie van de taak in de wachtrij terwijl deze
PENDINGis.1betekent dat deze als volgende start.0nadat de taak de wachtrij heeft verlaten, en altijd0in lijstresultaten.
- Name
- task_error
- Type
- object
- Description
Waarom de taak is mislukt.
nulltenzijstatusgelijk is aanFAILED. Zie Fouten.
- Name
- consumed_credits
- Type
- integer
- Description
Aantal credits dat voor de taak in rekening is gebracht, na eventuele terugbetaling. Een verzoek dat een fout retourneert, wordt niet in rekening gebracht. Een mislukte taak is
0, omdat Meshy deze terugbetaalt. Annuleren betaalt een taak alleen terug terwijl dezePENDINGis. Als Meshy de kosten niet kan uitlezen, laat een get- of stream-respons het veld weg, en retourneert een lijstverzoek500. Probeer het verzoek in dat geval opnieuw.
- Name
- model_urls
- Type
- object
- Description
Download-URL's voor het 3D-model, leeg totdat de taak slaagt. Een geslaagde taak heeft altijd
stl, en heeft alleenglbals Meshy de voorvertoning heeft gerenderd.- Name
stl- Type
- string
- Description
Download-URL voor het STL-bestand, dat het bestand is om te printen. Je kunt het rechtstreeks openen in een slicer.
- Name
glb- Type
- string
- Description
Download-URL voor een GLB-bestand om het model te bekijken in een 3D-viewer. De kleuren ervan zijn alleen voor de voorvertoning. Het STL-bestand heeft geen kleur, dus de geprinte fidget krijgt zijn kleur van het filament.
Als Meshy de voorvertoning niet kan renderen, heeft
model_urlsgeenglb-sleutel, dus controleer op de sleutel voordat je deze uitleest. EenSUCCEEDED-taak heeft altijdstl.