## §OIP SYSTEM ARTICLE — Grok / xAI (9 operations)
A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

### Read Order
- scan operations
- open a leaf doc
- run via run_now or POST /api/dispatch
- open receipt
- repair/replay if needed

### Operations
- **GROK_LEDGER_TAIL** — 
  doc: https://miscsubjects.com/api/dispatch?key=GROK_LEDGER_TAIL&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_LEDGER_TAIL&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_LEDGER_TAIL
- **GROK_IMAGE** — Generate an image from a text prompt. Returns a JSON url (grok-imagine-image-quality, $0.05/image).
  when: any "make/generate/create an image, picture, photo, or art" request. The whole body is the prompt.
  args: prompt (free text)
  doc: https://miscsubjects.com/api/dispatch?key=GROK_IMAGE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_IMAGE&body=a%20golden%20retriever%20in%20an%20astronaut%20suit%2C%20studio%20lighting&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_IMAGE
- **GROK_IMAGE_EDIT** — Edit an image with natural language. Returns a JSON url
  when: you need to grok image edit
  args: prompt|image_url
  doc: https://miscsubjects.com/api/dispatch?key=GROK_IMAGE_EDIT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_IMAGE_EDIT&body=%3Cprompt%3E%7C%3Cimage_url%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_IMAGE_EDIT
- **GROK_VIDEO_START** — Start a text-to-video job. Returns request_id. Poll with GROK_VIDEO_GET. Model grok-imagine-video ($0.05/sec)
  when: you need to grok video start
  args: prompt|duration_seconds(1-15)
  doc: https://miscsubjects.com/api/dispatch?key=GROK_VIDEO_START&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_VIDEO_START&body=%3Cprompt%3E%7C%3Cduration_seconds%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_VIDEO_START
- **GROK_VIDEO_GET** — Poll a video job. status pending|done|failed|expired; when done returns video.url
  when: you need to grok video get
  args: request_id
  doc: https://miscsubjects.com/api/dispatch?key=GROK_VIDEO_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_VIDEO_GET&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_VIDEO_GET
- **GROK_MODELS** — List every model on the xAI API. No args
  when: you need to grok models
  args: see content
  doc: https://miscsubjects.com/api/dispatch?key=GROK_MODELS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_MODELS&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_MODELS
- **GROK_TTS** — Text-to-SPEECH (Grok). INVOKE: [GROK_TTS]<text>|<voice_id>[/GROK_TTS]
  when: you need to grok tts
  args: see content
  doc: https://miscsubjects.com/api/dispatch?key=GROK_TTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_TTS&body=%3Csee%20content%3E%7C%3Carg2%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_TTS
- **GROK_STT** — Speech-to-TEXT (Grok). INVOKE: [GROK_STT]<public_audio_url>[/GROK_STT]
  when: you need to grok stt
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=GROK_STT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_STT&body=%3Carg1%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_STT
- **GROK_IMAGE_R2** — Generate an image with Grok Imagine, re-store it to R2, and return a stable https://miscsubjects.com/img/ link
  when: you need an image; prefer this over GROK_IMAGE because it returns a stable URL.
  args: prompt
  doc: https://miscsubjects.com/api/dispatch?key=GROK_IMAGE_R2&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=GROK_IMAGE_R2&body=%3Cprompt%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=GROK_IMAGE_R2

### Troubleshooting
- If a row's example has placeholders, replace only the placeholder values and preserve separators.
- If a call fails, open its receipt and repair it with POST /api/dispatch {key, body, repairs:'inv_ID'}.
- If token scope denies this system, ask the owner for a row:/rows:/pfx: token scoped to the exact operation set.

Back to the tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown