Directory object · openai
GEN DUAL
Generate with BOTH OpenAI gpt-image-1.5 and Grok Imagine; store both to R2; return both links. If reference_url is given, both EDIT it
WHAT
Generate with BOTH OpenAI gpt-image-1.5 and Grok Imagine; store both to R2; return both links. If reference_url is given, both EDIT it
WHEN TO USE
you need to gen dual
Model and router layerOpen the live contract4 sections
ARGS
prompt|reference_url
EX
[GEN_DUAL]arg1|arg2[/GEN_DUAL] ["$1","$2"]
Target
fn · genDual
InvocationCall it12 ways
HTTP · curl — the canonical call
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}.
curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
-H "x-terminal-key: $TERMINAL_KEY" \
-H 'content-type: application/json' \
--data '{"key":"GEN_DUAL","body":"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"}'HTTP · curl — named arguments
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.
curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
-H "x-terminal-key: $TERMINAL_KEY" \
-H 'content-type: application/json' \
--data '{"key":"GEN_DUAL","args":{"prompt":"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"}}'HTTP · One URL — Safari, a Shortcut, any fetch tool
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/GEN_DUAL?body=…&share=… is the same call for a browser model. Run mints a one-use link for itself.
# 1. a link that runs only GEN_DUAL, for an hour (share_token in the answer): curl -sS 'https://ops.miscsubjects.com/api/dispatch?mint_share=1&scope=row:GEN_DUAL&ttl=3600' \ -H "x-terminal-key: $TERMINAL_KEY" # 2. the address — paste it in Safari, a Shortcut or a model's fetch tool: https://ops.miscsubjects.com/api/dispatch?invoke=GEN_DUAL&body=Dark%20cosmic%20scientific%20infographic%20poster%20FRACTALS%20RECURSION%20branching%20white%20line%20art%20on%20black&share=<share_token>
MCP · MCP over HTTP — misc_run
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.
curl -sS -X POST 'https://ops.miscsubjects.com/api/mcp' \
-H 'accept: application/json, text/event-stream' \
-H "authorization: Bearer $MCP_TOKEN" \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"misc_run","arguments":{"key":"GEN_DUAL","args":{"prompt":"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"}}}}'MCP · Claude Code
Claude Code (terminal, desktop, web). The same server works in any Claude Code session once added.
# once, on any machine:
claude mcp add --transport http miscsubjects https://ops.miscsubjects.com/api/mcp --header "Authorization: Bearer $MCP_TOKEN"
# then in a session, the model calls:
mcp__miscsubjects__misc_run {"key":"GEN_DUAL","args":{"prompt":"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"}}CLI · misc (on your Mac)
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.
misc run GEN_DUAL "Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black" misc gen dual "Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"
CLI · console-app
The Console's own CLI. It reads the key from ~/.build-vault.env or `console-app login`.
npm install -g https://miscsubjects.com/download/llmasos-console-1.1.0.tgz # once console-app call GEN_DUAL 'Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black' console-app how GEN_DUAL # this page, in the terminal
CLI · One line of text — the build grammar
/api/resolve parses the same line everywhere: "run KEY a b" (arguments in order, quoted when they hold spaces), the key's words ("gen dual …"), or a phrase it matches to a row. POST runs; {"run":false} returns the plan without running it.
# typed, texted to the build, or emitted by a model with no tools:
run GEN_DUAL "Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"
curl -sS -X POST 'https://ops.miscsubjects.com/api/resolve' \
-H "x-terminal-key: $TERMINAL_KEY" \
-H 'content-type: application/json' \
--data '{"line":"run GEN_DUAL \"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black\"","run":true}'Agents · Tag form — inside an answer
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.
[GEN_DUAL]Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black[/GEN_DUAL]
# run text that carries tags, exactly as a model wrote it:
curl -sS -X POST 'https://ops.miscsubjects.com/api/dispatch' \
-H "x-terminal-key: $TERMINAL_KEY" \
-H 'content-type: application/json' \
--data '{"emit":"[GEN_DUAL]Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black[/GEN_DUAL]"}'Phone · iPhone Shortcut — Get Contents of URL
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.
Action: Get Contents of URL
URL: https://ops.miscsubjects.com/api/dispatch
Method: POST
Headers: x-terminal-key → (Text) your terminal key
content-type → application/json
Request Body: JSON
key (Text) → GEN_DUAL
body (Text) → Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black
Then: Get Dictionary Value result from Contents of URLWebhook · A webhook any service can call
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 GEN_DUAL. mode "sync" answers with the result; "async" answers 202 at once.
# 1. once: make a hook that may run only GEN_DUAL (the answer holds its id and url)
curl -sS -X POST 'https://ops.miscsubjects.com/api/hooks' \
-H "x-terminal-key: $TERMINAL_KEY" \
-H 'content-type: application/json' \
--data '{"label":"GEN_DUAL webhook","source":"url","allow_keys":["GEN_DUAL"],"effects_max":"write","mode":"sync"}'
# 2. then any service POSTs the arguments, by name, to that url:
curl -sS -X POST 'https://ops.miscsubjects.com/hook/<hook id>/GEN_DUAL' \
-H 'content-type: application/json' \
--data '{"prompt":"Dark cosmic scientific infographic poster FRACTALS RECURSION branching white line art on black"}'Upstream · What runs it
Runs inside the build's own Worker as genDual. It has no outside door of its own; every spelling above reaches it.
Runs inside the build's own Worker as genDual. It has no outside door of its own; every spelling above reaches it.
Article-object law
This definition is also an article and a Skill.
The human expression explains the capability. The Skill directs model behavior. The directory row remains the executable contract. OIP invokes it and receipts prove what happened.