Definitions
What each number means, how it is converted, which conclusions we refuse to draw, and the open data you can take.
Definitions · what each number means (public, kept permanently, changes versioned)
Every published number traces back to a rule here and a snapshot. The rules themselves need sources too.
1. Reading relay panel quotes (one-api / new-api family)
Source:/api/pricing(public, no login) + /api/status(public).
| Field | Meaning | Source |
|---|---|---|
model_ratio |
Nominal USD per M input tokens = model_ratio × 2 |
new-api common/constants.go:QuotaPerUnit = 500*1000 // $0.002 / 1K tokens |
completion_ratio |
Output price = input price × completion_ratio | Same as above |
group_ratio[group] |
Group multiplier, applied to the nominal price | /api/pricing returns |
quota_type=0 |
per token (use the two lines above) | new-api model/pricing.go:389 |
quota_type=1 |
per call,model_price is nominal USD per call |
new-api model/pricing.go:384 |
quota_type=2 |
per second,model_price is nominal USD per second. Upstream has no such type; added by a fork |
toapis front-end rendering code:1===quota_type ? "/req" : 2===quota_type ? "/s" |
model_type |
0 video / 1 image / 2 text / 3 audio | toapis front end:{video:0,image:1,chat:2,audio:3} |
pricing_version |
Site-wide pricing hash; changes when any model changes | /api/pricing returns; used for change detection, excluded from comparison |
取哪个分组:默认取 default 分组。站上根本没有 default 分组(所有模型都只对具名分组开放)时,取该模型公开分组(usable_group 列出的)里倍率最低的一个,分组名与倍率记在该条报价的证据里。有 default 分组的站不受影响。(2026-10-13 起)
One row per name (from 2026-10-14)
A site often lists the same model under several names (claude-opus-5, claude-opus-5-thinking, provider-prefixed, dated); each may have its own price and group. Every site-side name is recorded and tracked for price changes separately. The site page shows one representative name per model by a fixed rule: (1) the name that is exactly the standard name, (2) the shortest name, (3) the cheaper one; the count and price range of the other names are shown underneath. Before this, names were merged under the standard name and overwrote each other, so which name the page showed was close to random; see the corrections log.
Delisted means removed
A model the site removes from its pricing endpoint is no longer shown from the next fetch on (previously it stayed on the page indefinitely). If a fetch parses fewer than 40% of the previous rows, the endpoint is treated as incomplete and nothing is delisted. Delistings do not count as price changes.
Unpriced placeholders are excluded
new-api gives models the admin has not priced a default ratio of 37.5 (shown on the panel as $75 per million); this is not a price set by the site. Rows whose ratio is exactly 37.5 with no dynamic pricing expression are not recorded (except GPT-4.5, whose official input price is $75 per million).
Time-of-day prices
Where a dynamic pricing expression includes time-of-day multipliers (e.g. ×2 from 9–12 and 14–18 Beijing time), we record the off-peak price and the site page states the surcharge hours and multiplier.
Listed price vs effective price
The site page shows both the listed price on the site's panel (site credits per million tokens, checkable line by line on the site) and the effective price after the top-up rate and FX. The site's own page may show a member-group price by default; we use the default group.
Sites that publish no default group (added 2026-10-18)
When a site's published groups (group_ratio / usable_group) do not include default, users cannot pick default or see its multiplier even if models are internally attached to it; such sites are treated like sites with no default group: each model uses its lowest-multiplier public group, and the site page's “pricing group” line and comparison pages say which. A change of pricing group does not count as a price change.
Site-wide uniform multipliers are treated as panel defaults (from 2026-10-18)
If, among a site's token-priced models (≥20), over 60% share the same multiplier and flagship and small models cost the same, this is treated as a panel default rather than a real price: the site is marked “pricing under review”, nominal quotes only, no ratios, excluded from rankings, the index and comparison pages.
2. Nominal USD → what users actually pay
Panel prices are "nominal USD". What users pay depends on how much is charged per $1 of nominal credit at top-up:
Effective USD = nominal USD × price ÷ USD/CNY rate (CNY top-up channel) Effective USD = nominal USD × stripe_unit_price (Stripe USD channel)
| Field | Source |
|---|---|
price = CNY charged per $1 of nominal credit, default 7.3 |
new-api setting/operation_setting/payment_setting_old.go:16;controller/topup.go:175:payMoney = amount × Price × topupGroupRatio × discount |
stripe_unit_price default 8.0; the default is treated as not configured |
new-api setting/payment_stripe.go:6;controller/topup_stripe.go:441 |
| FX rate | independent evidence source, snapshotted each run (open.er-api.com) |
When the two channels differ by ≥1.5×, the sentence notes "via CNY channel" and appends the Stripe price.
Two factors we can't obtain(topupGroupRatio、AmountDiscount) can only make the effective price lower → our ratio is anupper bound, the conservative direction.
Site-level price profile (based on mainstream models from 2026-10-14)
The labels “ultra-low / below bulk discount / near public price / above public price” on site pages and the site list are set by the median, across the site's mainstream models (the 40 models in the model ledger), of effective price as a share of the reference price: under 15% is ultra-low, 15%–40% below bulk discount, 40%–125% near public price, over 125% above public price. Sites with fewer than 3 comparable mainstream models fall back to the median across all their comparable models, and say so. The all-model median is shown alongside. Previously the label used all comparable models and could be skewed by extreme pricing of niche models (e.g. aigcbest.top: 267% across all 205 models, 52% across 37 mainstream models); after the change, 70 of 566 profiled sites changed label; see the corrections log.
3. Cost-floor ratio
Ratio = relay effective price ÷ lowest public-channel price for the same model indexed here
- The denominator is thelowest value across official + marketplace (OpenRouter-listed provider prices); with multiple tiers (off-peak/peak, resolution) the lowest is taken → ratio biased high; under-label rather than over-label
- Bands: <0.15 mathematically unsustainable with no subsidy assumed · 0.15–0.40 well below common bulk discounts · 0.40–0.75 explainable by bulk discounts · 0.75–1.25 near public price · 1.25–3 above public price · ≥3 well above
- Outlier gate: ratio <0.05 or >5 with any link of the conversion chain missing evidence → not published until checked. Complete chains pass (the gate guards against our errors, not against extreme facts)
- Three supplementary definitions for image / video (2026-09-14): ① Duration — the site's model name states a per-call duration (e.g.
_10、-8s) it is converted by that; otherwise the family's default duration is used and noted; ② Resolution: sizes like 480p/720p/1080p/2K or 1080*1920 in the site's model name are matched to the official price of the same tier first; only when the official list has no such tier is the lowest tier used, noted as "ratio on the high side"; ③ Family assignment: judged by brand name first (Wan, HappyHorse, Vidu…); generic terms like "t2v / i2v" are used only when no brand name is present. They were previously misassigned to the Hailuo family; this has been corrected. Any multimodal row with a price ratio <5% or >500% is marked "unverified", excluded from comparison and from the rankings. - Model-name normalisation v2: strip vendor prefix, strip
:batch/:free, strip date suffixes, strip-officialand other relay-added suffixes; between digits-→.
4. Wording
Every public sentence passes core/wording.py: banned terms are blocked outright; quality conclusions must carry sample size, time window and confidence; discovery pages ban all recommendation language. Fixed closing sentence: "This is an arithmetic ratio. It is not an accusation against the vendor, and a lower public source not yet indexed here may exist."
5. Known limits
- DeepSeek's official price is in CNY; converted to USD at the snapshot rate before entering the denominator
- Multimodal: only Google Veo's official per-second price is comparable so far; Seedance / Kling / Hailuo / Vidu official pages are JS-rendered, references pending; quotes listed without comparison
- Per-call image models (gpt-image / seedream / flux): resolution and image count per call unknown, not compared
6. Outbound links /go/<domain> and referral parameters
Entry: every indexed site's fact page and comparison table has a "Visit" link. Redirects go through our /go/<domain> relay (Cloudflare Worker,site/worker_go.js), 302 to relay_candidate.site_url. Only per-site click counts are stored,no IP / UA / Referer stored;Referrer-Policy: no-referrer。
Target URL guard: the site's /api/status server_address is used only when "https + public hostname + same registered domain as indexed"; otherwise fall back to https://<domain>/(helpcoder.cc was observed configured as http://localhost:3000/)。
Referral parameters (off by default,REFERRAL_ENABLED=0). If enabled, hard constraints live in code: 1. ranking, judgements and any ratio never read the referral_url field (Promise I) 2. entries with referral parameters render with an "Ad" label,rel="sponsored nofollow"(Promise II / Internet Advertising Measures) 3. detection report pages and quality measurement pages never show this entry, only in the "Visit" column of fact pages and comparison tables (Promise IV) 4. per-site clicks are public; referral revenue share published quarterly (Promise V) 5. configured only for sites with an official referral programme referral_url, and that site's detection results are published as usual, wording unchanged by the relationship
Open question: taking referral fees from measured relay sites conflicts with "no money from those we measure"; that is CCTest's path. The field and switch are ready; turning it on is a product decision, not a technical one.
7. Multimodal (image / video) comparison
Classification:core/modality.py Split by model name into image / video / audio / other (family regexes). Names containing image/img/t2i/i2i but not video/i2v/t2v are treated as image first; audio/voice/lip-sync go to audio. Validated against toapis model_type ground-truth labels, 97%.
Unit conversion: - relay per-second (quota_type=2) vs official per-second: compared directly - relay per-call vs official per-second:effective per second = effective per call ÷ the family's default clip length. Default lengths (from each vendor's API docs): Veo 8s (4/6/8), Kling 5s (5/10), Hailuo/H3 6s (6/10), Seedance 5s (5/10), Vidu 4s (4/8), Wan 5s, Sora 10s.Every conclusion states "converted at the default N seconds; if the site's call covers a longer clip, the ratio is biased high"
- Image: relay per-call vs official per-image. The official lowest-resolution tier is the denominator; FLUX is priced per megapixel officially, 1 image counted as 1MP (≈1024×1024) - always the conservative direction: assumptions only bias the ratio high; under-label rather than over-label
Reference price sources: Google Veo / Nano Banana (ai.google.dev pricing), Kling video and image (kling.ai/dev/pricing embedded JSON), MiniMax H3 (platform.minimax.io pay-as-you-go page), BFL FLUX (bfl.ai/pricing). Not integrated: Seedance / Seedream, Vidu, Wan / Qwen-Image (client-rendered pages), Sora / GPT Image (OpenAI 403), Midjourney (no per-call API price) — quotes listed, no ratios.
Sora reference price withdrawn (noted 2026-10-07): OpenAI announced on 2026-03-24, and on 2026-09-24 removed from its API, the Videos API and all Sora models (sora-2, sora-2-pro and their snapshots; see OpenAI's deprecations page); the official pricing page has not listed Sora in any fetch since 2026-09-27. Handled as a reference-source change under item 3: the Sora official reference price is void from 2026-09-24; relay quotes for Sora still on sale are listed without ratios and kept off the multimodal boards. Ratios computed from 15 to 24 September at the then-official price remain in those snapshots and in the monthly report and are not revised retroactively. Between then and 7 October the family page still showed ratios against the 15 September official price; this is recorded in the corrections log.
Nano Banana per-generation comparison (from 2026-10-11)
Google prices each Nano Banana generation separately (standard paid tier on the ai.google.dev pricing page, image tokens converted to a per-image price): 2.1 (gemini-nano-banana-2.1) 1K $0.0336; 2 (gemini-3.1-flash-image) 1K $0.067; 2 Lite (gemini-3.1-flash-lite-image) 1K $0.0336; Pro (gemini-3-pro-image) 1K/2K $0.134. Relay quotes are assigned to their generation by model name (1k/2k/4k in a name is a resolution, not a version) and compared only with that generation's official price; where the site states a resolution the matching tier is used, otherwise the official default 1K tier. The original Nano Banana (gemini-2.5-flash-image) was shut down by Google on 2026-10-02 and is listed without ratios. Before this (2026-09-02 to 10-11) the whole family wrongly used a single reference price; see the corrections log.
GPT Image
OpenAI bills GPT Image (including 2.5 Flare / Sunburst) by image tokens, so the cost of one image varies with size and quality and there is no official per-image price; relay quotes are therefore listed without ratios. 4k in a model name is a resolution and is not treated as a version number.
Older-version note: when a site sells Kling v1/v2, Veo 2 or Hailuo 02 but the reference is the newer official price, the sentence says so (older official prices are usually lower → ratio biased high).
Media site-level gate: if a site's median media-row ratio is <0.01 or >30 → the whole site becomes "pricing basis unverified" with no ratios; rows with effective price <$0.0005 are treated as placeholders and skipped.
Chinese image / video official references (from 2026-09-03)
- Volcengine Seedance / Seedream: list prices from the official pricing docs, video per second and images per image in CNY; time-limited discounts go into conditions, not the price.
- Alibaba Bailian Wan / Qwen-Image: list prices from the official pricing page (single region, region noted).
- Shengshu Vidu: officially priced in credits; converted to CNY per second at the published credit price, standard-hours rate, off-peak rates noted in conditions.
- CNY references are converted to USD at the day's USD/CNY rate before comparison with relay effective prices; the reference is marked "CNY converted".
- Kling's domestic pricing page is fully client-rendered and its API requires login, so only its international USD price is kept; MiniMax uses the international USD price (H3 series).
Rounds with faults on our side excluded (from 2026-09-15): One reachability probe round per hour; if market-wide uptime in a single round falls below 50%, it is classed as our own network failure rather than a site failure, and that round is excluded from every site's uptime and latency. When triggered, the rankings page and monthly report state how many rounds were excluded. Previously, from 9/11 at 18:00 to the 12th at 2:00 our side was offline for 9 rounds, which had pulled every site's 7-day uptime down to 93%; this has been recalculated.
8. Consistency probe (T1 fingerprint)
- Prerequisite: only for relay sites we can call with a key we registered ourselves; keys live only on our machine in
data/keys.env, never in the repo, logs or pages. - Method: for every model a site declares, send a fixed set of probe requests (identical across sites and days; composition undisclosed to prevent targeted responses) asking for very few output tokens. Record the returned usage counts, echoed model name, time-to-first-byte and HTTP status. Cost per site per model is a fraction of a cent.
- Comparison: same model, same probe, different tokenizers give different token counts. When enough channels report an identical set of counts for a model, that set is the model'sconsensus cluster; a channel whose counts differ from the cluster is recorded as "counts differ from peers"; too few consensus channels is recorded as "too few peers" with no conclusion. An echoed model name that differs from the request gets the note "echo differs".
- Wording: this is aconsistency measurement, not a verdict on authenticity; no accusatory words. Pages show only consistent / differs / too few peers, plus success count and date.
- Limits: a relay may route one model to several upstreams at random; one probe round only covers the upstream hit at that moment. Per-call models are not probed.
- Data:
probe_t1table (one row per probe); export uses the latest row per site × model × probe from the past 7 days for consensus;data_v2.jsoncarries per rowprobe{status, ok, n, echo, peers, ts}。
9. Data audit (errors must not depend on users to find)
Every night, after pulling prices and before publishing boards, four automated checks run; any row they flag is marked "under review", excluded from comparison and from every board, until we verify the raw record and release it or fix the parser:
- Field drift: when a site's pricing endpoint shows a field we do not recognise, it is listed for a human look. On 2026-09-06 this is how we found sites declaring "per second" in an extra field that we had read as per call.
- Unit hints: an image / video quote priced per call whose raw text says "per second" → under review.
- 统一口径(2026-09-20 起):图像与视频账本里,视频一律折成每秒($/秒),图像一律按每张($/张),全站同一口径,族区间与中位数只用这个口径计算。折算依据逐行标注:站方本来就按秒报价的直接用;模型名里写了时长的(如
veo3.1-8s)按它折算;两者都没有的按该族公开的默认时长折算,标"按默认 N 秒折算";没有公开默认时长的族(PixVerse、HappyHorse、Midjourney 视频等)不折算,只列原始报价、不进族中位。原始报价与单位仍保留在 media.json 的eff/unit字段,统一口径值在val,依据在val_basis(native / stated / assumed)。 - 单位嫌疑(2026-09-20 新增): 面板没写计价单位、我们按惯例当成"按次"的图像 / 视频报价,如果"按次读"低于同型号官方参考价的 25%(异常低),而"按每秒读"正好落回 40%–150%(正常),就判为单位嫌疑:该行待核,不进比对与榜单,并由站长通知去问对方的实际口径。这是嫌疑不是结论,我们不替站方改单位; 站方回复后按原文记录,并把修正署名写进修正日志。规则来源: 2026-09-20 relaydance.com 站长指出我们把按秒计费的超分接口读成了按次.
- 后处理接口不进生成族(2026-09-20 新增):超分、增强、插帧、修复这类对已有图像 / 视频做后处理的接口,不是生成模型,不计入生成模型族的价格比对与中位数。
- Lone outliers: within one family, a site whose per-second (images: per-image) effective price is below 35% of the family median and more than 50% below the second-cheapest site → under review until a second site shows a similar price.
- Leader gap: on any multimodal board, a leader more than 40% below the runner-up with no second site close to it is held out. The board page states how many rows are under review this week.
Releases are logged with date and note. These rules do not aim for zero misses; they guarantee one thing: a single site's anomalous low price never takes a board's top spot automatically.
10. Inclusion and retirement
How new sites are found (channels, all automated, daily)
- Certificate transparency logs: a new site needs an HTTPS certificate before launch, and certificates go into public logs. We read a slice every hour and probe only first-seen domains. The earliest signal, but a low hit rate.
- Directories and navigation sites: public directories such as aiapirank, howtok and community navigation pages, re-harvested weekly for new domains.
- Public communities: posts on NodeLoc and V2EX public APIs containing terms like "relay / community site / new-api", extracting domains from the body. linux.do requires an invitation and blocks anonymous access, so it is not used.
- Adjacency expansion: outbound links and alias domains on newly listed sites; relays cross-promote, and new sites often appear first in older sites' links.
- User submissions: signed-in users enter a domain on the site list page; processed that night. Domains only, no referral parameters.
- Public Telegram channels: almost every relay has a channel for launches and deals. Channel names are collected from listed sites' pages and community posts; public preview pages are read (no account needed, public channels only) and domains extracted from messages.
- Content fingerprint: in-house aggregators that run no open-source panel (kie.ai and the like) leave no panel fingerprint. For reachable domains without a panel signature we read a few public pages; only a page naming model families from ≥4 competing vendors counts as a "multi-vendor aggregator" and gets listed. A verifiable count, not a label of whether it is a relay.
How a relay is confirmed (one ordinary GET): most relays run one of two open-source panel families: metered one-api / new-api, and subscription-based Sub2API (the dominant panel for Claude Code and Codex subscription relays in 2026), each with a fixed-shape public status endpoint. Sub2API sites sell plans with prices behind login, so we list only publicly verifiable facts (panel type, whether registration is open, sign-in methods, reachability) and do not compare plans. A match is listed as "confirmed"; a domain returning only auth errors with no panel signature is a "weak fingerprint", kept off the list, and promoted only if a later pricing-endpoint check returns quotes. No port scanning, no circumventing technical measures, one probe per domain; vendor and infrastructure domains (openai.com, claude.ai, cloudflare.com and so on) are excluded outright.
Ongoing verification after listing: hourly reachability probes (availability and time-to-first-byte); daily pricing pulls; daily registration-entry checks (closed sites stay off boards); consistency probes and capability samples daily on sites where we hold a key.
Retirement: no successful probe in 7 consecutive days over at least 100 attempts → marked "unreachable for 7 days": page kept, excluded from all boards and reachability statistics. It recovers automatically once reachable again.
11. Sinan Token Price Index
Published daily: what a million tokens costs on China's relay market. The sample is confirmed relays not flagged "pricing basis under review", and each latest-two-generation mainstream model's effective price per million output tokens (same formula as the ledger: panel list price × top-up ratio ÷ exchange rate).
- Per model per day: cross-site median, 25th/75th percentiles, site count; models with fewer than 15 quoting sites that day are excluded.
- Ratio = market median effective price ÷ official reference. Three tiers by official price: flagship ≥$20/M, mid $2–20/M, fast <$2/M; tier and whole-market discount and median take the median across models. A daily snapshot, affected by models entering or leaving.
- Level: 2026-09-02 = 100, chained by the geometric mean of day-over-day changes in the medians of models present on both days; unaffected by composition, used for direction.
- History: rebuilt day by day from each quote's validity interval.
- Data file
/price-index.jsonupdated daily; cite as "Sinan Token Price Index, compute.sinanlab.com".
Task cost: the capability sample sends every model the same 30 short tasks daily and records the input / output tokens each task actually consumed; the cross-channel median times the official and market-median prices gives "what the same job costs on each model".
12. GPU rental ledger
Daily per-GPU hourly prices for mainstream GPUs (RTX 4090 / 5090 / A6000 / L40S / A100 / H100 / H200 / B200) on public rental platforms: RunPod secure and community cloud list prices (public API), Vast.ai on-demand minimum and median (public API, hosts with ≥95% reliability only; the median better represents what you can actually get), and the 4090 starting price on suanli.cn. USD is the original quote, CNY converted at the day's rate; every row carries a fetch time and raw snapshot. Most Chinese platforms show prices only after login; being connected. Data file /gpu.json。
13. Cost-floor assumptions (public)
Section 3's "<0.15 mathematically unsustainable" is an arithmetic band; here are the assumptions behind it, laid out for checking and rebuttal.
Why 15%: the most common relay pricing is "copy the official USD list price, sell $1 of quota for ¥1". At an exchange rate of 6.7 that is exactly 14.8% of the official price. The 15% line therefore places all "¥1 per $1" sites in "below cost floor". Whether they can keep selling that way depends on their upstream; we do not speculate, we only flag it.
Closed models (GPT, Claude, Gemini and the like): no open weights, so every channel ultimately pays the vendor's API price. Publicly known enterprise discounts rarely exceed 50%, so a price persistently below 40% of official does not add up under the assumption of buying from the vendor legitimately. That is the basis for labelling the 0.15–0.40 band "well below common volume discounts".
Open models (DeepSeek, Qwen, GLM, Kimi and the like): can be self-hosted on rented GPUs, so the floor is set by compute. Rough formula:
cost per million output tokens ≈ GPU hourly rent ÷ (tokens per second per GPU × 3600 ÷ 1,000,000)
Hourly rent is the Vast.ai on-demand median from the ledger in section 12; throughput is the biggest unknown, depending on model size, quantisation, concurrency and memory, and can range from hundreds to thousands of tokens per second on the same card. Examples: an H100 at $3/h and 3,000 tokens/s under high concurrency ≈ $0.28 per million tokens; a 4090 at $0.47/h and 800 tokens/s ≈ $0.16. These only set the order of magnitude: official prices for open fast-tier models (a few cents to tens of cents) already sit close to compute cost, which is why relays rarely undercut them and why the fast tier's discount rate in the index is near 100%.
What we do not do: we never use this formula to judge whether any single site is "losing money". Change the throughput assumption and the answer changes, so the site only uses public channel prices as the denominator and only reports ratios; compute cost is background for understanding the bands.
14. Verified by Sinan (site operators may apply, free)
- Apply: site operators sign in and, on
/verifySubmit the domain and contact details, then send a small Key (balance about ¥20, enabled only for the models to be verified) to [email protected]. The Key is stored only on our local machinedata/keys.env, never on the web page, never in the repository. - Conditions (all met, for 7 consecutive days): consistency probe has results for at least 5 models, all "consistent", with no "inconsistent" in the past 7 days; capability sampling correct count no lower than the cross-channel median for the same model minus 2; 7-day uptime ≥ 99%; new-user registration open.
- Granting and removal: conditions are set by
site/export_data.pyDetermined automatically from the data every night and written todata_v2.jsonEach site'sverifiedfield. Once met, the site page shows the "Verified by Sinan" mark and generates/badge/verified/<domain>.svg; removed automatically on any day it is not met, restored automatically once met again. It cannot be added or waived manually. - Meaning: it states only that "these measurements passed during this period"; it is not a recommendation or a guarantee. No fees, no paid fast-tracking, and whether a site applies never changes the order of any ranking.
15. Monthly report (monthly first; quarterly and annual added later)
- Cycle: one issue per month, starting 2026-9 (year-month). Recalculated daily during the month and marked "rolling"; finalized on day 1 of the following month and marked "final"; permanent link
/report/YYYY-MM, raw data/report/YYYY-MM.json。 - Source: entirely from the site's daily measurement archive (daily snapshots, price index, ledger, audit tables); no manually entered figures.
- five sections: price (Token Price Index, models whose median price moved most in the period), market structure (panel families, registration openness, removals and lost contact), uptime and testing (uptime distribution, probes and capability sampling, data-check release status), image and video, compute cost layer.
- Cite: citation formats in Chinese and English at the bottom of every page; when republishing, credit "Data: Sinan Lab compute.sinanlab.com".
- Numbers and analysis kept separate: the numbers (scale, price, uptime, probes, multimodal, compute, plus structural metrics such as domestic/overseas discount, tier range distribution, top-up rate distribution, panel families, login ecosystem, price-change direction, and open-model compute cost floor) are produced by
site/monthly_report.pyRecomputed automatically every night; analysis and judgments are written by Sinan Lab each issue and stored assite/reports/<month>.analysis.md, based only on the current period's measurements, with no recommendation of any channel. The analysis text is updated together with the final version; the two appear as separate sections on the page, so readers can rely on the numbers alone and set the commentary aside.
16. Presentation rules for rankings and the index (from 2026-09-15)
- Rank changes: next to each rank on every site ranking is the change vs the same ranking in the previous issue (↑n / ↓n / new / =). The comparison is against the same-named ranking in the previous issue's JSON; entries and exits caused by threshold changes are also marked "new" as-is.
- Model supply board: models are ordered by "number of sites with a valid quote". Site count is supply-side market share (how many sites are selling), not demand-side usage share; we have no usage data and do not estimate it. Also shown: 7-day change in market median price and consistency-probe counts (only for sites with a Key).
- Cross-site dispersion: the 25th–75th percentile spread of a model's effective price across sites ÷ median. Tier and market-wide values are the median dispersion across models. The higher the value, the wider the price gap for the same model between sites and the more price comparison is worth; it is not a quality metric.
- Change window: the index level is given with both 7-day and 30-day changes; when fewer than 30 days are available, the first day of the series is used.
- Publishing cadence: Sinan Rankings are published every Monday morning Beijing time, covering the previous Monday to Sunday; the index is daily; the monthly report rolls daily within the month and is finalized on day 1 of the following month. The permalink and JSON of any issue are never changed; corrections are made only by appending correction records.
17. 站方说明页(2026-09-23 起)
- 是什么:one-api / new-api 系面板有一个公开的"关于"接口
/api/about,站方自己写充值、售后一类说明。我们每天匿名抓一次,不需要 Key。全库 1826 个站里,有正文(≥200 字)的 127 个。 - 我们发布什么:只发三件可核实的事——它确实公开可读(抓取时间 + 正文 sha256)、一份原文快照(
/snap/about/<域名>.txt,noindex,不进站点地图)、以及这份说明覆盖了哪些话题。话题用固定词表判定,只认六项:支付方式、最低充值、退款、发票、计价口径、地区限制。 - 我们不发布什么:不转载站方写的内容,不把它当事实核实,也不把它当证据。促销、赠金、活动、群号与联系方式一律不进话题表——那是站方的营销内容,不是测量。站方自称的退款与发票条款是否兑现,我们没有测量手段,不做判断。
- 为什么这么定:站方自述与测量不是一回事。把自述原样搬上比价页,等于替站方分发宣传;完全不记,读者又无从知道这些条款存在。折中是:只记录"有、在哪、抓于何时、覆盖哪些话题",原文让读者自己去看。
- 没有说明页的站:显示"面板没有公开可读的说明页",不去别处替它找、也不代为转述来信里的说法。信息要上页面,必须是任何人都能匿名取到的公开接口或页面。
Open data
We commit that raw data is downloadable. For the full file list, field descriptions and stability commitments, see Open data & API. The following files were generated in the same batch as the site (2026-10-20 04:58):
- data_v2.json — model ledger, quotes and profiles for 2088 sites, snapshot index, FX rate
- media.json — image / video quotes and official references
- go_links.json — outbound link table (referral fields included, currently all empty)
Snapshot bodies are stored by sha256 in object storage and are not publicly downloadable; to verify a snapshot, email [email protected] with its ID.
Subscribe to the Sinan weekly
This week's rankings, the price index, mainstream price changes, newly indexed and unreachable sites. Measurements only, no recommendations; unsubscribe any time.
Clear direction, grounded judgement.