lowpoly avvecklas den 30 okt. 2026. Byt modell före dessa datum för att undvika fel i förfrågningar.

Analysera utskrivbarhet-API

Analysera en 3D-modell för utskrivbarhet — vattentäthet, volym, hål, non-manifold-kanter och degenererade ytor. Valfritt kan du även kontrollera väggtjocklek vid den storlek du planerar att skriva ut i.


POST/openapi/v1/print/analyze

Create an Analyze Printability Task

Denna endpoint skapar en ny Analysera utskrivbarhet-uppgift. Uppgiften utvärderar en 3D-modell och rapporterar dess utskrivbarhetsmått.

Uppgiften körs i bakgrunden. För information om hur lång tid det vanligtvis tar, se Processing Times.

Om input-uppgiften redan har cachad utskrivbarhet är den returnerade uppgiften omedelbart redo, och den första GET-anropet på den kommer att returnera analysresultatet utan att gå via arbetaren.

För att även kontrollera väggtjocklek vid den storlek du planerar att skriva ut i, skicka printer_type, en utskriftsstorlek, eller båda. Resultatet returneras i printability.thin_walls. Kontroll av väggtjocklek tar längre tid, så uppgiften är vanligtvis inte redo direkt, även om modellen analyserades tidigare.

Parametrar

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    URL till en 3D-modell att analysera. Format som stöds: .glb, .gltf, .obj, .fbx, .stl. Använd en http- eller https-URL, eller en base64 data:-URL för en GLB (data:model/gltf-binary;base64,...) eller glTF (data:model/gltf+json;base64,...). .obj-, .fbx- och .stl-filer måste skickas som en http- eller https-URL.

    Maximal filstorlek: 400 MB för en http- eller https-URL, 100 MB för en data:-URI.

    En GLB-, glTF-, FBX- eller OBJ-fil över 100 MB kan ha högst 10 000 000 ytor. Ytor räknas som trianglar: en fyrkant räknas som 2, och ett nät som ritas flera gånger räknas en gång per kopia. Över 100 MB måste en FBX-fil vara binär FBX 7.1 eller nyare, och en GLB- eller glTF-fil får inte använda Draco-komprimering.

    Meshys nedladdnings-URL:er (assets.meshy.ai/…?Expires=…&Signature=…) är signerade och slutar fungera vid uppgiftens expires_at; att hämta uppgiften igen förnyar dem inte. För en modell genererad med Meshy, skicka istället input_task_id. Det fungerar så länge källuppgiften är kvar (se Asset Retention). För att återanvända en modell efter det, ladda ner den innan expires_at och skicka din egen kopia.

  • Name
    printer_type
    Type
    string
    Description

    Skrivaren du planerar att använda. Den sätter minsta väggtjocklek för väggtjockleks-kontrollen. Standardvärdet är fdm när du skickar en utskriftsstorlek utan den.

    Tillgängliga värden:

    • fdm: filament, 1,0 mm minsta vägg.
    • sla: resin, 0,8 mm minsta vägg.
    • full_color: full färg, 2,0 mm minsta vägg.
  • Name
    intended_print_height_mm
    Type
    number
    Description

    Höjd på utskriften, i millimeter. Intervall: [1, 1000]. Avrundat till närmaste millimeter. Endast GLB-input.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    Längd på utskriftens längsta sida, i millimeter. Intervall: [1, 1000]. Avrundat till närmaste millimeter. Fungerar med alla inputformat.

Returnerar

result-egenskapen i svaret innehåller id för den nyskapade Analysera utskrivbarhet-uppgiften.

Felscenarier

  • Name
    400 - Bad Request
    Description

    Begäran var inte acceptabel. Vanliga orsaker:

    • Saknad parameter: varken input_task_id eller model_url angavs.
    • Ogiltig UUID: input_task_id är inte ett giltigt UUID.
    • Ogiltig modell-URL: model_url är felformaterad, använder ett filschema som inte stöds, eller har en filändelse som inte stöds.
    • Modellfil för stor: model_url-innehållet överskred 400 MB (http- eller https-URL) eller 100 MB (data:-URI).
    • För många ytor: model_url är en GLB-, glTF-, FBX- eller OBJ-fil över 100 MB med fler än 10 000 000 ytor. Minska antalet ytor och skicka sedan filen igen.
    • ASCII-FBX över 100 MB: model_url är en ASCII-FBX över 100 MB. Skicka den som binär FBX eller GLB.
    • Oläsbar modellfil: model_url är över 100 MB och dess header kan inte läsas, till exempel en Draco-komprimerad GLB eller glTF, eller en binär FBX äldre än 7.1.
    • Modellheader för komplex: model_url är över 100 MB och dess header har för många nät, noder eller poster att kontrollera. Minska antalet objekt i filen och skicka den sedan igen.
    • Modellfilen kunde inte laddas ner: model_url returnerade ett fel, oftast för att en signerad Meshy-nedladdnings-URL har gått ut. Att hämta uppgiften igen returnerar samma URL med samma utgångstid, så skicka din egen kopia av filen, eller använd input_task_id medan källuppgiften fortfarande finns kvar.
    • Uppgiften lyckades inte: den refererade uppgiften är fortfarande väntande, pågående, eller misslyckad.
    • Ogiltig utskriftsstorlek: intended_print_height_mm eller intended_print_longest_side_mm ligger utanför [1, 1000], eller båda skickades.
    • Okänd skrivartyp: printer_type är inte fdm, sla, eller full_color.
    • Höjd på en modell som inte är GLB: intended_print_height_mm skickades med en model_url som inte är .glb. Använd intended_print_longest_side_mm istället.
    • Kan inte storlekssätta denna modell efter höjd: vid den begärda höjden (eller standard 150 mm) skulle modellens längsta sida ligga utanför [1, 1000] mm, modellen är platt, eller dess storlek kan inte fastställas. Använd intended_print_longest_side_mm istället. För en .glb model_url och vissa input_task_id-uppgifter upptäcks detta först efter att uppgiften har startat, och uppgiften avslutas då med FAILED istället.
    • STL-storlek oanvändbar: printer_type skickades utan en storlek, och STL-filens egen längsta sida kan inte läsas eller ligger utanför [1, 1000] mm. Skicka intended_print_longest_side_mm.
  • Name
    401 - Unauthorized
    Description

    Autentiseringen misslyckades. Kontrollera din API-nyckel.

  • Name
    404 - Not Found
    Description

    Vanliga orsaker:

    • Uppgiften finns inte, har tagits bort, eller ägs av en annan användare.
    • Uppgiften använder en modell äldre än Meshy 6, eller dess mode producerar inte en 3D-tillgång.
    • Den underliggande modellfilen finns inte längre tillgänglig i lagringen.
  • Name
    429 - Too Many Requests
    Description

    Du har överskridit din kvot för väntande uppgifter eller din hastighetsgräns.

Request

POST
/openapi/v1/print/analyze
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb"
  }'

# Also check wall thickness for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "printer_type": "sla",
    "intended_print_height_mm": 100
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/analyze/:id

Hämta en Analysera utskrivbarhet-uppgift

Denna endpoint hämtar en analysera-utskrivbarhet-uppgift via dess ID.

Parametrar

  • Name
    id
    Type
    path
    Description

    ID:t för den analysera-utskrivbarhet-uppgift som ska hämtas.

Returnerar

Analysera utskrivbarhet-uppgiftsobjektet. Fältet printability är null tills uppgiften når SUCCEEDED. När väggtjocklek har kontrollerats innehåller printability även intended_print och thin_walls.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

Response (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}

DELETE/openapi/v1/print/analyze/:id

Ta bort en Analysera utskrivbarhet-uppgift

