# Tanod ML > Local ML: speech to text (SRT/VTT), text embeddings, reranking, similarity, entities, zero-shot. A focused part of Tanod (https://tanod.dev/llms.txt covers every family), over HTTP and MCP. > > Pay per call in USDC on Base or Polygon or Solana with x402, or on Tempo with MPP; no account or API key. Free tier: a small daily per-IP > pool per family; over HTTP add the header `X-Tanod-Free: 1` to an unpaid call (without it every unpaid call gets the 402); over MCP > the free tier is automatic. > Every result is automated and heuristic, not an audit: findings can be false positives, and a clean result is not proof that code or a package is free of risk. > Tanod is operated by an autonomous AI agent on behalf of its owner. Scans run automatically; no person reviews individual results. ## API - [OpenAPI spec](https://ml.tanod.dev/openapi.json): machine-readable description of this family's 15 routes. - [x402 resources](https://ml.tanod.dev/.well-known/x402) - MCP: `https://tanod.dev/mcp/ml` (server `tanod-ml`) ## Routes - `POST https://ml.tanod.dev/v1/text/language` (detect_text_language): Detect the language of a text (75 languages, offline) (utilpeek) Use when an agent must identify which language a piece of text is written in. - `POST https://ml.tanod.dev/v1/audio/podcast-transcript` (transcribe_podcast_episode): Transcribe a podcast episode from its RSS feed (transcript, SRT, 10-min window) Use when an agent must transcribe up to 10 minutes of a podcast episode picked from its RSS feed. - `POST https://ml.tanod.dev/v1/text/keywords` (extract_keywords_from_text): Extract the keywords and keyphrases of a text (RAKE) (utilpeek) Use when an agent needs the key phrases of a text without calling a language model. - `POST https://ml.tanod.dev/v1/text/summarize` (summarize_text): Summarize a text by picking its key sentences (extractive, LexRank) (utilpeek) Use when an agent needs the most central sentences of a long text, quoted verbatim. - `POST https://ml.tanod.dev/v1/text/sentiment` (analyze_text_sentiment): Analyze the sentiment of an English text (VADER) (utilpeek) Use when an agent must score an English text as positive, negative or neutral. - `POST https://ml.tanod.dev/v1/embed` (create_text_embeddings): Create text embeddings (384-dim, English or multilingual) (mlpeek) Use when an agent needs vector embeddings of texts for semantic search or clustering. - `POST https://ml.tanod.dev/v1/rerank` (rerank_documents): Rerank up to 100 documents against a query (cross-encoder) (mlpeek) Use when an agent has candidate documents for a query and must order them by relevance. - `POST https://ml.tanod.dev/v1/similarity` (semantic_text_similarity): Score the semantic similarity of one or up to 50 text pairs (mlpeek) Use when an agent must score how close in meaning pairs of texts are. - `POST https://ml.tanod.dev/v1/ner` (extract_named_entities): Extract named entities: people, organisations, places, dates, money, ... (mlpeek) Use when an agent must find people, organizations, places, dates and amounts in English text. - `POST https://ml.tanod.dev/v1/classify/zero-shot` (zero_shot_text_classification): Classify a text into 1-10 of your labels (zero-shot) (mlpeek) Use when an agent must sort an English text into labels it supplies, without training a model. - `POST https://ml.tanod.dev/v1/text/translate` (translate_text): Translate text between English and 14 languages, incl. Spanish (offline neural MT) (mlpeek) Use when an agent must translate up to 5,000 characters between English and 14 languages such as Spanish, German or Japanese. - `POST https://ml.tanod.dev/v1/text/injection` (check_text_for_prompt_injection): Check text for prompt injection: detect and scan web pages, emails and tool results (mlpeek) Use when an agent will act on a web page, email or tool result it did not write and needs a prompt-injection check first. - `POST https://ml.tanod.dev/v1/audio/speak` (text_to_speech): Text to speech: convert text to audio, speak text aloud in 41 voices in 6 languages (mlpeek) Use when an agent must turn text into spoken audio in English, Spanish, French, Hindi, Italian or Portuguese. - `POST https://ml.tanod.dev/v1/audio/transcribe` (transcribe_audio): Transcribe audio: speech to text, audio to subtitles (SRT, WebVTT) and timed segments (mlpeek) Use when an agent must turn a spoken-audio file of up to 10 minutes into text, timed segments or SRT captions. - `POST https://ml.tanod.dev/v1/audio/translate-speech` (translate_speech_audio_to_text_voice): Translate speech: audio to English or 14 languages, optionally spoken (mlpeek) Use when an agent must turn speech in another language into translated text or spoken audio, from a 2-minute clip.