QUICKSTART

Get a vision call working in 60 seconds. Grab a key from the dashboard.

curl https://api.eyeofiris.tech/v1/chat \
  -H "Authorization: Bearer YOUR_IRIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "iris-vision-70b",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "what is in this image?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/cat.jpg"}}
      ]
    }]
  }'

OpenAI-compatible shape — drop-in for any app using gpt-4o vision messages.

Authentication

Bearer token in the Authorization header. Keys are prefixed iris_, scoped to one billing wallet, revocable any time.

Migrate from OpenAI vision

Python (openai 1.x):

from openai import OpenAI
client = OpenAI(
    base_url="https://api.eyeofiris.tech/v1",
    api_key="YOUR_IRIS_KEY",
)
r = client.chat.completions.create(
    model="iris-vision-70b",
    messages=[{
        "role":"user",
        "content":[
            {"type":"text","text":"what's in this screenshot?"},
            {"type":"image_url","image_url":{"url":"data:image/png;base64,..."}}
        ]
    }],
)
print(r.choices[0].message.content)

That's it. Streaming, tool calls, JSON mode all work identically.

Chat with vision

Endpoint: POST https://api.eyeofiris.tech/v1/chat

Response shape matches OpenAI plus extra headers: x-iris-node (which node served), x-iris-cost ($IRIS deducted).

Streaming responses (SSE)

Set stream: true for token-by-token output as text/event-stream:

data: {"choices":[{"delta":{"content":"a "}}]}
data: {"choices":[{"delta":{"content":"cat"}}]}
data: {"choices":[{"finish_reason":"stop"}]}
data: [DONE]

Function calling

Pass the same tools spec as OpenAI. Model returns tool_calls in the assistant message; you execute and feed result back as a tool-role turn. Works on all vision models.

Image + text embeddings

Endpoint: POST https://api.eyeofiris.tech/v1/embeddings

Multi-modal embedding model iris-embed-clip-v1 — single vector space for text and images. 1024 dims. Use for visual search, dedup, and retrieval over your image library.

Available models

Sampling parameters

Defaults: temperature=0.7, top_p=1.0, max_tokens=4096. Vision tokens cost 2× text tokens.

Run a node

One-liner install (Linux/macOS):

curl -fsSL https://eyeofiris.tech/install | sh

The installer detects your GPU(s), proposes a safe thermal cap, asks for the Base address that should receive payouts, and registers your endpoint with the routing layer. Stop any time with iris stop.

Billing & $IRIS

Per-million-tokens pricing, denominated in $IRIS, roughly 30% cheaper than centralized vision APIs at comparable model size. The protocol burns 1% of inference revenue, deflationary tied to network usage.

Limits

Error codes

SDKs

Community