Skip to main content
Glama

texture_model

Destructive

Generates new textures for a 3D mesh from text, image, or four-view prompts, creates a Tripo task, returns a task ID, then use wait_for_task to retrieve results.

Instructions

Generate new textures for a mesh from a text, image, or four-view prompt. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pbrNoGenerate PBR materials (default true)
bakeNoBake textures (default true)
inputYesThe mesh: task ID, local path, URL or file token (GLB, GLTF, FBX, OBJ, STL)
modelNoTexturing model: v3.0-20250812 (default), v3.5-20260815 (newest; fast quality and delight), v2.5-20250123
delightNoRemove baked-in lighting (default true; v3.5 only)
compressNoCompress the output geometry
part_namesNoOnly texture these parts
texture_seedNoSeed for texture generation
texture_promptNoWhat the textures should look like
texture_qualityNofast (v3.5 only) and standard cost 10 credits, detailed 20, extreme (8K) 30
texture_alignmentNoAlign to the reference image or to the geometry

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNo
task_idYes
producesYes
warningsNo
operationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed29 schema fields changedv0.4.0
    • changedInput schema / properties / bake / description
      Previous value: -"Bake generated textures"New value: +"Bake textures (default true)"
    • changedInput schema / properties / compress / description
      Previous value: -"Compress model geometry"New value: +"Compress the output geometry"
    • addedInput schema / properties / compress / enum
      Added value: +[
      +  "geometry"
      +]
    • changedInput schema / properties / compress / type
      Previous value: -[
      -  "null",
      -  "boolean"
      -]New value: +"string"
    • addedInput schema / properties / delight
      Added value: +{
      +  "description": "Remove baked-in lighting (default true; v3.5 only)",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • removedInput schema / properties / imagePrompt
      Removed value: -{
      -  "description": "Image prompt URL or file token for texture generation",
      -  "type": "string"
      -}
    • changedInput schema / properties / input / description
      Previous value: -"Task ID, model URL, or file token to texture"New value: +"The mesh: task ID, local path, URL or file token (GLB, GLTF, FBX, OBJ, STL)"
    • changedInput schema / properties / model / description
      Previous value: -"Optional texture model version"New value: +"Texturing model: v3.0-20250812 (default), v3.5-20260815 (newest; fast quality and delight), v2.5-20250123"
    • removedInput schema / properties / partNames
      Removed value: -{
      -  "description": "Specific segmented part names to texture",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": [
      -    "null",
      -    "array"
      -  ]
      -}
    • addedInput schema / properties / part_names
      Added value: +{
      +  "description": "Only texture these parts",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "null",
      +    "array"
      +  ]
      +}
    • changedInput schema / properties / pbr / description
      Previous value: -"Enable PBR materials"New value: +"Generate PBR materials (default true)"
    • removedInput schema / properties / styleImage
      Removed value: -{
      -  "description": "Style image URL or file token for texture generation",
      -  "type": "string"
      -}
    • removedInput schema / properties / textPrompt
      Removed value: -{
      -  "description": "Text prompt for texture generation",
      -  "type": "string"
      -}
    • removedInput schema / properties / texture
      Removed value: -{
      -  "description": "Enable texture generation",
      -  "type": [
      -    "null",
      -    "boolean"
      -  ]
      -}
    • removedInput schema / properties / textureAlignment
      Removed value: -{
      -  "description": "Texture alignment priority: original_image or geometry",
      -  "type": "string"
      -}
    • removedInput schema / properties / textureQuality
      Removed value: -{
      -  "description": "Texture quality: standard, detailed, or extreme",
      -  "type": "string"
      -}
    • removedInput schema / properties / textureSeed
      Removed value: -{
      -  "description": "Optional seed for texture generation",
      -  "type": [
      -    "null",
      -    "integer"
      -  ]
      -}
    • addedInput schema / properties / texture_alignment
      Added value: +{
      +  "description": "Align to the reference image or to the geometry",
      +  "enum": [
      +    "original_image",
      +    "geometry"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / texture_prompt
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "What the textures should look like",
      +  "properties": {
      +    "image": {
      +      "description": "One reference image",
      +      "type": "string"
      +    },
      +    "images": {
      +      "description": "Four reference views in front, left, back, right order",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": [
      +        "null",
      +        "array"
      +      ]
      +    },
      +    "style_image": {
      +      "description": "Style reference, used together with text",
      +      "type": "string"
      +    },
      +    "text": {
      +      "description": "Describe the materials and colors",
      +      "type": "string"
      +    }
      +  },
      +  "type": [
      +    "null",
      +    "object"
      +  ]
      +}
    • addedInput schema / properties / texture_quality
      Added value: +{
      +  "description": "fast (v3.5 only) and standard cost 10 credits, detailed 20, extreme (8K) 30",
      +  "enum": [
      +    "fast",
      +    "standard",
      +    "detailed",
      +    "extreme"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / texture_seed
      Added value: +{
      +  "description": "Seed for texture generation",
      +  "type": [
      +    "null",
      +    "integer"
      +  ]
      +}
    • addedOutput schema / properties / model
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / operation
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / produces
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / taskId
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / task_id
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "null",
      +    "array"
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "taskId",
      -  "status"
      -]New value: +[
      +  "task_id",
      +  "operation",
      +  "produces"
      +]
  2. Addedv0.3.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotence. The description adds genuinely new behavior: asynchronous task creation, immediate task_id return, and credit consumption. It does not explain what is destroyed (e.g., existing mesh textures being replaced), which is the one gap given destructiveHint=true.

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?

Two sentences, no filler, and the credit/task_id consequence is front-loaded right after the purpose. Every clause earns its place by telling the agent what the call actually does downstream.

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

Completeness5/5

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

With an output schema present there is no need to describe return values, and the description still supplies the one thing the schema cannot: the async handoff to wait_for_task and the credit cost. Safety is covered by annotations and parameters by the schema, so nothing needed to call this correctly is missing.

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 description coverage is 100% and every parameter including the nested texture_prompt carries a description, so the schema does the heavy lifting. The description only implies the prompt modalities; it adds no format, syntax, or default detail beyond the schema. Baseline 3 applies.

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?

Specific verb+resource ('Generate new textures for a mesh') with the accepted prompt modalities enumerated (text, image, four-view). An agent can tell this apart from sibling model-generation tools like text_to_model, multiview_to_model, and smart_uv without opening any schema.

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?

Explicitly states the async workflow: it creates a task and returns task_id immediately, then the agent must call wait_for_task. It also flags that credits are spent. Missing any when-not-to-use guidance or alternative texturing paths, but the operating context is unambiguous.

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