Skip to main content
Glama
hermoso-ai

Hermoso

Official

Get render job

get_job
Read-only

Check a render job's status by ID to get progress and, when complete, the served media URL. Keep polling until it returns done or error; a not_found status means the job does not exist and polling should stop.

Instructions

Poll a render job by id. Returns status (queued|running|done|error), progress, and on done the served media URL. Renders take 1–3 minutes: keep calling this until done/error without asking the user — several calls is normal, not a stall. An id that does not exist on this account answers status "not_found" — that is FINAL: stop polling it, and do not re-fire the render (that double-charges).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesthe job id, e.g. job_xxx

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.161
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "error": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "the failure message when status is error"
      -    },
      -    "id": {
      -      "description": "the job id",
      -      "type": "string"
      -    },
      -    "progress": {
      -      "description": "0–1 progress when reported",
      -      "type": "number"
      -    },
      -    "result": {
      -      "description": "the raw job result payload"
      -    },
      -    "status": {
      -      "description": "queued | running | done | error",
      -      "type": "string"
      -    },
      -    "type": {
      -      "description": "the job type (video / stitch / avatar / …)",
      -      "type": "string"
      -    },
      -    "url": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "the served media URL once done"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Addedv0.1.15
  3. Removedv0.1.0
  4. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint and destructiveHint annotations, the description discloses important non-obvious behaviors: renders can take 1–3 minutes, repeated calls are normal, not_found is a final terminal state, and re-firing the render double-charges. This is exactly the kind of behavioral context an agent needs to avoid costly mistakes.

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?

Three dense sentences, each earning its place. The description front-loads the core purpose and return values, then provides crucial polling and terminal-state guidance without any filler or repetition.

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?

For a single-parameter read-only polling tool with no output schema, the description fully covers what the agent needs: return values, expected duration, polling behavior, terminal states, and the consequence of re-firing. Nothing essential 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?

The input schema already fully documents the sole required parameter 'id' with an example format. The description adds no additional parameter-specific semantics beyond restating 'by id,' so the baseline score of 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?

The description states a specific verb and resource: 'Poll a render job by id.' It clearly defines the tool's output (status, progress, media URL) and, by focusing on polling a single job by id, distinguishes itself from the sibling list_jobs that lists jobs generally.

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?

The description gives explicit operational guidance: keep polling every 1–3 minutes until done/error without asking the user, and treat not_found as final. It does not explicitly name alternatives or state when not to use this tool, but the polling context is clear and actionable.

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

Deploy Server

Other Tools