MindQ · документация
API компьютерного зрения: сегментация и детекция на GPU.
Совместим с curl, requests и любым HTTP-клиентом.
1. Получите ключ
- Зарегистрируйтесь — почта и пароль, ключ создаётся сразу.
- Кабинет → Доступ → «Заменить ключ» покажет ключ один раз.
mq-… — храните его как пароль.
2. Сделайте первый запрос
curl https://cpu.mindq.ru/v1/segment \
-H "Authorization: Bearer mq-ВАШ-КЛЮЧ" \
-F "model=mindq/sam3" \
-F "image=@photo.jpg" \
-F 'params={"prompt": "dish of food", "threshold": 0.4}'
Python:
import base64, requests
r = requests.post(
"https://cpu.mindq.ru/v1/segment",
headers={"Authorization": "Bearer mq-ВАШ-КЛЮЧ"},
files={"image": open("photo.jpg", "rb")},
data={"model": "mindq/sam3"},
)
data = r.json()
print(data["timing"], data["result"]["n_instances"])
# маска каждого объекта — base64-PNG:
png = base64.b64decode(data["result"]["instances"][0]["mask_png_b64"])
3. Эндпоинты
| Эндпоинт | Для чего |
|---|---|
GET /v1/models | каталог моделей: цены, параметры по умолчанию |
POST /v1/segment | инференс: form-data model + image (файл)
или image_b64, опционально params (JSON) |
GET /v1/me | баланс и лимиты ключа |
POST /v1/jobs | очередь: тот же формат, что /v1/segment,
но отвечает мгновенно {"job_id": "job_…"} — можно слать пачками,
задания обрабатываются параллельно (по моделям) |
GET /v1/jobs/{id} | статус задания: queued / running / done (+result) / error; результат хранится 24 ч |
4. Модели и цены
| model | Тип | Цена/запрос | Параметры |
|---|---|---|---|
mindq/sam3SAM 3 — сегментация по тексту |
segmentation | 10 units | prompt=dish of food threshold=0.4 max_side=1024 |
mindq/yoloeYOLOE — детекция+маски по текстовым классам |
detection | 2 units | classes=plate,bowl,tray,cup,glass,mug,saucer,food container,packaging conf=0.2 |
mindq/isnetisnet — маска главного объекта |
matting | 1 units | model_name=isnet-general-use |
mindq/birefnetBiRefNet — салиентная сегментация (точнее isnet) |
matting | 2 units | rembg_model=birefnet-general mask_threshold=128 |
mindq/birefnet-liteBiRefNet-lite — то же, вдвое быстрее |
matting | 1 units | rembg_model=birefnet-general-lite mask_threshold=128 |
mindq/fastsamFastSAM-s — «сегментируй всё» (быстрый) |
segmentation | 2 units | weights=FastSAM-s.pt conf=0.4 iou=0.9 imgsz=1024 |
mindq/fastsam-xFastSAM-x — «сегментируй всё» (точнее, тяжелее) |
segmentation | 4 units | weights=FastSAM-x.pt conf=0.4 iou=0.9 imgsz=1024 |
mindq/florence2Florence-2 — сегментация по тексту (+полигоны) |
segmentation | 8 units | prompt=food dish |
mindq/depthDepth Anything V2 Small — карта глубины |
depth | 2 units | hf_model=depth-anything/Depth-Anything-V2-Small-hf |
mindq/depth-largeDepth Anything V2 Large — глубина (точнее) |
depth | 4 units | hf_model=depth-anything/Depth-Anything-V2-Large-hf |
mindq/qwen-vlQwen2.5-VL 3B — VLM (ответ текстом на вопрос о фото) |
vlm | 15 units | hf_model=Qwen/Qwen2.5-VL-3B-Instruct max_new_tokens=256 |
mindq/easyocrEasyOCR (GPU) — текст на фото |
ocr | 3 units | langs=['en', 'ru'] min_conf=0.3 upscale=2.0 |
5. Ответ и ошибки
{
"request_id": "req_…",
"model": "mindq/sam3",
"result": {
"instances": [ {"score": 0.93, "box": [x1, y1, x2, y2], "mask_png_b64": "…"} ],
"union_mask_png_b64": "…",
"n_instances": 2
},
"image": {"w": 1200, "h": 900},
"timing": {"queue_ms": 3, "infer_ms": 620, "total_ms": 700},
"cost_units": 10
}
Ошибки приходят как
{"error": {"code": "...", "message": "..."}}:
401 нет ключа · 404 нет модели · 413 файл больше 20 МБ ·
429 лимит 100000/мин или больше 2
одновременных запросов (используйте /v1/jobs) · 5xx сбой инференса.