Skip to main content
Glama

Wait briefly for a SpicyAPI task

spicyapi_task_wait
Read-onlyIdempotent

Wait for a media generation task for up to 300 seconds, polling until output is ready, then read asset URLs directly without a download-ticket call.

Instructions

Wait for a task for up to 300 seconds and read ready output.assets[].url directly without a download-ticket call. By default, polling backs off from about 2 to at most 10 seconds; an explicit intervalSeconds stays fixed. Prefer signed webhooks for production; a complete verified v2 callback needs no extra task_get. A local wait timeout does not cancel the task. Some models answer in words instead of a file: speech-to-text and other text results arrive in output.text with no assets, and a transcription may add output.transcript with word timings and the detected language. Layer decomposition returns one image asset per layer; stack them by ascending output.assets[].layer.zIndex.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskIdYes
timeoutSecondsNo
intervalSecondsNoFixed polling interval in seconds. Omit to use adaptive SDK backoff from about 2 to at most 10 seconds.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond them: adaptive backoff 'from about 2 to at most 10 seconds,' that an explicit intervalSeconds 'stays fixed,' and crucially that 'a local wait timeout does not cancel the task.' That last point is exactly the kind of side-effect disclosure an agent needs and is not inferable from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action is front-loaded and each sentence carries distinct payload (backoff, webhooks, timeout semantics, text/transcript output, layer stacking). It is a dense single paragraph with no wasted sentences, though the layer-decomposition detail makes it slightly packed for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still usefully explains output shapes (assets[].url, output.text, output.transcript, per-layer assets). Safety is covered by annotations. It does not address failure/error states or what a task that never completes returns, leaving a minor gap for a long-running polling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only intervalSeconds is documented), so the description must compensate. It does: 'up to 300 seconds' maps to the timeoutSeconds maximum and the backoff-vs-fixed-interval sentence adds meaning beyond the schema's terse intervalSeconds note. taskId is self-evident, so the coverage gap is largely filled.

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+resource+scope: 'Wait for a task for up to 300 seconds and read ready output.assets[].url directly.' It also implicitly differentiates from the one-shot sibling by naming the polling behavior and noting that a verified webhook 'needs no extra task_get,' so an agent can tell this apart from spicyapi_task_get.

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?

It gives real routing context: 'Prefer signed webhooks for production' steers the agent away from polling when a callback exists, and the task_get remark clarifies the polling path. It stops short of an explicit 'use this when you must block vs. use task_get for a single status check' statement, so it is clear but not fully explicit about the sibling alternative.

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