API

Core endpoints, health pages, and example requests.

Base endpoints

/api/v1/

API root with available endpoint overview.

/api/v1/index.php

Compatibility root for clients that send OPTIONS to verify endpoints before the first real request.

/api/status/

Global request percentages, error rate, latency, and per-model success stats.

/api/health/

Health snapshot: provider key counts, recent traffic, and catalog size.

Quick start

curl https://bsod.yufic.ru/api/v1/models/ \ -H "Authorization: Bearer YOUR_KEY" curl https://bsod.yufic.ru/api/v1/chat/completions/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Привет"}],"max_tokens":64}' curl https://bsod.yufic.ru/api/v1/index.php/chat/completions \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Привет"}],"max_tokens":64}'

Access

Account management, API keys, quota policy, and promo codes.

Create account

Dedicated MD3 registration page.

Open register page

Sign in

Dedicated MD3 login page.

Open login page

Support Project

Donate a provider API key for routing and unlock higher tiers after approval.

Login required

You need an account before sending a key for routing review.

Open login page

Models

172 total models loaded from upstream providers.

OPENAI124 models
Loading models…
GEMINI45 models
🔒
all api keys died
Gemini is temporarily locked in this console.
PERPLEXITY3 models
Loading models…

Google AI Studio Playground

Test models dynamically

Model Settings

Documentation

Full route reference for the current proxy surface.

How To Connect

Base URL: https://bsod.yufic.ru/api/v1/ · Compatibility Base URL: https://bsod.yufic.ru/api/v1/index.php · Auth: Authorization: Bearer <API_KEY>

Use the external /api/ prefix everywhere. The console pages under /api/, /api/login/, and /api/register/ are browser pages. Everything under /api/v1/ is API. Use base URL https://bsod.yufic.ru/api/v1, paste your API key as bearer token, and select a model ID from /api/v1/models/. If your client verifies endpoints with OPTIONS and plain /api/v1 fails with 405, switch only that client to https://bsod.yufic.ru/api/v1/index.php.

Quick Start Requests

GET /api/v1/ · GET /api/v1/models/ · POST /api/v1/chat/completions/ · POST /api/v1/responses/

/api/v1/ returns the API root summary. /api/v1/models/ returns the live catalog. For classic chat clients, use /chat/completions. For modern OpenAI-style clients, use /responses. Both require bearer auth and JSON.

curl https://bsod.yufic.ru/api/v1/models/ \ -H "Authorization: Bearer YOUR_KEY" curl https://bsod.yufic.ru/api/v1/chat/completions/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Привет"}],"max_tokens":128}' curl https://bsod.yufic.ru/api/v1/index.php/chat/completions \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Привет"}],"max_tokens":128}' curl https://bsod.yufic.ru/api/v1/responses/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.4","input":"Напиши короткий ответ"}'

Streaming

POST /api/v1/chat/completions/ · POST /api/v1/index.php/chat/completions · POST /api/v1/responses/ · body field: "stream": true

Streaming is supported for OpenAI-backed text models on /api/v1/chat/completions/ and /api/v1/responses/. The proxy forwards the upstream event stream as SSE. If your app insists on an OPTIONS verification step before opening the stream, use /api/v1/index.php/chat/completions as a compatibility fallback. For legacy /api/v1/completions/, streaming is not implemented here, so use chat or responses instead.

curl https://bsod.yufic.ru/api/v1/chat/completions/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -N \ -d '{"model":"gpt-5.4","stream":true,"messages":[{"role":"user","content":"Считай до десяти"}]}' curl https://bsod.yufic.ru/api/v1/index.php/chat/completions \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -N \ -d '{"model":"gpt-5.4","stream":true,"messages":[{"role":"user","content":"Считай до десяти"}]}' curl https://bsod.yufic.ru/api/v1/responses/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -N \ -d '{"model":"gpt-5.4","stream":true,"input":"Напиши 5 коротких пунктов"}'

Monitoring And Metadata

GET /api/catalog/ · GET /api/key-info/ · GET /api/status/ · GET /api/health/

/api/catalog/ is the grouped provider/model catalog for the site UI. /api/key-info/ returns information about the current bearer key. /api/status/ shows aggregated request statistics, success/error rates, and per-model/per-path breakdowns. /api/health/ returns a compact service snapshot with provider key counts and recent traffic.

Text Endpoints

POST /api/v1/chat/completions/ · POST /api/v1/responses/ · POST /api/v1/completions/ · POST /api/v1/embeddings/ · POST /api/v1/moderations/

Use chat/completions for standard chat clients, responses for Responses API clients, completions for legacy text completion, embeddings for vector generation, and moderations for safety checks. The proxy accepts common token aliases like max_tokens, max_completion_tokens, and max_output_tokens and forwards extra compatible fields without the old strict whitelist.

Where To Get Images

POST /api/v1/images/generations/ · POST /api/v1/images/edits/ · POST /api/v1/images/variations/

To generate a new image from text, call /api/v1/images/generations/ with JSON. The returned URLs or base64 payloads are the generated images. To edit an existing picture, use /api/v1/images/edits/ with multipart form-data and upload the source image. To create variations, use /api/v1/images/variations/ with multipart form-data. If you just need to see what is available in this namespace, open GET /api/v1/images/.

