poll_rodin_job_status
Check completion status of Hyper3D Rodin model generation tasks, returning final status when processing is complete or 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 |
|---|---|---|---|
| request_id | No | ||
| subscription_key | No |
Implementation Reference
- src/blender_mcp/server.py:619-661 (handler)The handler function for the 'poll_rodin_job_status' MCP tool. It is decorated with @mcp.tool() for registration and implements the logic by forwarding the request to the Blender addon via send_command.@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:625-644 (schema)The docstring provides the input schema (subscription_key or request_id depending on mode) and output description for the tool.""" 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). """
- src/blender_mcp/server.py:725-745 (helper)Instruction in the asset_creation_strategy prompt on how to use the poll_rodin_job_status tool.2. Poll the status - Use poll_rodin_job_status() to check if the generation task has completed or failed 3. Import the asset - Use import_generated_asset() to import the generated GLB model the asset 4. After importing the asset, ALWAYS check the world_bounding_box of the imported mesh, and adjust the mesh's location and size Adjust the imported mesh's location, scale, rotation, so that the mesh is on the right spot. You can reuse assets previous generated by running python code to duplicate the object, without creating another generation task. 3. Always check the world_bounding_box for each item so that: - Ensure that all objects that should not be clipping are not clipping. - Items have right spatial relationship. Only fall back to scripting when: - PolyHaven and Hyper3D are disabled - A simple primitive is explicitly requested - No suitable PolyHaven asset exists - Hyper3D Rodin failed to generate the desired asset - The task specifically requires a basic material/color """