Skip to main content
Glama

Get a TikTok transcript

tiktok_get_transcript
Read-onlyIdempotent

What is said out loud in one TikTok video, as text.

Use when: reading a video without watching it, pulling the claims or the hook out of an ad or a review. Not for: the video's numbers, use tiktok_get_video. The written caption, which tiktok_get_video already returns as text. Returns: Record. platform, url, language, text (the full transcript, uncut). NoData when the video carries no speech the platform kept. Cost: 1 credit, or 11 with ai_fallback. Cached 30 days. Example: {"url": "https://www.tiktok.com/@gymshark/video/7517114944362499342"}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL of a TikTok video.
dry_runNoReturn only meta with the estimate. Costs nothing.
languageNoLanguage code of the transcript to prefer, when the platform has several.
ai_fallbackNoTranscribe the audio when TikTok holds no transcript. Adds 10 credits and covers videos up to 2 minutes.
max_creditsNoRefuse with BudgetExceeded if the estimate is higher.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
metaYes
textNonull when the post carries no speech to transcribe.
errorNo
hintsYes
languageNo
platformNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / max_credits / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / provider
      Removed value: -{
      -  "description": "Provider id. Defaults to the server default for the tool.",
      -  "type": "string"
      -}
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / properties / error / additionalProperties
      Added value: +{}
    • removedOutput schema / properties / error / oneOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "BudgetExceeded",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "max_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "max_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "billing_url": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "InsufficientCredits",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "upgrade_url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "NoData",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidTarget",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "target": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "target",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidProvider",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "valid_providers": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "valid_providers",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ProviderUnavailable",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ConcurrencyLimit",
      -        "type": "string"
      -      },
      -      "limit": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "limit",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cap": {
      -        "type": "number"
      -      },
      -      "error": {
      -        "const": "SpendCapReached",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "period": {
      -        "enum": [
      -          "day",
      -          "month"
      -        ],
      -        "type": "string"
      -      },
      -      "resets_at": {
      -        "type": "string"
      -      },
      -      "spent": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "period",
      -      "cap",
      -      "spent",
      -      "est_credits",
      -      "resets_at",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskFailed",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskPending",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "poll_after_s": {
      -        "type": "number"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "poll_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connect_url": {
      -        "type": "string"
      -      },
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "NotConnected",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "connect_url",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "EngineMisconfigured",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "message"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / properties / error / properties
      Added value: +{
      +  "error": {
      +    "enum": [
      +      "BudgetExceeded",
      +      "InsufficientCredits",
      +      "NoData",
      +      "InvalidTarget",
      +      "InvalidProvider",
      +      "ProviderUnavailable",
      +      "ConcurrencyLimit",
      +      "SpendCapReached",
      +      "TaskFailed",
      +      "TaskPending",
      +      "NotConnected",
      +      "EngineMisconfigured"
      +    ],
      +    "type": "string"
      +  },
      +  "message": {
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / error / required
      Added value: +[
      +  "error",
      +  "message"
      +]
    • addedOutput schema / properties / error / type
      Added value: +"object"
    • removedOutput schema / properties / errors
      Removed value: -{
      -  "description": "Per-input failures of a batch call.",
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "BudgetExceeded",
      -                "type": "string"
      -              },
      -              "est_credits": {
      -                "type": "number"
      -              },
      -              "max_credits": {
      -                "type": "number"
      -              },
      -              "message": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "est_credits",
      -              "max_credits",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "billing_url": {
      -                "type": "string"
      -              },
      -              "error": {
      -                "const": "InsufficientCredits",
      -                "type": "string"
      -              },
      -              "est_credits": {
      -                "type": "number"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "upgrade_url": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "est_credits",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "NoData",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "InvalidTarget",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "target": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "target",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "InvalidProvider",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "provider": {
      -                "type": "string"
      -              },
      -              "valid_providers": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "provider",
      -              "valid_providers",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "ProviderUnavailable",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "provider": {
      -                "type": "string"
      -              },
      -              "retry_after_s": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "provider",
      -              "retry_after_s",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "ConcurrencyLimit",
      -                "type": "string"
      -              },
      -              "limit": {
      -                "type": "number"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "retry_after_s": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "limit",
      -              "retry_after_s",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "cap": {
      -                "type": "number"
      -              },
      -              "error": {
      -                "const": "SpendCapReached",
      -                "type": "string"
      -              },
      -              "est_credits": {
      -                "type": "number"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "period": {
      -                "enum": [
      -                  "day",
      -                  "month"
      -                ],
      -                "type": "string"
      -              },
      -              "resets_at": {
      -                "type": "string"
      -              },
      -              "spent": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "period",
      -              "cap",
      -              "spent",
      -              "est_credits",
      -              "resets_at",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "TaskFailed",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "task_id": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "task_id",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "error": {
      -                "const": "TaskPending",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              },
      -              "poll_after_s": {
      -                "type": "number"
      -              },
      -              "task_id": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "task_id",
      -              "poll_after_s",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "connect_url": {
      -                "type": "string"
      -              },
      -              "engine": {
      -                "type": "string"
      -              },
      -              "error": {
      -                "const": "NotConnected",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "engine",
      -              "connect_url",
      -              "message"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "engine": {
      -                "type": "string"
      -              },
      -              "error": {
      -                "const": "EngineMisconfigured",
      -                "type": "string"
      -              },
      -              "message": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "error",
      -              "engine",
      -              "message"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "input": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "input",
      -      "error"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • changedOutput schema / properties / meta / properties / rows_available / anyOf
      Previous value: -[
      -  {
      -    "maximum": 9007199254740991,
      -    "minimum": -9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / meta / properties / rows_returned / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / meta / properties / rows_returned / minimum
      Removed value: --9007199254740991
  2. Changed3 schema fields changed
    • addedOutput schema / properties / meta / properties / credits_notice
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A free workspace is low on credits, at most once a day. Tell the user once.",
      +  "properties": {
      +    "message": {
      +      "type": "string"
      +    },
      +    "resets_at": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "upgrade_url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "upgrade_url",
      +    "resets_at",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / meta / properties / credits_remaining
      Added value: +{
      +  "description": "The workspace's credits left after this call. null when the call did not check the balance (free tools, cache hits, dry runs, tasks) or the balance has no limit.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / meta / required
      Previous value: -[
      -  "provider",
      -  "credits_charged",
      -  "est_credits",
      -  "cached",
      -  "data_as_of",
      -  "rows_returned",
      -  "rows_available",
      -  "cursor",
      -  "request_id"
      -]New value: +[
      +  "provider",
      +  "credits_charged",
      +  "est_credits",
      +  "cached",
      +  "data_as_of",
      +  "rows_returned",
      +  "rows_available",
      +  "cursor",
      +  "request_id",
      +  "credits_remaining"
      +]
  3. Changed2 schema fields changed
    • changedOutput schema / properties / error / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "BudgetExceeded",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "max_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "max_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "billing_url": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "InsufficientCredits",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "upgrade_url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "NoData",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidTarget",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "target": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "target",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ProviderUnavailable",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ConcurrencyLimit",
      -        "type": "string"
      -      },
      -      "limit": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "limit",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cap": {
      -        "type": "number"
      -      },
      -      "error": {
      -        "const": "SpendCapReached",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "period": {
      -        "enum": [
      -          "day",
      -          "month"
      -        ],
      -        "type": "string"
      -      },
      -      "resets_at": {
      -        "type": "string"
      -      },
      -      "spent": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "period",
      -      "cap",
      -      "spent",
      -      "est_credits",
      -      "resets_at",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskFailed",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskPending",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "poll_after_s": {
      -        "type": "number"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "poll_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connect_url": {
      -        "type": "string"
      -      },
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "NotConnected",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "connect_url",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "EngineMisconfigured",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "message"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "BudgetExceeded",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "max_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "max_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "billing_url": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "InsufficientCredits",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "upgrade_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "NoData",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidTarget",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "target": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "target",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidProvider",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "valid_providers": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "valid_providers",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ProviderUnavailable",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ConcurrencyLimit",
      +        "type": "string"
      +      },
      +      "limit": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "limit",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cap": {
      +        "type": "number"
      +      },
      +      "error": {
      +        "const": "SpendCapReached",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "period": {
      +        "enum": [
      +          "day",
      +          "month"
      +        ],
      +        "type": "string"
      +      },
      +      "resets_at": {
      +        "type": "string"
      +      },
      +      "spent": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "period",
      +      "cap",
      +      "spent",
      +      "est_credits",
      +      "resets_at",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskFailed",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskPending",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "poll_after_s": {
      +        "type": "number"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "poll_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "connect_url": {
      +        "type": "string"
      +      },
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "NotConnected",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "connect_url",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "EngineMisconfigured",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "message"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / errors / items / properties / error / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "BudgetExceeded",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "max_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "max_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "billing_url": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "InsufficientCredits",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "upgrade_url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "NoData",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidTarget",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "target": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "target",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ProviderUnavailable",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ConcurrencyLimit",
      -        "type": "string"
      -      },
      -      "limit": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "limit",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cap": {
      -        "type": "number"
      -      },
      -      "error": {
      -        "const": "SpendCapReached",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "period": {
      -        "enum": [
      -          "day",
      -          "month"
      -        ],
      -        "type": "string"
      -      },
      -      "resets_at": {
      -        "type": "string"
      -      },
      -      "spent": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "period",
      -      "cap",
      -      "spent",
      -      "est_credits",
      -      "resets_at",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskFailed",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskPending",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "poll_after_s": {
      -        "type": "number"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "poll_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connect_url": {
      -        "type": "string"
      -      },
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "NotConnected",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "connect_url",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "EngineMisconfigured",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "message"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "BudgetExceeded",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "max_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "max_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "billing_url": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "InsufficientCredits",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "upgrade_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "NoData",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidTarget",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "target": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "target",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidProvider",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "valid_providers": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "valid_providers",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ProviderUnavailable",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ConcurrencyLimit",
      +        "type": "string"
      +      },
      +      "limit": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "limit",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cap": {
      +        "type": "number"
      +      },
      +      "error": {
      +        "const": "SpendCapReached",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "period": {
      +        "enum": [
      +          "day",
      +          "month"
      +        ],
      +        "type": "string"
      +      },
      +      "resets_at": {
      +        "type": "string"
      +      },
      +      "spent": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "period",
      +      "cap",
      +      "spent",
      +      "est_credits",
      +      "resets_at",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskFailed",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskPending",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "poll_after_s": {
      +        "type": "number"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "poll_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "connect_url": {
      +        "type": "string"
      +      },
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "NotConnected",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "connect_url",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "EngineMisconfigured",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "message"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed2 schema fields changed
    • changedOutput schema / properties / error / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "BudgetExceeded",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "max_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "max_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InsufficientCredits",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "NoData",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidTarget",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "target": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "target",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ProviderUnavailable",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ConcurrencyLimit",
      -        "type": "string"
      -      },
      -      "limit": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "limit",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cap": {
      -        "type": "number"
      -      },
      -      "error": {
      -        "const": "SpendCapReached",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "period": {
      -        "enum": [
      -          "day",
      -          "month"
      -        ],
      -        "type": "string"
      -      },
      -      "resets_at": {
      -        "type": "string"
      -      },
      -      "spent": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "period",
      -      "cap",
      -      "spent",
      -      "est_credits",
      -      "resets_at",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskFailed",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskPending",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "poll_after_s": {
      -        "type": "number"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "poll_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connect_url": {
      -        "type": "string"
      -      },
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "NotConnected",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "connect_url",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "EngineMisconfigured",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "message"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "BudgetExceeded",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "max_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "max_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "billing_url": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "InsufficientCredits",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "upgrade_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "NoData",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidTarget",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "target": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "target",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ProviderUnavailable",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ConcurrencyLimit",
      +        "type": "string"
      +      },
      +      "limit": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "limit",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cap": {
      +        "type": "number"
      +      },
      +      "error": {
      +        "const": "SpendCapReached",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "period": {
      +        "enum": [
      +          "day",
      +          "month"
      +        ],
      +        "type": "string"
      +      },
      +      "resets_at": {
      +        "type": "string"
      +      },
      +      "spent": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "period",
      +      "cap",
      +      "spent",
      +      "est_credits",
      +      "resets_at",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskFailed",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskPending",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "poll_after_s": {
      +        "type": "number"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "poll_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "connect_url": {
      +        "type": "string"
      +      },
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "NotConnected",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "connect_url",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "EngineMisconfigured",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "message"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / errors / items / properties / error / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "BudgetExceeded",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "max_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "max_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InsufficientCredits",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "est_credits",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "NoData",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "InvalidTarget",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "target": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "target",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ProviderUnavailable",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "provider",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "ConcurrencyLimit",
      -        "type": "string"
      -      },
      -      "limit": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "retry_after_s": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "limit",
      -      "retry_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cap": {
      -        "type": "number"
      -      },
      -      "error": {
      -        "const": "SpendCapReached",
      -        "type": "string"
      -      },
      -      "est_credits": {
      -        "type": "number"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "period": {
      -        "enum": [
      -          "day",
      -          "month"
      -        ],
      -        "type": "string"
      -      },
      -      "resets_at": {
      -        "type": "string"
      -      },
      -      "spent": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "period",
      -      "cap",
      -      "spent",
      -      "est_credits",
      -      "resets_at",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskFailed",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "const": "TaskPending",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "poll_after_s": {
      -        "type": "number"
      -      },
      -      "task_id": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "task_id",
      -      "poll_after_s",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "connect_url": {
      -        "type": "string"
      -      },
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "NotConnected",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "connect_url",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "engine": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "const": "EngineMisconfigured",
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "engine",
      -      "message"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "BudgetExceeded",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "max_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "max_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "billing_url": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "InsufficientCredits",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "upgrade_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "est_credits",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "NoData",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "InvalidTarget",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "target": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "target",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ProviderUnavailable",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "provider",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "ConcurrencyLimit",
      +        "type": "string"
      +      },
      +      "limit": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "retry_after_s": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "limit",
      +      "retry_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cap": {
      +        "type": "number"
      +      },
      +      "error": {
      +        "const": "SpendCapReached",
      +        "type": "string"
      +      },
      +      "est_credits": {
      +        "type": "number"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "period": {
      +        "enum": [
      +          "day",
      +          "month"
      +        ],
      +        "type": "string"
      +      },
      +      "resets_at": {
      +        "type": "string"
      +      },
      +      "spent": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "period",
      +      "cap",
      +      "spent",
      +      "est_credits",
      +      "resets_at",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskFailed",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "const": "TaskPending",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "poll_after_s": {
      +        "type": "number"
      +      },
      +      "task_id": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "task_id",
      +      "poll_after_s",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "connect_url": {
      +        "type": "string"
      +      },
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "NotConnected",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "connect_url",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "engine": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "const": "EngineMisconfigured",
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "engine",
      +      "message"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed1 schema field changed
    • addedOutput schema / properties / meta / properties / providers_tried
      Added value: +{
      +  "description": "leads_get_email only: every source asked, in order.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  6. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description goes well beyond them: it discloses credit cost (1, or 11 with ai_fallback), a 30-day cache, and the NoData outcome when no speech was kept. These are operational traits an agent cannot infer from annotations or schema.

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?

Front-loaded with the one-line purpose, then tight labeled sections (Use when / Not for / Returns / Cost / Example) with no filler. Every line conveys distinct information, and the example call is a compact, high-value anchor.

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?

An output schema exists, so return-value explanation is optional, yet the description still flags the key fields and NoData behavior for a 5-param tool. Cost, caching, fallback scope, and the alternative tool are all covered, leaving nothing an agent needs to call it correctly.

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 100%, so the baseline is 3. The description still adds meaning by tying the credit delta to ai_fallback ('11 credits', 'up to 2 minutes' rather than the 1-credit default), which clarifies the cost consequence of that flag beyond the schema's own note.

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?

Opens with a precise verb+resource statement ('What is said out loud in one TikTok video, as text') that immediately distinguishes this from a written caption or video metadata. It explicitly names tiktok_get_video as the sibling that carries the numbers and the caption, so an agent can route without opening either schema.

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?

Contains explicit 'Use when' conditions (reading without watching, extracting claims/hooks) and an explicit 'Not for' that names the alternative tool (tiktok_get_video) and the specific artifact it owns (the caption). This is the when-to-use/when-not/alternative triad done fully.

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