poll_rodin_job_status
Monitor the status of Hyper3D Rodin generation tasks in BlenderMCP. Input subscription_key or request_id to check completion, progress, or failure states. Proceed only when the status is finalized.
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 |
|---|---|---|---|
| request_id | No | ||
| subscription_key | No |
Implementation Reference
- src/blender_mcp/server.py:827-869 (handler)The core handler function for the 'poll_rodin_job_status' MCP tool. It is registered via @mcp.tool() decorator and includes telemetry. The function polls the job status by forwarding the request to a Blender connection using either subscription_key or request_id.@telemetry_tool("poll_rodin_job_status") @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:827-828 (registration)The @mcp.tool() decorator registers this function as an MCP tool named 'poll_rodin_job_status'.@telemetry_tool("poll_rodin_job_status") @mcp.tool()
- src/blender_mcp/server.py:829-853 (schema)The function signature and docstring define the input schema (subscription_key or request_id) and expected outputs for the 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). """