image_url inside a message’s content to let the model understand an image (image input, not image generation).
curl https://tokendog.io/v1/chat/completions \
-H "Authorization: Bearer $TOKENDOG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"gpt-5",
"messages":[{"role":"user","content":[
{"type":"text","text":"Describe this image."},
{"type":"image_url","image_url":{"url":"https://example.com/cat.png"}}
]}]
}'
from openai import OpenAI
client = OpenAI(base_url="https://tokendog.io/v1", api_key="YOUR_TOKENDOG_API_KEY")
resp = client.chat.completions.create(model="gpt-5", messages=[{"role":"user","content":[
{"type":"text","text":"Describe this image."},
{"type":"image_url","image_url":{"url":"https://example.com/cat.png"}},
]}])
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({ baseURL:"https://tokendog.io/v1", apiKey:"YOUR_TOKENDOG_API_KEY" });
const resp = await client.chat.completions.create({ model:"gpt-5", messages:[{role:"user",content:[
{type:"text",text:"Describe this image."},
{type:"image_url",image_url:{url:"https://example.com/cat.png"}},
]}]});
console.log(resp.choices[0].message.content);
Vision-capable models (e.g.
gpt-5, gemini-2.5-flash, claude-sonnet-4-6) accept image input.