curl https://bsod.yufic.ru/api/v1/images/generations/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-image-1","prompt":"cyberpunk cat, neon city, high detail","size":"1024x1024"}'

Where To Get Audio

POST /api/v1/audio/transcriptions/ · POST /api/v1/audio/translations/ · POST /api/v1/audio/speech/

Use /audio/transcriptions/ to convert uploaded audio into text. Use /audio/translations/ to translate speech into English text. Use /audio/speech/ to generate speech audio from text. Transcription and translation are multipart uploads. Speech synthesis is JSON and returns audio content.

Where To Create And Download Video

POST /api/v1/videos/ · GET /api/v1/videos/?id=<video_id> · GET /api/v1/videos/?id=<video_id>&content=1 · GET /api/playground/video-status/?id=<video_id>

Create a video job with POST /api/v1/videos/. The response returns a video job ID. To check status or metadata, call GET /api/v1/videos/?id=<video_id>. To download the final rendered file, call GET /api/v1/videos/?id=<video_id>&content=1. The Playground page uses /api/playground/video-status/ for polling, but API clients should use the /api/v1/videos/ query route.

curl https://bsod.yufic.ru/api/v1/videos/ \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"sora-2","prompt":"slow cinematic drone shot above snowy mountains"}' curl "https://bsod.yufic.ru/api/v1/videos/?id=video_123" curl "https://bsod.yufic.ru/api/v1/videos/?id=video_123&content=1" \ -H "Authorization: Bearer YOUR_KEY" \ -o result.mp4

Realtime Sessions

POST /api/v1/realtime/sessions/ · GET /api/v1/realtime/

Use /api/v1/realtime/sessions/ to mint a realtime session with a model. The namespace route /api/v1/realtime/ only describes the available child endpoint. Realtime session creation is JSON and bearer-token protected.

Files And Uploads

GET /api/v1/files/ · POST /api/v1/files/ · GET /api/v1/files/<id>/ · GET /api/v1/files/<id>/content/ · GET /api/v1/uploads/ · POST /api/v1/uploads/ · GET /api/v1/uploads/<id>/ · POST /api/v1/uploads/<id>/parts/ · POST /api/v1/uploads/<id>/complete/

Use /api/v1/files/ for file listing and multipart file creation. Use /api/v1/files/<id>/content/ to download a stored file. Use /api/v1/uploads/ if your client follows the multipart upload flow with upload objects, upload parts, and explicit completion.

Discovery And Model Detail

GET /api/v1/ · GET /api/v1/models/ · GET /api/v1/models/<model>/ · GET /api/v1/images/ · GET /api/v1/audio/ · GET /api/v1/realtime/ · GET /api/v1/fine_tuning/

/api/v1/ gives the root summary. /api/v1/models/ lists the catalog. /api/v1/models/<model>/ fetches detail for a specific model ID. The namespace routes images, audio, realtime, and fine_tuning describe what child routes exist without actually generating media.

Assistants, Threads, Batches, Vector Stores, Fine-Tuning

ANY /api/v1/assistants/ · ANY /api/v1/assistants/<id>/ · ANY /api/v1/batches/ · ANY /api/v1/batches/<id>/ · ANY /api/v1/fine_tuning/jobs/ · ANY /api/v1/fine_tuning/jobs/<id>/ · ANY /api/v1/vector_stores/ · ANY /api/v1/vector_stores/<id>/ · ANY /api/v1/threads/ · ANY /api/v1/threads/<thread_id>/ · ANY /api/v1/threads/<thread_id>/messages/ · ANY /api/v1/threads/<thread_id>/runs/ · ANY /api/v1/threads/<thread_id>/runs/<run_id>/ · ANY /api/v1/threads/runs/ · ANY /api/v1/responses/<id>/ · ANY /api/v1/responses/<id>/cancel/

These routes are passthrough compatibility surfaces. The proxy forwards the active HTTP method to upstream and automatically adds OpenAI-Beta: assistants=v2 where required for assistants, threads, and vector stores. They use the same bearer auth as the rest of the API.

Web UI And Account Routes

GET /api/ · GET /api/playground/ · GET /api/login/ · POST /api/login/ · GET /api/register/ · POST /api/register/ · POST /api/logout/ · POST /api/create-key/ · POST /api/redeem-code/ · POST /api/admin/promocodes/

/api/ is the main console. /api/playground/ redirects to the Playground tab. Login, register, logout, key creation, promo redemption, and promo management live here. These routes are browser-facing rather than API-client-facing.

Error Handling And Method Help

Structured JSON 404/405 for API routes · Allow header on known method mismatches

If a known endpoint is called with the wrong method, the proxy returns a structured 405 method_not_allowed response with an Allow header and a usage hint. Unknown API paths under /api/v1/, /api/catalog/, /api/status/, and /api/health/ return JSON 404 invalid_request_error.

Limits

PRO text: 100k/day · BASE text: 500k/day · Images: 10/day · Audio: 25/day · Sora 2 Pro: 1/day · Sora 2: 3/day · Other video: 5/day · Files: 5/day

Daily media and token caps apply to regular users. Promo credits are additive one-time grants attached to the active API key. For image, audio, and video clients, treat successful upload/generation requests as billable even if the downstream asset is fetched later with a separate download request.