get_task
Get the current status and output URLs for one of the authenticated user's tasks (video, image, music, or audio). Generation consumes credits when created.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Get the current status and output URLs for one of the authenticated user's tasks (video, image, music, or audio). Generation consumes credits when created.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does well: it discloses the result contents (status plus output URLs), the allowed task types, and the association with the authenticated user. It adds a meaningful side note that credit consumption happens at creation, clarifying that this read operation is not the charged step. It does not fully elaborate the state/error vocabulary, but for a GET-by-id tool the essential behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lean sentences. The first front-loads the verb, resource, scope, and output, the second adds the cost-relevant behavior — both high-value for an agent. No wasted words or redundant restating of the input schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, the description is nearly self-sufficient. It tells the agent what it gets back (status and URLs) and which tasks it applies to. The gaps are minor: it does not describe the possible task statuses or failure modes for an invalid ID, but these are typically observable in the actual response and are not critical to invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has to carry the parameter meaning, and it does. The parameter is task_id: the description says 'one of the authenticated user's tasks', which is precisely what the ID refers to, including permission semantics. Since there is only one parameter and it is clearly implied, ambiguity is low; a slightly more direct reference to 'by its task_id' would have made it a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('task'), enumerates the task types (video, image, music, audio), and scopes it to the authenticated user's tasks. This fully distinguishes the tool from sibling generation tools like generate_image or generate_video, since it retrieves rather than creates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's role clear: poll or retrieve the current status and output URLs for tasks the user already started. The note that generation consumes credits at creation implicitly tells the agent that this retrieval tool is not the one that spends credits, which is useful routing context. It stops short of an explicit when-to-use vs. alternatives statement, but for a retrieval counterpart to generation siblings, that is largely self-evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool targets a distinct resource/action: generate_* tools are separated by media type, list_*/get_* tools cleanly separate overview from detail retrieval, and get_task vs wait_for_task are clearly one-shot status vs polling behavior. There is no real overlap or ambiguity among the 14 tools.
The tools follow a consistent verb_noun snake_case convention: generate_*, list_*, get_*, and wait_for_*. The generate_* group cleanly maps to each output modality, and the get/list distinction is applied predictably.
14 tools is well-scoped for a multimodal generation server. Each tool earns its place: generation for each media type, model listing/detail, voice enumeration, credit lookup, and task status handling. There is no obvious bloat or redundancy.
The surface covers the core workflow well: discover models/voices, create generations, retrieve outputs, and monitor credits. The main gap is the absence of an explicit task cancellation tool, but the persisted task statuses and wait_for_task workflow make this a minor gap rather than a blocking one.