Quickstart
1. Sign up at console.shinloo.com and create an API Key (sk-sl-…).
2. Point your tool at the base URL below.
3. Send your first request.
| Your tool's protocol | Base URL | Example call |
|---|---|---|
| OpenAI-compatible SDK / Chat | https://api.shinloo.com/v1 | POST /v1/chat/completions |
| DeepSeek SDK / Messages | https://api.shinloo.com | POST /v1/messages |
| Responses (AI coding tools) | https://api.shinloo.com/v1 | POST /v1/responses |
Try it with curl (OpenAI-compatible):
curl https://api.shinloo.com/v1/chat/completions \
-H "Authorization: Bearer sk-sl-…" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-pro","messages":[{"role":"user","content":"Say hello in one line"}]}'
Use GET /v1/models at any time to query the live model list for your Key — the catalog is always current and applies per Key.
Protocols and endpoints
The three wire formats share the same Key and the same balance. Request bodies and responses are byte-compatible with the upstream APIs — just point the official SDK at the matching base URL.
- Chat Completions — messages in the Chat Completions format, function calling, SSE streaming. Suited to OpenAI-compatible SDKs, Cherry Studio and most tools.
- DeepSeek Messages — x-api-key header + anthropic-version. Used by DeepSeek Code and the DeepSeek SDK.
- Responses — a modern protocol for agents, used by coding tools and extensions.
If a third-party client spells the path wrong, add or remove /v1 in the base URL — the gateway accepts both forms and normalises them internally.
Video generation
Video generation supports Wan 3.0 (including Prime), Wan 2.6 (text-to-video / image-to-video), HappyHorse 1.1 text-to-video and reference-to-video. It uses the same API key and the same balance as the chat models.
- Web version:open /video, paste your key and describe the scene to generate.
- API calls:POST /v1/video/generations, parameters {model, prompt, resolution, duration} → returns task_id; poll GET /v1/video/tasks/{task_id}, status = succeeded , and when video_url use it as the finished video.
- Models:wan3.0-video, wan3.0-video-prime, wan2.6-t2v, wan2.6-i2v, happyhorse-1.1-t2v, (reference-to-video, billed per call by the upstream vendor).
- Price (per 5 seconds):Wan 3.0 480P ¥1.50 / 720P ¥3.00 / 1080P ¥6.00; Wan 3.0 Prime 480P ¥2.25 / 720P ¥4.50 / 1080P ¥9.00; Wan 2.6 720P ¥3.00 / 1080P ¥5.00; HappyHorse 1.1 480P ¥2.25 / 720P ¥4.50 / 1080P ¥6.00. Billed when the task is accepted, refunded automatically if generation fails.
- Note:generation usually takes 1–3 minutes; the finished-video link is temporary, so download it promptly.
Tool setup
provider = "openai"
base_url = "https://api.shinloo.com/v1"
api_key = "sk-sl-…"
model = "glm-5.3" # any model on this platform
Billing and tokens
- Credit never expires.Top up online with WeChat Pay or Alipay (minimum ¥100, or any custom amount): on theplans pagechoose a pack → scan and pay → the balance is credited automatically, usually within a minute, with no order number to submit.
- New accounts that register(and complete email verification) get ¥10 in test credit, so you can verify gateway quality before buying credit.
- Metered per request: input, output, cached input and reasoning tokens. Streaming and non-streaming cost the same.
- Retail pricing: every model is billed at theofficial list pricepublished by each vendor, with no hidden multiplier and no raise-then-discount.Prices are stable long termand do not swing with promotions.
- The console shows your balance and per-Key usage; on the server side use GET /v1/balance to query the balance.
- Invoices.Enterprise customers can request a VAT invoice (general / special),for the actual amount spent, and the title must match the verified entity; send the title and tax ID to support and it is issued within 7 business days. Unused top-up balance cannot be invoiced and can be refunded directly.
Vision models
qwen3.8-max, qwen3.8-flash, minimax-m3, and others support image understanding: read screenshots and documents, OCR, analyze photos. They share the same API key and balance as the chat models.
- Call format(OpenAI-compatible):
POST /v1/chat/completions { "model": "qwen3.8-max", "messages": [{ "role": "user", "content": [ {"type": "text", "text": "describe this image"}, {"type": "image_url", "image_url": {"url": "https://example.com/pic.jpg"}} ] }] } - Price:the same as a text call to the same model (e.g. qwen3.8-max ¥12.00 / ¥36.00 per million tokens). Images are billed by image tokens, roughly 100–1400 tokens per image depending on size.
- Image source:a publicly reachable URL, or inline base64 (data:image/png;base64,...).
Error codes and rate limits
| Status code | Meaning | What to do |
|---|---|---|
| 400 | Malformed request body / model not in your Key's catalog | Check the model ID against GET /v1/models . |
| 401 | Key missing or invalid | Check the Key in the request header |
| 402 | Insufficient balance | Top up (WeChat Pay / Alipay) |
| 404 | Endpoint does not match the model family | Use the correct base URL from the protocol table |
| 429 | This Key's rate limit was hit | Wait, or raise the limit in the console |
| 5xx | Upstream vendor problem | Wait and retry; check /healthz |
Keys have a conservative per-minute request limit by default, adjustable per Key in the console. When an upstream is interrupted the gateway returns 5xx while GET /v1/models and /healthz stay healthy — use this to tell an upstream problem from your Key.
Questions? Email support@shinloo.com — in English or Chinese.