Denna endpoint tar permanent bort en analysera-utskrivbarhet-uppgift och dess cachade resultat. Denna åtgärd är oåterkallelig.

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID:t för analysera-utskrivbarhet-uppgiften som ska tas bort.

Uppgiftsstatus

En uppgift som fortfarande är PENDING tas bort och de credits som förbrukades vid skapandet återbetalas.

En uppgift som redan är IN_PROGRESS kan inte tas bort: förfrågan avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift som arbetaren redan har påbörjat är inte återbetalningsbara, så att ta bort den mitt i körningen skulle kosta dig både credits och resultatet. Vänta tills den når SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.

En uppgift i ett slutgiltigt tillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort utan återbetalning.

Returnerar

Returnerar 200 OK vid lyckat resultat, eller 409 Conflict när uppgiften är IN_PROGRESS.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/print/analyze

Lista uppgifter för Analysera utskrivbarhet

Denna endpoint låter dig hämta en lista med uppgifter för Analysera utskrivbarhet.

Parametrar

Valfria attribut

  • Name
    page_num
    Type
    integer
    Description

    Sidnummer för paginering. Börjar på och standardvärdet är 1.

  • Name
    page_size
    Type
    integer
    Description

    Gräns för sidstorlek. Standardvärdet är 10 objekt. Maximalt tillåtet är 100 objekt.

  • Name
    sort_by
    Type
    string
    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.

Returnerar

Returnerar en paginerad lista med objekt för uppgifter för Analysera utskrivbarhet.

Request

GET
/openapi/v1/print/analyze
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-analyze",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "expires_at": 1715725401000,
    "task_error": null,
    "printability": {
      "_version": "v1",
      "status": "warning",
      "issue_count": 1,
      "error_count": 0,
      "warning_count": 1,
      "metrics": {
        "is_watertight": true,
        "volume": 1.316167354292668,
        "non_manifold_edges": 0,
        "degenerate_faces": 43242,
        "holes": 0
      },
      "evaluated_at": 1700000001000
    },
    "consumed_credits": 0
  }
]

GET/openapi/v1/print/analyze/:id/stream

Strömma en Analysera utskrivbarhet-uppgift

Denna endpoint strömmar realtidsuppdateringar för en analysera-utskrivbarhet-uppgift med hjälp av Server-Sent Events (SSE).

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för den analysera-utskrivbarhet-uppgift som ska strömmas.

Returnerar

Returnerar en ström av Analysera utskrivbarhet-uppgiftsobjekt som Server-Sent Events.

Varje frame innehåller hela uppgiftsobjektet för stadiet — samma form som Get-endpointen returnerar — så medan uppgiften är PENDING eller IN_PROGRESS är utdatafälten helt enkelt inte ifyllda ännu (null, [] eller {}) och finished_at är null. printability-blocket skickas först när uppgiften når SUCCEEDED.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
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 PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

