Skip to main content
Glama

get_task_status

Check the status of a 3D model generation task using the task ID from create_3d_model_from_text. Monitor progress, confirm completion, or identify failures with repeated queries.

Instructions

Get the status of a 3D model generation task. IMPORTANT: This tool checks the status of a task started by create_3d_model_from_text. You may need to call this tool MULTIPLE TIMES until the task completes. Typical workflow: 1. Call this tool with the task_id from create_3d_model_from_text 2. Check the status in the response: - If status is SUCCESS, the task is complete and you can use the pbr_model_url - If status is FAILED, CANCELLED, BANNED, or EXPIRED, the task failed - If status is anything else, the task is still in progress 3. If the task is still in progress, wait a moment and call this tool again Args: task_id: The ID of the task to check (obtained from create_3d_model_from_text). Returns: A dictionary containing the task status and other information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYes

Implementation Reference

  • The primary handler implementation for the 'get_task_status' tool. It uses the TripoClient to fetch and return the current status of a specified task, including progress, output URLs if successful, and instructions for next steps.
    @mcp.tool() async def get_task_status(task_id: str) -> Dict[str, Any]: """ Get the status of a 3D model generation task. IMPORTANT: This tool checks the status of a task started by create_3d_model_from_text. You may need to call this tool MULTIPLE TIMES until the task completes. Typical workflow: 1. Call this tool with the task_id from create_3d_model_from_text 2. Check the status in the response: - If status is SUCCESS, the task is complete and you can use the pbr_model_url - If status is FAILED, CANCELLED, BANNED, or EXPIRED, the task failed - If status is anything else, the task is still in progress 3. If the task is still in progress, wait a moment and call this tool again Args: task_id: The ID of the task to check (obtained from create_3d_model_from_text). Returns: A dictionary containing the task status and other information. """ # Get the API key from environment variable # api_key = os.environ.get("TRIPO_API_KEY") get_blender_connection() api_key = _tripo_apikey if not api_key: raise ValueError( "It may take some more time to correctly re-enter the tripo function. You can first check the scene and then try the tripo function again later" ) # Create the Tripo client async with TripoClient(api_key=api_key) as client: # Get task status task = await client.get_task(task_id) # Ensure task is not None if task is None: raise ValueError( f"Failed to retrieve task information for task ID: {task_id}" ) # Create result dictionary result = { "task_id": task_id, "status": str(task.status), "progress": task.progress, } # Add output fields if task is successful and output is available if task.status == TaskStatus.SUCCESS and task.output: result.update( { "base_model_url": task.output.base_model, "model_url": task.output.model, "pbr_model_url": task.output.pbr_model, "rendered_image_url": task.output.rendered_image, "message": "Task completed successfully! You can now use the pbr_model_url.", "next_step": "Use the pbr_model_url to access the 3D model, download it through import_tripo_glb_model tool", } ) if not task.output.pbr_model: result["warning"] = ( "Model generated but PBR model URL is not available." ) elif task.status == TaskStatus.SUCCESS: result["message"] = ( "Task completed successfully but no output data is available." ) result["next_step"] = ( "Try creating a new model with a different description." ) elif task.status in ( TaskStatus.FAILED, TaskStatus.CANCELLED, TaskStatus.BANNED, TaskStatus.EXPIRED, ): result["message"] = f"Task failed with status: {task.status}" result["next_step"] = ( "Try creating a new model with a different description." ) else: result["message"] = ( f"Task is still in progress. Current status: {task.status}, Progress: {task.progress}%" ) result["next_step"] = ( "IMPORTANT: You must call get_task_status again with this task_id to continue checking progress." ) result["wait_message"] = ( "3D model generation typically takes 3-5 minutes. Please be patient and keep checking." ) return result

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VAST-AI-Research/tripo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server