Claude Code Guide
Set up Flaq AI Claude models and explore Claude Code skills
Try GPT 6.1 Sol API by OpenAI for image understanding, visual questions, and image analysis through Flaq AI's stable, affordable API with streaming responses.
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
Accept: 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-6.1-sol-image-to-text',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'Describe the image and extract any visible text.' },
{
type: 'image_url',
image_url: {
url: 'https://example.com/sample-image.jpg'
}
}
]
}
],
stream: true,
max_tokens: 2048
})
});
if (!response.ok) {
const errorBody = await response.json().catch(() => null);
throw new Error(errorBody?.error?.message ?? errorBody?.message ?? `HTTP ${response.status}`);
}
const reader = response.body.getReader();
const decoder = new TextDecoder();
let buffer = '';
let assistantText = '';
while (true) {
const { done, value } = await reader.read();
if (done) break;
buffer += decoder.decode(value, { stream: true });
const frames = buffer.split(/\r?\n\r?\n/);
buffer = frames.pop() || '';
for (const frame of frames) {
const lines = frame.split(/\r?\n/).filter(Boolean);
let eventName = 'message';
const dataLines = [];
for (const line of lines) {
if (line.startsWith('event:')) {
eventName = line.slice(6).trim();
} else if (line.startsWith('data:')) {
dataLines.push(line.replace(/^data:\s*/, ''));
}
}
const raw = dataLines.join('\n').trim();
if (raw === '[DONE]') {
console.log('\nFinal text:', assistantText);
continue;
}
let payload;
try {
payload = JSON.parse(raw);
} catch {
continue;
}
if (eventName === 'error' || payload.error) {
const msg = payload.error?.message ?? payload.message ?? 'Chat request failed';
throw new Error(msg);
}
const delta = payload.choices?.[0]?.delta;
if (delta?.content) {
assistantText += delta.content;
console.log(assistantText);
}
}
}
import json
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/chat/completions',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json',
},
json={
'model': 'gpt-6.1-sol-image-to-text',
'messages': [
{
'role': 'user',
'content': [
{'type': 'text', 'text': 'Describe the image and extract any visible text.'},
{
'type': 'image_url',
'image_url': {
'url': 'https://example.com/sample-image.jpg'
}
},
],
}
],
'stream': True,
'max_tokens': 2048,
},
stream=True,
)
response.raise_for_status()
event_name = 'message'
assistant_text = ''
for raw_line in response.iter_lines(decode_unicode=True):
if not raw_line:
event_name = 'message'
continue
if raw_line.startswith('event:'):
event_name = raw_line.replace('event:', '', 1).strip()
continue
if raw_line.startswith('data:'):
raw_data = raw_line.replace('data:', '', 1).strip()
if raw_data == '[DONE]':
print('\nFinal text:', assistant_text)
continue
payload = json.loads(raw_data)
if event_name == 'error' or payload.get('error'):
error = payload.get('error') or payload
raise RuntimeError(error.get('message', 'Chat request failed'))
choices = payload.get('choices') or []
if choices:
delta = choices[0].get('delta') or {}
content = delta.get('content')
if content:
assistant_text += content
print(content, end='', flush=True)
curl -N -X POST "https://api.flaq.ai/api/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol-image-to-text",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe the image and extract any visible text." },
{
"type": "image_url",
"image_url": {
"url": "https://example.com/sample-image.jpg"
}
}
]
}
],
"stream": true,
"max_tokens": 2048
}'
| Parameters | Price | Original Price | Discount |
|---|
GPT 6.1 Sol Image-to-Text API connects visual input with written responses on Flaq AI. Supply an image and, when useful, a question to request a description, an explanation of visible content, or a response focused on a particular detail. Developers can use this visual understanding API in image review tools, content workflows, and conversational products, with streaming output and an adjustable response length.
Image-Based Questions: Direct attention to a particular object, relationship, or region of an image through natural-language instructions.
Descriptive Text Output: Request a written description of visible content for review, indexing, or editorial preparation.
Optional Prompt Guidance: Add a question or formatting instruction to shape the response around the information your workflow needs.
Focused Visual Review: Ask about composition, visible objects, or readable image content without turning the request into an image generation task.
Streaming Answers: Present the written response incrementally in a conversational or review interface.
Flexible Response Scope: Set an output token limit and request a short caption or a more detailed explanation.
Input: A supported image, optionally accompanied by a text question or instruction.
Output: A textual description, explanation, or answer about the supplied visual content.
Controls: Prompt-based focus, an optional output token limit, and streamed or non-streamed response delivery.
Capabilities: Visual question answering, image descriptions, and written review of visible image content.
Image Cataloging: Prepare descriptive text for a collection of product or editorial images, with review before publication.
Accessibility Drafts: Generate initial image descriptions that editors can check and adapt to the surrounding content.
Visual Review Assistants: Let users ask questions about a supplied photograph or screenshot.
Creative Analysis: Request observations about composition and visible details to inform a design discussion.
Content Preparation: Turn a visual reference into a written starting point for a caption or brief.
Note Use a clear image and a focused question. Review small-text readings, fine details, and inferred descriptions against the original image; this route returns text rather than edited or generated images.
GPT 6.1 Sol Image-to-Text vs. GPT 6.1 Sol Text-to-Text Text-to-Text receives written messages without image attachments. Image-to-Text is the visual-input route for tasks where the picture itself is needed.
GPT 6.1 Sol Image-to-Text vs. GPT 6.1 Sol File Analysis File Analysis enables document attachments as well as image input. Image-to-Text keeps the workflow focused on visual material and does not accept file attachments in its Flaq AI configuration.
GPT 6.1 Sol Image-to-Text vs. Claude Sonnet 5.5 File Analysis Claude's File Analysis route can also receive images, alongside documents. Compare responses to representative visuals when choosing between image-focused and document-oriented workflows.
GPT 6.1 Sol Image-to-Text vs. GPT 6.1 Sol Web Search Web Search is intended for online research and can accept supporting attachments. Image-to-Text addresses the supplied visual without enabling web search.
Set up Flaq AI Claude models and explore Claude Code skills

Set up Flaq AI GPT models and explore Codex skills
Use Flaq AI LLM models in Hermes Agent
Use GLM 5.2, Kimi K3, and DeepSeek v4 in ZCode
Run DeepSeek Harness with Flaq AI DeepSeek models
Connect AI agents to Flaq image and video generation tools
Use GPT 6 Astra and Claude Fable 5.1 in WorkBuddy