{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"key":"GROK_TTS","type":"http","target":"POST https://api.x.ai/v1/tts","auth":"bearer:GROK_API_KEY","content":"# WHAT: Text-to-SPEECH (Grok). INVOKE: [GROK_TTS]<text>|<voice_id>[/GROK_TTS]\n# WHEN_TO_USE: you need to grok tts\n# ARGS: see content\n# EX: [GROK_TTS]arg1|arg2|arg15[/GROK_TTS]\n# $1 = the words to speak; $2 = voice_id (eve|ara|rex|sal|leo). Returns mp3 audio BYTES (binary, not JSON) from https://api.x.ai/v1/tts; ~$15 per 1M characters.\n# To DELIVER spoken audio into a chat in ONE call, use [VOICE_SEND] instead (it synthesizes + attaches).\n{\"text\":\"$1\",\"voice_id\":\"$2\",\"language\":\"en\"}","updated_at":"2026-07-15 07:45:21","category":"grok","allowed_categories":null,"seq":null,"enabled":1,"planner_visible":1,"planner_rank":100,"input_schema":"{\"type\":\"object\",\"properties\":{\"arg1\":{\"type\":\"string\",\"description\":\"positional argument 1 (pipe position 1)\"},\"arg2\":{\"type\":\"string\",\"description\":\"positional argument 2 (pipe position 2)\"},\"arg3\":{\"type\":\"string\",\"description\":\"positional argument 3 (pipe position 3)\"},\"arg4\":{\"type\":\"string\",\"description\":\"positional argument 4 (pipe position 4)\"},\"arg5\":{\"type\":\"string\",\"description\":\"positional argument 5 (pipe position 5)\"},\"arg6\":{\"type\":\"string\",\"description\":\"positional argument 6 (pipe position 6)\"},\"arg7\":{\"type\":\"string\",\"description\":\"positional argument 7 (pipe position 7)\"},\"arg8\":{\"type\":\"string\",\"description\":\"positional argument 8 (pipe position 8)\"},\"arg9\":{\"type\":\"string\",\"description\":\"positional argument 9 (pipe position 9)\"},\"arg10\":{\"type\":\"string\",\"description\":\"positional argument 10 (pipe position 10)\"},\"arg11\":{\"type\":\"string\",\"description\":\"positional argument 11 (pipe position 11)\"},\"arg12\":{\"type\":\"string\",\"description\":\"positional argument 12 (pipe position 12)\"},\"arg13\":{\"type\":\"string\",\"description\":\"positional argument 13 (pipe position 13)\"},\"arg14\":{\"type\":\"string\",\"description\":\"positional argument 14 (pipe position 14)\"},\"arg15\":{\"type\":\"string\",\"description\":\"positional argument 15 (pipe position 15)\"}},\"required\":[\"arg1\",\"arg2\",\"arg3\",\"arg4\",\"arg5\",\"arg6\",\"arg7\",\"arg8\",\"arg9\",\"arg10\",\"arg11\",\"arg12\",\"arg13\",\"arg14\",\"arg15\"],\"x-arg-order\":[\"arg1\",\"arg2\",\"arg3\",\"arg4\",\"arg5\",\"arg6\",\"arg7\",\"arg8\",\"arg9\",\"arg10\",\"arg11\",\"arg12\",\"arg13\",\"arg14\",\"arg15\"],\"description\":\"Arguments are joined with | in the order given by x-arg-order.\"}","examples":null,"sensitive":1,"runner":"edge","includes":null,"created_at":"2026-07-15 07:45:21","price_usd":null,"meter_unit":null,"object_kind":"capability","descriptor_json":null,"descriptor_rev":1,"descriptor_hash":null,"invocation":"{\"method\":\"POST\",\"url\":\"https://api.x.ai/v1/tts\",\"headers\":{\"Authorization\":\"Bearer INJECTED_BY_WORKER\",\"Content-Type\":\"application/json\"},\"body\":{\"text\":\"<text>\",\"voice_id\":\"<voice_id>\",\"language\":\"en\"}}","last_status":"{\"skipped\":true,\"reason\":\"outward side effect (sends, posts, pays, spawns or deletes) — run it yourself with =INVOKE when you mean to\",\"at\":\"2026-09-06T11:02:01.534Z\"}","last_response":null,"test_state":"🟡 untested","tested_at":"2026-09-06T11:02:01.534Z","invocation_curl":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"GROK_TTS\",\"body\":\"arg1|arg2|arg15\"}'","execution":null,"connection_id":"xai:default","aliases":null,"effects":"[\"write\"]","visibility":null,"origin":null,"returns":null,"context":null,"verification_mode":"safe","ontology":"models","provider":"xai","tier":"standard","how_to_call":[{"family":"HTTP","id":"curl","label":"curl — the canonical call","when":"Any terminal or script. {key, body}: the arguments are one string, pipe-separated in the order below. The answer is {ok, ran, result, trace_id, receipt}.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"GROK_TTS\",\"body\":\"arg1|arg2|arg15\"}'"},{"family":"HTTP","id":"named","label":"curl — named arguments","when":"The same door with arguments by name: dispatch puts them in the row's order. Add \"idempotency_key\":\"…\" to make a retry safe (72 hours), \"shape\":true to see the request without sending it.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"key\":\"GROK_TTS\",\"args\":{\"arg1\":\"arg1\",\"arg2\":\"arg2\",\"arg3\":\"arg15\"}}'"},{"family":"HTTP","id":"url","label":"One URL — Safari, a Shortcut, any fetch tool","when":"A GET that runs the call from one address. The address holds a link scoped to this row that expires (ttl in seconds, uses= to cap the count) — never the master key. https://miscsubjects.com/web/run/GROK_TTS?body=…&share=… is the same call for a browser model. Run mints a one-use link for itself.","code":"# 1. a link that runs only GROK_TTS, for an hour (share_token in the answer):\ncurl -sS 'https://ops.miscsubjects.com/api/dispatch?mint_share=1&scope=row:GROK_TTS&ttl=3600' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\"\n\n# 2. the address — paste it in Safari, a Shortcut or a model's fetch tool:\nhttps://ops.miscsubjects.com/api/dispatch?invoke=GROK_TTS&body=arg1%7Carg2%7Carg15&share=<share_token>"},{"family":"MCP","id":"jsonrpc","label":"MCP over HTTP — misc_run","when":"The build's MCP server. misc_run reaches every row by key and leaves a receipt; misc_find finds the key from a phrase. The answer is result.content[0].text.","code":"curl -sS -X POST 'https://ops.miscsubjects.com/api/mcp' \\\n  -H 'accept: application/json, text/event-stream' \\\n  -H \"authorization: Bearer $MCP_TOKEN\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"misc_run\",\"arguments\":{\"key\":\"GROK_TTS\",\"args\":{\"arg1\":\"arg1\",\"arg2\":\"arg2\",\"arg3\":\"arg15\"}}}}'"},{"family":"MCP","id":"claude_code","label":"Claude Code","when":"Claude Code (terminal, desktop, web). The same server works in any Claude Code session once added.","code":"# once, on any machine:\nclaude mcp add --transport http miscsubjects https://ops.miscsubjects.com/api/mcp --header \"Authorization: Bearer $MCP_TOKEN\"\n# then in a session, the model calls:\nmcp__miscsubjects__misc_run {\"key\":\"GROK_TTS\",\"args\":{\"arg1\":\"arg1\",\"arg2\":\"arg2\",\"arg3\":\"arg15\"}}"},{"family":"CLI","id":"misc","label":"misc (on your Mac)","when":"The misc CLI in ~/.local/bin: its words go to /api/resolve (plan, then run), with TERMINAL_KEY from the vault. Arguments are positional, in the order above. `misc find \"words\"` finds a row.","code":"misc run GROK_TTS arg1 arg2 arg15\nmisc grok tts arg1 arg2 arg15"},{"family":"CLI","id":"console_app","label":"console-app","when":"The Console's own CLI. It reads the key from ~/.build-vault.env or `console-app login`.","code":"npm install -g https://miscsubjects.com/download/llmasos-console-1.1.0.tgz   # once\nconsole-app call GROK_TTS 'arg1|arg2|arg15'\nconsole-app how GROK_TTS   # this page, in the terminal"},{"family":"CLI","id":"line","label":"One line of text — the build grammar","when":"/api/resolve parses the same line everywhere: \"run KEY a b\" (arguments in order, quoted when they hold spaces), the key's words (\"grok tts …\"), or a phrase it matches to a row. POST runs; {\"run\":false} returns the plan without running it.","code":"# typed, texted to the build, or emitted by a model with no tools:\nrun GROK_TTS arg1 arg2 arg15\n\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/resolve' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"line\":\"run GROK_TTS arg1 arg2 arg15\",\"run\":true}'"},{"family":"Agents","id":"tag","label":"Tag form — inside an answer","when":"What a model in this build writes mid-answer to call a row; both tags always, even with nothing between them. {\"emit\": text} runs every tag in a piece of text and returns each result.","code":"[GROK_TTS]arg1|arg2|arg15[/GROK_TTS]\n\n# run text that carries tags, exactly as a model wrote it:\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"emit\":\"[GROK_TTS]arg1|arg2|arg15[/GROK_TTS]\"}'"},{"family":"Phone","id":"shortcut","label":"iPhone Shortcut — Get Contents of URL","when":"A Shortcut on the phone, a Siri phrase, an Action Button, or an automation. Swap body for Ask for Input to fill arguments at run time.","code":"Action:   Get Contents of URL\nURL:      https://ops.miscsubjects.com/api/dispatch\nMethod:   POST\nHeaders:  x-terminal-key  →  (Text) your terminal key\n          content-type    →  application/json\nRequest Body: JSON\n          key   (Text)  →  GROK_TTS\n          body  (Text)  →  arg1|arg2|arg15\nThen:     Get Dictionary Value  result  from  Contents of URL"},{"family":"Webhook","id":"webhook","label":"A webhook any service can call","when":"Stripe, GitHub, Slack, Zapier, a form, a cron elsewhere. The hook id is the credential for an unsigned sender and it may run nothing but GROK_TTS. mode \"sync\" answers with the result; \"async\" answers 202 at once.","code":"# 1. once: make a hook that may run only GROK_TTS (the answer holds its id and url)\ncurl -sS -X POST 'https://ops.miscsubjects.com/api/hooks' \\\n  -H \"x-terminal-key: $TERMINAL_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"label\":\"GROK_TTS webhook\",\"source\":\"url\",\"allow_keys\":[\"GROK_TTS\"],\"effects_max\":\"write\",\"mode\":\"sync\"}'\n\n# 2. then any service POSTs the arguments, by name, to that url:\ncurl -sS -X POST 'https://ops.miscsubjects.com/hook/<hook id>/GROK_TTS' \\\n  -H 'content-type: application/json' \\\n  --data '{\"arg1\":\"arg1\",\"arg2\":\"arg2\",\"arg3\":\"arg15\"}'"},{"family":"Upstream","id":"upstream","label":"The raw request the build makes (POST api.x.ai)","when":"Straight to the service, bypassing the build: no receipt, no ledger, no gates. Credentials are the vault variables the row names.","code":"curl -sS -X POST 'https://api.x.ai/v1/tts' \\\n  -H \"authorization: Bearer $GROK_API_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"text\":\"arg1\",\"voice_id\":\"arg2\",\"language\":\"en\"}'"}],"row_num":775,"_rest":{"read":"GET /api/directory/GROK_TTS","update":"PUT /api/directory/GROK_TTS","patch":"PATCH /api/directory/GROK_TTS","delete":"DELETE /api/directory/GROK_TTS","invoke":"POST /api/dispatch {\"key\":\"GROK_TTS\",\"body\":\"<args>\"}","model_call":"POST /api/invoke {\"key\":\"GROK_TTS\",\"input\":\"<message>\"}  ·  batch: {\"key\":\"GROK_TTS\",\"inputs\":[\"a\",\"b\",\"c\"]}","lab":"/admin/prompts/GROK_TTS"},"_schema":{"key":"string · primary key · the invocation name","type":"fn | http | agent | flow","target":"fn: FN_MAP name · http: \"METHOD url\" (e.g. \"GET https://…/$1\") · agent: model id · flow: \"\" (content holds the DSL)","auth":"http only: \"bearer:ENV_VAR\" | \"headers:{...}\" | \"query:k=$ENV\" | \"\"","content":"fn/http: \"# docs\\n<arg template>\" · agent: the system prompt body · flow: the DSL","includes":"agent only: comma-separated prompt_block keys (e.g. BLOCK_VOICE,BLOCK_ROUTING) composed before content at runtime","category":"string tag","allowed_categories":"csv of categories, or \"*\"","seq":"int (sort)","enabled":"1|0","planner_visible":"1|0","planner_rank":"int","input_schema":"optional JSON string","examples":"optional JSON string","object_kind":"optional canonical object kind (page, route, prompt, model, sheet, source, law, skill, store, external, capability)","descriptor_json":"canonical miscsubjects/environment-object/1 JSON: identity, exact operations, relationships, governance, comparables, representations","descriptor_rev":"monotonic descriptor revision; incremented whenever descriptor_json changes","descriptor_hash":"sha256 of canonical descriptor JSON","invocation":"the raw REST JSON that invokes this row: {method,url,headers,body} with the credential left as INJECTED_BY_WORKER; written by POST /api/directory/<key>/test","invocation_curl":"the same request as a curl that runs when pasted into the owner's terminal: credential written as the vault variable for its host ($XAI_API_KEY, $TERMINAL_KEY)","last_status":"transport record of the last test: {http, ok, ms, trace_id, ledger, error, at} — or {skipped, reason}","last_response":"the full payload the last test returned (up to 60k chars)","test_state":"🟢 works | 🔴 broken | 🟡 untested — decided only by POST /api/directory/<key>/test, never by hand","tested_at":"when test_state was decided","row_num":"int · computed · 1-based position in the canonical directory list (stable for a given ordering)"},"_object":{"identity":"directory:GROK_TTS","object_type":"directory-object","representations":{"article":"/a/directory/GROK_TTS","json":"/api/directory/GROK_TTS","skill":"/api/directory/GROK_TTS?format=skill","oip_contract":"/api/dispatch?key=GROK_TTS"},"ontology":{"parent":"category:grok","siblings":[{"id":"directory:GROK_IMAGE","key":"GROK_IMAGE","relation":"shares_capability_family","article":"/a/directory/GROK_IMAGE","skill":"/api/directory/GROK_IMAGE?format=skill"},{"id":"directory:GROK_IMAGE_EDIT","key":"GROK_IMAGE_EDIT","relation":"shares_capability_family","article":"/a/directory/GROK_IMAGE_EDIT","skill":"/api/directory/GROK_IMAGE_EDIT?format=skill"},{"id":"directory:GROK_MODELS","key":"GROK_MODELS","relation":"shares_capability_family","article":"/a/directory/GROK_MODELS","skill":"/api/directory/GROK_MODELS?format=skill"},{"id":"directory:GROK_STT","key":"GROK_STT","relation":"shares_capability_family","article":"/a/directory/GROK_STT","skill":"/api/directory/GROK_STT?format=skill"},{"id":"directory:GROK_VIDEO_GET","key":"GROK_VIDEO_GET","relation":"shares_capability_family","article":"/a/directory/GROK_VIDEO_GET","skill":"/api/directory/GROK_VIDEO_GET?format=skill"},{"id":"directory:GROK_VIDEO_START","key":"GROK_VIDEO_START","relation":"shares_capability_family","article":"/a/directory/GROK_VIDEO_START","skill":"/api/directory/GROK_VIDEO_START?format=skill"}]},"law":"This directory definition is also a human article, model Skill, and invocable OIP object under one identity."},"_environment":{"ref":"directory://grok_tts","descriptor_rev":1,"descriptor_hash":null,"describe":"/api/environment/objects?ref=directory%3A%2F%2Fgrok_tts","governance":"/api/environment/governance?ref=directory%3A%2F%2Fgrok_tts","comparables":"/api/environment/comparables?ref=directory%3A%2F%2Fgrok_tts","manual":"/api/environment?format=markdown","edit_descriptor":"PATCH /api/directory/GROK_TTS {\"descriptor_json\":{...},\"expected_descriptor_rev\":1}"}}