poll_rodin_job_status
Monitor Hyper3D Rodin generation task completion by checking status updates. Determine when 3D models are ready for use in Blender or if generation has failed.
Instructions
Check if the Hyper3D Rodin generation task is completed.
For Hyper3D Rodin mode MAIN_SITE: Parameters: - subscription_key: The subscription_key given in the generate model step.
Returns a list of status. The task is done if all status are "Done".
If "Failed" showed up, the generating process failed.
This is a polling API, so only proceed if the status are finally determined ("Done" or "Canceled").
For Hyper3D Rodin mode FAL_AI: Parameters: - request_id: The request_id given in the generate model step.
Returns the generation task status. The task is done if status is "COMPLETED".
The task is in progress if status is "IN_PROGRESS".
If status other than "COMPLETED", "IN_PROGRESS", "IN_QUEUE" showed up, the generating process might be failed.
This is a polling API, so only proceed if the status are finally determined ("COMPLETED" or some failed state).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_key | No | ||
| request_id | No |
Implementation Reference
- src/blender_mcp/server.py:803-845 (handler)The handler function for the 'poll_rodin_job_status' MCP tool. It is decorated with @mcp.tool(), registering it with the FastMCP server. The function connects to Blender via a persistent socket connection, constructs parameters based on either subscription_key or request_id, sends a 'poll_rodin_job_status' command to the Blender addon, and returns the result or an error message.@mcp.tool() def poll_rodin_job_status( ctx: Context, subscription_key: str=None, request_id: str=None, ): """ Check if the Hyper3D Rodin generation task is completed. For Hyper3D Rodin mode MAIN_SITE: Parameters: - subscription_key: The subscription_key given in the generate model step. Returns a list of status. The task is done if all status are "Done". If "Failed" showed up, the generating process failed. This is a polling API, so only proceed if the status are finally determined ("Done" or "Canceled"). For Hyper3D Rodin mode FAL_AI: Parameters: - request_id: The request_id given in the generate model step. Returns the generation task status. The task is done if status is "COMPLETED". The task is in progress if status is "IN_PROGRESS". If status other than "COMPLETED", "IN_PROGRESS", "IN_QUEUE" showed up, the generating process might be failed. This is a polling API, so only proceed if the status are finally determined ("COMPLETED" or some failed state). """ try: blender = get_blender_connection() kwargs = {} if subscription_key: kwargs = { "subscription_key": subscription_key, } elif request_id: kwargs = { "request_id": request_id, } result = blender.send_command("poll_rodin_job_status", kwargs) return result except Exception as e: logger.error(f"Error generating Hyper3D task: {str(e)}") return f"Error generating Hyper3D task: {str(e)}"
- src/blender_mcp/server.py:803-803 (registration)The @mcp.tool() decorator registers the poll_rodin_job_status function as an MCP tool with the FastMCP server.@mcp.tool()
- src/blender_mcp/server.py:804-808 (schema)Function signature defines the input schema: optional subscription_key (str) for MAIN_SITE mode or request_id (str) for FAL_AI mode. The docstring provides detailed parameter descriptions and expected outputs.def poll_rodin_job_status( ctx: Context, subscription_key: str=None, request_id: str=None, ):