Wyzie Subs

Clients and Tools#

Wyzie Subs is plain HTTP, so any language works. These ready-made clients save you the plumbing: each wraps search, download, batch search, transcribe, fix, extract and usage, and exposes the billing headers.

JavaScript and TypeScript#

JavaScript and TypeScript: wyzie-lib on npm. It adds searchBest, searchBatch, extractSubtitles, getUsage, setUsageWebhook and clearUsageWebhook. transcribe takes format: "txt" or "json" too.

npm install wyzie-lib

Python#

Python 3.9+, sync and async, one dependency (httpx):

pip install wyzie-subs
from wyzie_subs import Wyzie
 
wyzie = Wyzie("YOUR_KEY")
results = wyzie.search("tt0111161", language="en")
srt = wyzie.download(results[0], to="vtt", shift="-1.5")
print(wyzie.last_cost, wyzie.last_balance)

AsyncWyzie has the same methods for async code. Other methods: search_best, search_batch, download_best, transcribe, fix, extract, usage, set_usage_webhook, clear_usage_webhook.

Go#

Go 1.22+, standard library only:

go get github.com/wyziedevs/wyzie-go
c := wyzie.New(os.Getenv("WYZIE_KEY"))
 
data, info, err := c.DownloadBest(ctx,
	wyzie.SearchParams{ID: "tt3659388", Language: []string{"en"}},
	&wyzie.DownloadOptions{To: "vtt"})
fmt.Println(info.Release, c.LastBalance())

Other methods: Search, SearchBest, SearchBatch, Download, Transcribe, Fix, Extract, Usage, SetUsageWebhook, ClearUsageWebhook.

MCP Server#

MCP server: lets an assistant that speaks the Model Context Protocol search, download, convert, extract and transcribe subtitles for you. It runs over stdio and needs Node 18 or newer.

npx wyzie-mcp

Give it your key as the WYZIE_KEY environment variable. Without a key the free tools still work. Add this to your assistant's MCP config file (for example .cursor/mcp.json):

{
  "mcpServers": {
    "wyzie": {
      "command": "npx",
      "args": ["-y", "wyzie-mcp"],
      "env": { "WYZIE_KEY": "your-key" }
    }
  }
}

Claude Code adds it in one command:

claude mcp add wyzie -e WYZIE_KEY=YOUR_KEY -- npx -y wyzie-mcp

For Claude Desktop, put the JSON block above in claude_desktop_config.json under mcpServers; Cursor reads the same shape from .cursor/mcp.json.

Keep the key in the env block or your shell, not in prompts or committed files. Use a separate, revocable key for an assistant so a runaway loop cannot spend your whole balance. Every tool result ends with cost=<n> balance=<n>.

OpenAPI#

OpenAPI: the whole public API is described at sub.wyzie.io/openapi.json (OpenAPI 3.1). Load it into Postman, Insomnia or a client generator, or use it to try calls in the API Playground.