HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
openai-processing-ms: 612
x-request-id: req_8f2...
{ "id": "resp_67b7...", "object": "response", "status": "completed",
  "output": [{ "id": "msg_67b7...", "type": "message", "role": "assistant",
    "content": [{ "type": "output_text", "text": "...", "annotations": [] }] }],
  "usage": { "input_tokens": 36, "output_tokens": 87, "total_tokens": 123 } }
HTTP/1.1 200 OK
content-type: application/json
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
history.concat(second.output)
history << { role: :user, content: "..." }
history = [{ role: :user, content: "..." }]
history.concat(first.output)
history << { role: :user, content: "..." }
input: history, store: false
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
event: response.output_text.done
event: response.content_part.done
event: response.output_item.done
event: response.completed
event: response.created
data: {"type":"response.created","response":{"id":"resp_67c9...","status":"in_progress"}}
event: response.output_item.added
event: response.content_part.added
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67c9...","delta":"Hi"}
{{code:shell b_ask}}
{{code:ruby b_convo}}
{{code:ruby b_stream}}
{{code:ruby a_block1}}
{{code:ruby a_block2}}
{{code:ruby a_block3}}
"Write a haiku about Ruby."
Under a sky full of stars, a small unicorn learned that kindness shines brighter than any horn.
haiku.rb
$ ruby haiku.rb
localhost:3000/chats/1
Chat 1turbo stream
Write a haiku about Ruby.
{{code:ruby a_stream_job}}
app/jobs/chat_stream_job.rb
{{code:ruby a_block3}}
Blocks yield like spring rain, methods bloom in quiet red, joy compiles itself.
image.png report.pdf
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
  { type: :input_text, text: "..." },
  { type: :input_image, detail: :auto, image_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." },
  { type: :input_file, filename: "report.pdf", file_data: "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK..." }
]
content: [
{{code:ruby b_files}}
{{code:ruby a_files}}
{{code:ruby a_files_1}}
{{code:ruby a_files_2}}
{{code:ruby a_files_3}}
a picture and a PDF image/png application/pdf
a local path image/png
a URL image/jpeg
several files, mixed image/png video/mp4 text/plain
"What's the weather in Berlin?"
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
  parameters: { type: :object, properties: { latitude: { type: :number } } },
  required: ["latitude", "longitude"], additionalProperties: false, strict: true }]
