Skip to main content
Glama

Submit Speech Task

submit_speech_task
Destructive

Generates Fotor speech or a scripted podcast with built-in voices. Returns an MP3 when completed. Credits depend on the finished duration. May consume existing Fotor credits. Waits for the upstream response and returns the task ID with the completed result when available. If the task is still processing, use get_task to check its status once. This tool does not poll for completion. Repeating the request may create another task and consume additional credits. Do not automatically retry when the submission outcome is uncertain. This tool does not purchase credits or initiate a checkout flow.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "mode": "<mode>"
    },
    "name": "submit_speech_task"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeYestts: one text and voice; podcast: a sequence of spoken turns. Supply only fields for the chosen mode.
voiceNoBuilt-in voice; required for tts only.
contentNoText to speak; required for tts only.
conversationsNoOrdered dialogue turns; required for podcast only. Each turn selects its own voice.

Output Schema

NameRequiredDescriptionDefault
errorNoStable failure code; null when no failure is reported.
statusYesObserved task state. processing does not distinguish queued or running; unknown is an unrecognized upstream state.
task_idYesFotor task ID for get_task.
model_idYesModel ID used for this task.
task_typeYesAudio operation performed.
media_typeNoGenerated media category.audio
result_urlNoCompleted output URL; availability is not guaranteed permanently. Audio output may be MP3 or ZIP.
is_terminalYesWhether the task has completed, failed, timed out or been cancelled.
result_formatNoCompleted file format: mp3 audio or zip archive; null until completed.
failure_reasonNoSafe failure summary; may be generic rather than the upstream root cause.
credits_incrementNoReported task credit cost; not an additional charge on each query. Null if unavailable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare destructive/non-idempotent/closed-world; the description goes further by disclosing cost semantics (credits depend on finished duration, may consume existing credits), non-idempotent duplication risk, the wait-for-upstream behavior, and the absence of a checkout/credit-purchase flow. These are exactly the side effects an agent needs before committing a paid, non-idempotent call.

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?

Purpose is front-loaded in the first two sentences, followed by cost, then concurrency/retry rules in priority order. Slightly redundant phrasing ('Credits depend on the finished duration. May consume existing Fotor credits.') costs it a point but nothing is buried.

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?

Output schema covers the return shape and annotations cover the safety profile, yet the description still fills the gaps that matter for a paid, non-idempotent generation call: cost basis, waiting behavior, polling handoff, and retry hazard. Nothing an agent needs before invoking 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?

Schema coverage is 100%, so mode/voice/content/conversations and their mode-conditional requirements are already documented in the schema, making 3 the baseline. The description reinforces 'built-in voices' and the two output modes but adds no syntax, limits (500/400 char caps, 10 turns) or default behavior beyond the schema.

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?

States a specific verb and resource: generates Fotor speech (TTS) or a scripted podcast with built-in voices, returning an MP3. It distinguishes itself from the status-checking path by naming get_task, so an agent knows this is the submission step rather than the polling step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: if the task is still processing, use get_task once; this tool does not poll. It also states the when-not: do not automatically retry when the submission outcome is uncertain, and that repeating may create another task and consume credits.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources