ShapelessAIAll capabilities
Media

Make subtitle files

Get a word-timed .srt or .vtt for a video or audio file the account holds, up to 20 minutes, free.

View as Markdown

Every word is timed by the same ear the video editor cuts by, then cut into cues of at most two 42-character lines and six seconds, breaking at sentence ends. Pass names to spell the brand your way. The file text comes back inline and is filed in the library; for captions burned into the picture, edit the video instead.

Ask in plain words

  • "make an srt for this video"
  • "subtitle file API"
  • "generate vtt captions for my podcast clip"

From an agent host (MCP)

Server: https://shapelessai.com/mcp (add it to your host).

  • tools_run with { "name": "caption_file", "input": { ... } }: the input is the REST body below; tools_list prints its JSON Schema.

From code (REST)

Bearer API key with the scope each call names (auth, OpenAPI).

  • POST /api/captions (write scope): Subtitle file (tool caption_file): {media_key, format? (srt|vtt, default srt), names? ("ShapelessAI, shapelessai.com")}. Output: captionsKey plus the file text inline. Free.

From a terminal (CLI)

  • shapeless tools run caption_file --input '<json>' (tools show caption_file prints the schema)

Example

curl -s https://shapelessai.com/api/captions -H "Authorization: Bearer $SHAPELESS_API_KEY" -H "Content-Type: application/json" -d '{"media_key":"<mediaKey>","format":"srt","names":["Shapeless"]}'

Refusals

StatusMeaning
400The input does not match the tool's schema; the message names the field.
402Not enough credit to hold budgetUsd, or the call costs more than budgetUsd.
404No such tool on this deployment.
422The tool refused this input; nothing was charged.
502The tool failed; nothing was charged.

Where else

Every capability · Docs · /llms.txt