Objektet Analyze Printability Task

  • Name
    id
    Type
    string
    Description

    Unik identifierare för uppgiften. Även om vi som implementationsdetalj använder en k-sorterbar UUID för uppgifts-id:n bör du inte göra några antaganden om id:ts format.

  • Name
    type
    Type
    string
    Description

    Typ av analyze-printability-uppgift. Värdet är print-analyze.

  • 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
    preceding_tasks
    Type
    integer
    Description

    Antalet föregående uppgifter.

  • 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. 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 slutfördes, i millisekunder. Om uppgiften ännu inte är slutförd 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 systemet, i millisekunder. 0 om uppgiften ännu inte är slutförd.

  • Name
    task_error
    Type
    object
    Description

    Felinformation om uppgiften har misslyckats. Denna egenskap är null om uppgiften inte har misslyckats. Se Fel för mer information.

    • Name
      message
      Type
      string
      Description

      Felmeddelande som beskriver vad som gick fel.

  • Name
    printability
    Type
    object
    Description

    Resultat av utskrivbarhetsutvärderingen. null tills uppgiften når SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Schemaversion för utskrivbarhetsresultatet. För närvarande v1.

    • Name
      status
      Type
      string
      Description

      Övergripande status. En av:

      • healthy: inga fel och inga varningar.
      • warning: minst en varning, inga fel.
      • error: minst ett fel.
      • unknown: modellen kunde inte analyseras.

      När väggtjockleken kontrollerades är detta den sämsta av kontrollerna ovan och thin_walls.status. Från sämst till bäst: error, warning, unknown, healthy.

    • Name
      issue_count
      Type
      integer
      Description

      Totalt antal problem, lika med error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Antal problem på felnivå. Fel rapporteras när modellen inte är vattentät, har icke-positiv volym, eller har non-manifold-kanter. När väggtjockleken kontrollerades räknas väggar som är för tunna (thin_walls.status är error) som ytterligare ett fel.

    • Name
      warning_count
      Type
      integer
      Description

      Antal problem på varningsnivå. Varningar utlöses när modellen innehåller degenererade ytor eller hål.

    • Name
      metrics
      Type
      object
      Description

      Rådata för geometri som returneras av utvärderaren.

      • Name
        is_watertight
        Type
        boolean
        Description

        true när nätet inte har några gränskanter (dvs. är slutet).

      • Name
        volume
        Type
        number
        Description

        Modellens volym i kubikmeter.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Antal non-manifold-kanter.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Antal degenererade ytor (ytor med nollarea eller ogiltiga ytor).

      • Name
        holes
        Type
        integer
        Description

        Antal hål (gränsslingor) i nätet.

    • Name
      intended_print
      Type
      object
      Description

      Skrivaren och storleken som väggtjockleks-kontrollen använde. Finns endast med när väggtjockleken kontrollerades.

      • Name
        printer_type
        Type
        string
        Description

        fdm, sla, eller full_color.

      • Name
        height_mm
        Type
        number
        Description

        Utskriftshöjden i millimeter, om utskriften dimensionerades utifrån höjd. Annars null.

      • Name
        longest_side_mm
        Type
        number
        Description

        Utskriftens längsta sida i millimeter. När den dimensioneras efter höjd beräknas den utifrån modellens proportioner.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        Den minsta väggtjockleken för printer_type, i millimeter. Väggar som är tunnare än detta rapporteras som för tunna.

      • Name
        dimensions_mm
        Type
        array
        Description

        Utskriftens [bredd, djup, höjd] i millimeter. Höjden kan skilja sig från height_mm med en bråkdel av en millimeter. null för annan indata än GLB, eller om modellens storlek inte kan fastställas.

    • Name
      thin_walls
      Type
      object
      Description

      Resultatet av väggtjockleks-kontrollen. Finns endast med när väggtjockleken kontrollerades.

      • Name
        thin_area_ratio
        Type
        number
        Description

        Andel av ytan, från 0 till 1, som är tunnare än intended_print.wall_thickness_mm. null om modellen inte kunde mätas.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        true om någon del av ytan är för tunn. Skarpa hörn kan ensamt orsaka detta, så använd status för att avgöra om väggarna behöver förtjockas. null om modellen inte kunde mätas.

      • Name
        status
        Type
        string
        Description

        Utslaget för väggtjockleken. En av:

        • healthy: 5 % eller mindre av ytan är för tunn.
        • error: mer än 5 % av ytan är för tunn. För att förtjocka väggarna, skicka denna uppgifts id till Reparera utskrivbarhet som input_task_id (för en .stl, .fbx, eller .gltf model_url, skicka istället filen som model_url).
        • unknown: modellen kunde inte mätas. Om själva väggtjockleks-kontrollen misslyckas avslutas uppgiften med FAILED.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Tidsstämpel för när analysen beräknades, i millisekunder sedan epok.

  • Name
    consumed_credits
    Type
    integer
    Description

    Alltid 0. Denna endpoint är gratis.

The Analyze Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}