input.concat(response.output)
{ type: :function_call_output, call_id: call.call_id, output: JSON.generate(result) }
tools = [{ type: :function, name: "get_weather",
{{code:ruby b_tools}}
{{code:ruby a_tools}}
What's the weather in Berlin?
TOOL CALL
weather(latitude: 52.52,
longitude: 13.41)
{ temperature: 18, wind: 12 }
It's 18°C and breezy in Berlin.
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
POST https://mcp.linear.app/mcp
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { ... } } }
event: message
data: { "jsonrpc": "2.0", "id": 2, "result": { "tools": [ ... ] } }
{{code:shell b_mcp}}
{{code:ruby a_mcp}}
{{code:ruby m_github}}
{{code:ruby m_notion}}
{{code:ruby m_atlassian}}
{{code:ruby m_sentry}}
What's blocking the release?
list_issues
get_issue
Two open issues block the release: a failing migration and a pending review.
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
product = JSON.parse(response.output_text)
required: %w[name price features], additionalProperties: false
product_schema = { type: :object, properties: { name: { type: :string } } }
text: { format: { type: :json_schema, name: "product", strict: true, schema: product_schema } }
{{code:ruby b_schema}}
{{code:ruby a_schema}}
{{code:ruby a_parsed}}
product.txt
hey!! so this is our ruby mug,
it's $18, ceramic & holds 12 oz
oh and its dishwasher safe :)
ships in 2-3 days, ask re: bulk
response.parsed
ruby mug
$18
ceramic
12 oz
dishwasher safe
{{code:ruby a_judge}}
Charged twice for my Ruby Mug. Refund me today!
urgent.probability
0.97
frustration.probabilities
Calm
Frustrated
Angry
{{code:ruby a_refund}}
{{code:ruby a_refund_run}}
app/agents/support_agent.rb
app/jobs/billing_job.rb
APPROVAL NEEDED
APPROVED
SupportAgent wants to run
issue_refund(order_id: 42)
DenyApprove
Refund issued for order 42.
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{"id":"msg_01...","type":"message","role":"assistant","content":[{"type":"text","text":"..."}],"stop_reason":"end_turn"}
x-api-key: ...    anthropic-version: 2023-06-01    max_tokens is required
{{code:shell b_anthropic}}
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{ "candidates": [ { "content": { "parts": [ { "text": "..." } ], "role": "model" } } ] }
x-goog-api-key: ...   :generateContent   v1beta
{{code:shell b_gemini}}
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}
boto3.client("bedrock-runtime", region_name="us-east-1")
response["output"]["message"]["content"][0]["text"]
{{code:python b_bedrock}}
{{code:ruby a_anthropic}}
RESPONSE: TEXT IN HERE
{{code:json r_anthropic}}
{{code:ruby a_gemini}}
RESPONSE: TEXT IN HERE
{{code:json r_gemini}}
{{code:ruby a_bedrock}}
RESPONSE: TEXT IN HERE
{{code:json r_bedrock}}
{{code:ruby a_anthropic}}
{{code:ruby a_gemini}}
{{code:ruby a_bedrock}}
19 providers. One Ruby API.
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_speak}}
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_transcribe}}
{{code:ruby a_speak}}
{{code:ruby a_transcribe}}
0:02
speech.mp3
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_paint}}
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_animate}}
{{code:ruby a_paint}}
{{code:ruby a_animate}}
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_embed}}
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_rerank}}
{{code:ruby a_embed}}
{{code:ruby a_rerank}}
VECTORS
[ 0.0182, -0.0417, 0.1093, 0.0521, -0.0764, 0.0338, -0.0129, 0.0906, -0.0453, 0.0287, -0.0612, 0.0775, … ]
RANKED.RESULTS
4Invoices arrive by email.0.04
1Reset your password in Settings.0.98
5Our office is closed on Sundays.0.01
2Use "Forgot password" to get a reset link.0.91
3Two-factor codes expire after 30 seconds.0.12
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:shell b_ocr}}
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
curl ... -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json"
{{code:ruby b_moderate}}
{{code:ruby a_ocr}}
{{code:ruby a_moderate}}
contract.pdf1 / 3
SERVICE AGREEMENT
1. Term
This agreement starts on the effective date and continues for twelve months.
2. Fees
Fees are invoiced monthly.
# Service Agreement ## 1. Term This agreement starts on the effective date and continues for twelve months. ## 2. Fees
flagged? false
You don't need Python or JavaScript for AI.
Use Ruby.
The Ruby-native AI framework.
$ bundle add ruby_llmrubyllm.com
Another server is three lines away.
And everything else you'd build yourself.
Model fallbacks
claude-sonnet-5✕
claude-haiku-4-5✓
chat.with_fallbacks("claude-haiku-4-5")
Prompt caching
CACHE HIT
chat.with_caching(ttl: "1h")
Extended thinking
effort: high
chat.with_thinking(effort: :high)
Web search
latest Ruby release
Ruby ReleasesThe newest Ruby is out with faster YJIT1
1 ruby-lang.org
chat.with_provider_tools(:web_search)
Citations
Ruby was created by Yukihiro Matsumoto in 1993, as a language for programmer joy.
facts.txt, p. 5
response.citations
Cost tracking
$0.0042
chat.cost.total
Batches
chat 1
✓
chat 2
✓
chat 3
✓
RubyLLM.batch(chats)
Tool approval
issue_refund(order_id: 42)
DenyApprove
chat.approve(tool_call)
The agentic loop
think
act
observe
chat.step until chat.complete?
Compaction
summary of 48 turns
chat.with_compaction(at: 50_000)
Token counting
Ruby is elegant and expressive
012345 tokens
chat.count_tokens(text)
Model registry
claude-sonnet-5visionreasoningcitations
gemini-3.8-flashvisionvideocaching
RubyLLM.models.find("claude-sonnet-5")
RubyLLM
chat = RubyLLM.chat