Skip to main content
Glama

convert_format

Convert a 3D model to GLTF, FBX, OBJ, STL, USDZ, or 3MF by specifying the original task ID and output format.

Instructions

Convert a generated 3D model to a different file format (GLTF, FBX, OBJ, STL, USDZ, 3MF). This is an async operation — use task_status to poll progress, then download_model to retrieve the converted file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bakeNoBake material textures during conversion
quadNoConvert to quad mesh output when supported
formatYesDesired output format: GLTF, FBX, OBJ, STL, USDZ, or 3MF
packUVNoPack UVs during conversion
faceLimitNoTarget face count for converted output
fbxPresetNoFBX preset when exporting FBX, such as unity or unreal
partNamesNoSpecific segmented part names to export
scaleFactorNoScale multiplier for converted output
textureSizeNoTarget texture size for converted output
textureFormatNoTexture image format, such as png, jpg, or webp
originalTaskIdYesTask ID of the model to convert
exportOrientationNoTarget export orientation: +x, -x, +y, or -y. x_up and y_up are accepted as aliases
exportVertexColorsNoExport vertex colors when supported
pivotToCenterBottomNoMove pivot to the model center-bottom

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
taskIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.3.0
    • addedInput schema / properties / bake
      Added value: +{
      +  "description": "Bake material textures during conversion",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • addedInput schema / properties / exportOrientation
      Added value: +{
      +  "description": "Target export orientation: +x, -x, +y, or -y. x_up and y_up are accepted as aliases",
      +  "type": "string"
      +}
    • addedInput schema / properties / exportVertexColors
      Added value: +{
      +  "description": "Export vertex colors when supported",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • addedInput schema / properties / faceLimit
      Added value: +{
      +  "description": "Target face count for converted output",
      +  "type": "integer"
      +}
    • addedInput schema / properties / fbxPreset
      Added value: +{
      +  "description": "FBX preset when exporting FBX, such as unity or unreal",
      +  "type": "string"
      +}
    • addedInput schema / properties / packUV
      Added value: +{
      +  "description": "Pack UVs during conversion",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • addedInput schema / properties / partNames
      Added value: +{
      +  "description": "Specific segmented part names to export",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "null",
      +    "array"
      +  ]
      +}
    • addedInput schema / properties / pivotToCenterBottom
      Added value: +{
      +  "description": "Move pivot to the model center-bottom",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • addedInput schema / properties / quad
      Added value: +{
      +  "description": "Convert to quad mesh output when supported",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • addedInput schema / properties / scaleFactor
      Added value: +{
      +  "description": "Scale multiplier for converted output",
      +  "type": "number"
      +}
    • addedInput schema / properties / textureFormat
      Added value: +{
      +  "description": "Texture image format, such as png, jpg, or webp",
      +  "type": "string"
      +}
    • addedInput schema / properties / textureSize
      Added value: +{
      +  "description": "Target texture size for converted output",
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals that the operation is async and guides the user to use task_status and download_model. However, it does not disclose other behavioral traits such as whether the operation is destructive (e.g., whether the original model is modified), rate limits, or authentication requirements. Given that annotations are missing, the description carries the full burden but falls short of complete transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that include the main purpose, supported formats, and async workflow. Every sentence adds value with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, async behavior) and the existence of an output schema, the description provides sufficient context for the high-level flow (convert, poll, download). It could be slightly more explicit about the return value type (task ID), but overall it is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, meaning all 14 parameters are already documented in the input schema. The description adds no extra meaning beyond the schema, so it meets the baseline expectation but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb (convert) and resource (3D model), lists the supported output formats, and distinguishes from sibling tools like image_to_3d or import_model by focusing on format conversion. It is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (after having a generated 3D model) and explains the async workflow with steps for polling and downloading. However, it does not explicitly state when not to use it or compare with alternatives like text_to_3d, which is a minor omission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.