Skip to main content
Glama

Postemi: Social Media Scheduler

fotoai_generate

Idempotent

Generate an image or a video with FotoAI (fotoai.hu), paid with the user's OWN FotoAI credits. Call fotoai_quote first, tell the user the price, and pass its quote_id here only after the user agrees.

Returns the generation id. The finished outputs are saved into this Postemi workspace's media library automatically. With wait_seconds (up to 50) the call waits for a short image and returns media paths directly; otherwise call fotoai_get_generation with the id until status is completed. Attach each media PATH to create_post.

Pass an idempotencyKey (a UUID you invent per generation). If a call times out, repeat it with the SAME key: you get the same generation back and nothing is charged twice.

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": {
      "model": "<model>",
      "prompt": "<prompt>",
      "quote_id": "<quote_id>"
    },
    "name": "fotoai_generate"
  }
}

Input Schema

NameRequiredDescriptionDefault
modelYesA model id from fotoai_list_models.
aspectNoAspect ratio, the same value you quoted with.
paramsNoOther model parameters, the same as in the quote.
promptYesWhat to generate, in any language.
durationNoVideo length in seconds, the same value you quoted with.
quote_idYesThe quote_id from fotoai_quote, after the user agreed to the price.
wait_secondsNoWait this long for the result (0 to 50). Default 0.
idempotencyKeyNoA UUID per generation; repeat it on a retry.

Output Schema

NameRequiredDescriptionDefault
errorNo
outputNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: generation uses the user's own FotoAI credits, requires price agreement before charging, saves outputs automatically to the workspace media library, supports short waits, and explains idempotent retry semantics with idempotencyKey.

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?

The description is front-loaded with the core workflow, then covers return handling and retry behavior. Every sentence serves a purpose in a complex paid-generation workflow, with no observable filler.

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?

Given 8 parameters, nested params, an output schema, and open-world paid generation, the description covers all critical agent-facing behavior: pricing consent, quote usage, waiting/polling, media path handling, and idempotent retries.

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

Parameters5/5

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

Schema coverage is 100%, so the schema already documents the parameters well. The description further clarifies the workflow meaning of quote_id, the retry semantics of idempotencyKey, and the polling behavior around wait_seconds, adding value beyond the structured parameter descriptions.

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: generate an image or video with FotoAI. It clearly distinguishes this tool from fotoai_quote, fotoai_get_generation, and fotoai_list_models by focusing on the actual paid generation 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?

It explicitly instructs the agent to call fotoai_quote first, tell the user the price, and pass quote_id only after user agreement. It also provides alternatives for waiting versus polling via fotoai_get_generation, and directs the agent to attach resulting media paths to create_post.

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.