{"_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_IMAGE_EDIT","type":"http","target":"POST https://api.x.ai/v1/images/edits","auth":"bearer:GROK_API_KEY","content":"# WHAT: Change an existing image by describing the change in words. The original is fetched from the URL you give; the edit is returned as a new image.\n# WHEN_TO_USE: An image exists and needs altering rather than replacing.\n# RETURNS: A JSON object containing the URL of the edited image. The original is not modified.\n# NEVER: The image URL must be publicly reachable — a local path or an authenticated URL will fail.\n# ARGS: prompt (required) — The change to make, in words · image_url (required) — A publicly reachable https URL of the image to edit\n# EX: {\"key\":\"GROK_IMAGE_EDIT\",\"args\":{\"prompt\": \"put it on a beach at sunset\", \"image_url\": \"https://miscsubjects.com/img/gen/example.png\"}}\n{\"model\":\"grok-imagine-image-quality\",\"prompt\":\"$1\",\"image\":{\"url\":\"$2\",\"type\":\"image_url\"}}","updated_at":"2026-09-13T20:36:08.888Z","category":"grok","allowed_categories":null,"seq":null,"enabled":1,"planner_visible":1,"planner_rank":100,"input_schema":"{\"type\": \"object\", \"properties\": {\"prompt\": {\"type\": \"string\", \"description\": \"The change to make, in words. Describe the result you want, not the editing steps.\"}, \"image_url\": {\"type\": \"string\", \"description\": \"A publicly reachable https URL of the image to edit.\"}}, \"required\": [\"prompt\", \"image_url\"], \"x-arg-order\": [\"prompt\", \"image_url\"], \"additionalProperties\": false}","examples":"[\"{\\\"prompt\\\": \\\"put it on a beach at sunset\\\", \\\"image_url\\\": \\\"https://miscsubjects.com/img/gen/example.png\\\"}\"]","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/images/edits\",\"headers\":{\"Authorization\":\"Bearer INJECTED_BY_WORKER\",\"Content-Type\":\"application/json\"},\"body\":{\"model\":\"grok-imagine-image-quality\",\"prompt\":\"<arg1>\",\"image\":{\"url\":\"<arg2>\",\"type\":\"image_url\"}}}","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:00.305Z\"}","last_response":null,"test_state":"🟡 untested","tested_at":"2026-09-06T11:02:00.305Z","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_IMAGE_EDIT\",\"body\":\"put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png\"}'","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_IMAGE_EDIT\",\"body\":\"put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png\"}'"},{"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_IMAGE_EDIT\",\"args\":{\"prompt\":\"put it on a beach at sunset\",\"image_url\":\"https://miscsubjects.com/img/gen/example.png\"}}'"},{"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_IMAGE_EDIT?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_IMAGE_EDIT, for an hour (share_token in the answer):\ncurl -sS 'https://ops.miscsubjects.com/api/dispatch?mint_share=1&scope=row:GROK_IMAGE_EDIT&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_IMAGE_EDIT&body=put%20it%20on%20a%20beach%20at%20sunset%7Chttps%3A%2F%2Fmiscsubjects.com%2Fimg%2Fgen%2Fexample.png&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_IMAGE_EDIT\",\"args\":{\"prompt\":\"put it on a beach at sunset\",\"image_url\":\"https://miscsubjects.com/img/gen/example.png\"}}}}'"},{"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_IMAGE_EDIT\",\"args\":{\"prompt\":\"put it on a beach at sunset\",\"image_url\":\"https://miscsubjects.com/img/gen/example.png\"}}"},{"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_IMAGE_EDIT \"put it on a beach at sunset\" https://miscsubjects.com/img/gen/example.png\nmisc grok image edit \"put it on a beach at sunset\" https://miscsubjects.com/img/gen/example.png"},{"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_IMAGE_EDIT 'put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png'\nconsole-app how GROK_IMAGE_EDIT   # 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 image edit …\"), 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_IMAGE_EDIT \"put it on a beach at sunset\" https://miscsubjects.com/img/gen/example.png\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_IMAGE_EDIT \\\"put it on a beach at sunset\\\" https://miscsubjects.com/img/gen/example.png\",\"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_IMAGE_EDIT]put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png[/GROK_IMAGE_EDIT]\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_IMAGE_EDIT]put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png[/GROK_IMAGE_EDIT]\"}'"},{"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_IMAGE_EDIT\n          body  (Text)  →  put it on a beach at sunset|https://miscsubjects.com/img/gen/example.png\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_IMAGE_EDIT. mode \"sync\" answers with the result; \"async\" answers 202 at once.","code":"# 1. once: make a hook that may run only GROK_IMAGE_EDIT (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_IMAGE_EDIT webhook\",\"source\":\"url\",\"allow_keys\":[\"GROK_IMAGE_EDIT\"],\"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_IMAGE_EDIT' \\\n  -H 'content-type: application/json' \\\n  --data '{\"prompt\":\"put it on a beach at sunset\",\"image_url\":\"https://miscsubjects.com/img/gen/example.png\"}'"},{"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/images/edits' \\\n  -H \"authorization: Bearer $GROK_API_KEY\" \\\n  -H 'content-type: application/json' \\\n  --data '{\"model\":\"grok-imagine-image-quality\",\"prompt\":\"put it on a beach at sunset\",\"image\":{\"url\":\"https://miscsubjects.com/img/gen/example.png\",\"type\":\"image_url\"}}'"}],"row_num":762,"_rest":{"read":"GET /api/directory/GROK_IMAGE_EDIT","update":"PUT /api/directory/GROK_IMAGE_EDIT","patch":"PATCH /api/directory/GROK_IMAGE_EDIT","delete":"DELETE /api/directory/GROK_IMAGE_EDIT","invoke":"POST /api/dispatch {\"key\":\"GROK_IMAGE_EDIT\",\"body\":\"<args>\"}","model_call":"POST /api/invoke {\"key\":\"GROK_IMAGE_EDIT\",\"input\":\"<message>\"}  ·  batch: {\"key\":\"GROK_IMAGE_EDIT\",\"inputs\":[\"a\",\"b\",\"c\"]}","lab":"/admin/prompts/GROK_IMAGE_EDIT"},"_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_IMAGE_EDIT","object_type":"directory-object","representations":{"article":"/a/directory/GROK_IMAGE_EDIT","json":"/api/directory/GROK_IMAGE_EDIT","skill":"/api/directory/GROK_IMAGE_EDIT?format=skill","oip_contract":"/api/dispatch?key=GROK_IMAGE_EDIT"},"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_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_TTS","key":"GROK_TTS","relation":"shares_capability_family","article":"/a/directory/GROK_TTS","skill":"/api/directory/GROK_TTS?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_image_edit","descriptor_rev":1,"descriptor_hash":null,"describe":"/api/environment/objects?ref=directory%3A%2F%2Fgrok_image_edit","governance":"/api/environment/governance?ref=directory%3A%2F%2Fgrok_image_edit","comparables":"/api/environment/comparables?ref=directory%3A%2F%2Fgrok_image_edit","manual":"/api/environment?format=markdown","edit_descriptor":"PATCH /api/directory/GROK_IMAGE_EDIT {\"descriptor_json\":{...},\"expected_descriptor_rev\":1}"}}