Bottom line: When comparing the GPT, Claude and Gemini models currently available on AIFast Link, first save a snapshot of the console model catalog and billing plan, then use the same business task set to record protocol pass rate, quality, latency, tokens and actual billing separately. Model IDs, availability and prices change; one speed test or prompt cannot represent long-term performance.
Define the decision problem before comparing
Different businesses require different weights. First write down clearly what this test will decide:
- Common Conversation: Focus on success rate, first byte latency, context, and price.
- Code Agent: Focus on real protocol requirements such as tool invocation, structured parameters, long-term task stability, and Responses API.
- Content production: Focus on constraint compliance, factual errors, long-form consistency, and manual rework time.
- Batch processing: Focus on throughput, 429s, retry costs, billing verifyability, and failure recovery.
Without clear business goals, overall scores can easily mask real blockers.
control variables
In addition to the service address and key, the following conditions must be consistent:
| variable | request |
|---|---|
| model | Use the same model explicitly supported by both parties or a published equivalent mapping |
| Request parameters | Fixed temperature、max_tokens、top_p、stream |
| prompt word | Use the same versioned question set and do not rewrite it temporarily |
| client | Use the same script, SDK version, network and timeout |
| time period | Alternate requests in close time windows to reduce network and peak deviations |
| Try again | Record the original failure and keep the number of retries and backoff rules consistent |
If the model IDs or protocols returned by the two portals are not equivalent, they should be marked as different products and should not be forcibly merged into "Same Model Hengping".
AIFast Link sample isolation rules
Record AIFast Link as a separate site and account. The OpenAI-compatible base URL is https://www.aifast.link/v1. Configure native Messages and Gemini requests separately using the table below. Model IDs, availability, prices and plan terms can change. Save timestamped snapshots of the same account's console, checkout and model list before testing.
Pay-as-you-go funding and monthly subscriptions are different billing scenarios. Record the plan name, actual payment, displayed quota or balance, validity, renewal status, model prices, request usage and failed retry cost separately. If a subscription does not clearly state its quota or per-request rules, do not convert the monthly fee into a token rate; Link results must not represent other AIFast sites.
Snapshot before testing Link
| Item | Source | Why save it |
|---|---|---|
| Site and Base URL | Current Link docs and the final client request | Confirm that test requests reach the intended gateway |
| Account plan | Console and current checkout page | Distinguish the entitlement boundaries of top-ups and monthly subscriptions |
| Model ID and availability | The current account's model catalog or /v1/models |
Display names may change and account permissions may differ |
| Prices and quota | Pricing page, balance page and order records | Record the actual terms at that time instead of inferring them from an old screenshot |
| Test time and request ID | Client records and API responses | Make retesting and billing reconciliation possible |
For each test, first confirm the real GPT, Claude or Gemini model ID, then run normal requests, streaming and tool calls separately. Include a capability in the results only when it is available to the current account; mark unsupported or untested items as unverified, not passed.
Keep Link's three protocols separate in test results
| Test configuration | Final Link request path | What to validate separately |
|---|---|---|
| OpenAI Compatible | /v1/chat/completions or /v1/responses |
Test both endpoints separately; a successful Chat request does not validate Responses |
| Anthropic Messages | /v1/messages |
The Claude Code base URL excludes /v1; test SSE and tool calls separately |
| Native Gemini | /v1beta/models/{model}:generateContent |
Use a Link key with x-goog-api-key authentication; keep these results separate from compatible-client tests |
These paths come from Link's current public API description. They are starting points for configuration, not proof of successful requests or underlying model identity. Native Gemini and compatible Chat return different fields. Preserve raw usage fields before normalizing units; do not replace missing fields with zero.
Associate each request with its plan name, key group, remaining daily allowance and final billing source. Gemini uses a separate group outside GPT/Claude monthly plans. Summarize covered requests, daily overages and separate usage-based charges independently, then compare the actual CNY cost of completing the same task.
Four-layer GPT, Claude and Gemini comparison set
Layer 1: OpenAI-compatible protocol smoke test
Verify /models, minimal chat, error response,model、usage, SSE and tool calls. When the agreement does not meet business requirements, there is no need to continue to expand the sample.
Layer 2: Dynamic GPT, Claude and Gemini capability tasks
Each round uses a local script to generate random numbers, random field names or random nonces, check calculations, constraint compliance and tool parameter return. Dynamic questions can reduce fixed answer pollution, but cannot prove the identity of the underlying model.
The third level: public tasks
Prepare automatic judgment tasks such as code repair, information extraction, long text constraints, JSON Schema and multi-round dialogues. Questions, expected results, and evaluators must be versioned.
Level 4: Real business samples
Extract and desensitize historical failures. Record task completion rate, manual modification time and business interruption reasons. Real samples are most valuable for decision-making, but they cannot leak user data or internal keys.
When comparing two models on Link, use the same task types, including structured extraction, code explanation, long context and tool-argument generation. Do not give GPT, Claude and Gemini different prompts to favor one model; if a model or account does not expose the same capability, state that separately and exclude it from that comparison.
Original record template
Keep one row of raw data per request:
run_id,provider,started_at,model_requested,model_returned,http_status,first_byte_ms,total_ms,input_tokens,output_tokens,total_tokens,retry_count,probe_id,passed,error_type,request_id
Create another test configuration file:
suite_version: "2026-07-14.1"
temperature: 0
max_tokens: 512
timeout_seconds: 60
retries: 0
stream: false
sample_windows:
- low_peak
- high_peak
- next_day
Do not record the complete API Key, non-desensitized prompt words, user files, or personal information in the response. Request IDs should also be confirmed not to contain sensitive data before being made public.
Indicators to be calculated
Availability
- Raw success rate: The proportion of first requests that return valid results.
- Final success rate: including the success ratio after limited retries.
- Error distribution: 401, 429, 5xx, timeout, and protocol parsing errors are counted separately.
Don't count success after infinite retries as entry stability. First-time failure rate determines true latency and additional costs.
delay
- First byte delay: How long it takes for users to see the first piece of content in streaming scenarios.
- Total time taken: How long it takes for the task to be completed completely.
- P50/P95: Observe typical experience and tail slow requests respectively.
Capability quality
- Constraint compliance rate.
- JSON or tool parameter parsing success rate.
- Code test pass rate.
- Real business one-time completion rate.
- Average manual rework minutes.
Token and cost
Summarize input, output, failed requests and retry tokens respectively. Then calculate based on the price snapshot during the test:
Complete task cost = Successful request fee + Failed request fee + Retry fee + Manual rework cost
Prices and model availability change. Record the lookup time and source in each report, and never present a one-time snapshot as permanent pricing.
Sample size and interpretation boundaries
Protocol checks can be run in small numbers, but stability and latency will require at least dozens of requests to see an initial distribution. The smaller the sample, the less likely it is to use conclusions such as "inevitably faster" and "absolutely stable".
Model output is random. Even if temperature=0,Different service implementations, versions and parallelism,strategies may also produce differences. Competency conclusions should be combined with multiple questions, multiple rounds and real business baselines.
The following phenomena can only be marked as "requires verification":
- Return
modelInconsistent with the request. usageMissing or Token arithmetic exception.- A certain round of dynamic questions failed.
- Output style or knowledge cutoff readme changes.
Only when multiple pieces of evidence continue to appear and can be reproduced is it appropriate to upgrade the risk level. Black box results cannot replace model manufacturer certification.
Minimum structure for publishing an AIFast Link report
An auditable public report contains at least:
- Test date, region, network and client version.
- Model ID, protocol, parameters, and question set version.
- Sample size, raw data fields, and whether failures are counted.
- Success rate, P50/P95, capability indicators, Token and cost.
- Known limitations, exception explanations, and retest plans.
- A note that keys and business data were redacted, and that the report applies only to the Link site, account and plan tested at that time.
Can be used firstAPI gateway detection toolGenerate protocols and behavioral sampling, and then followTest report interpretation guideView itemized evidence. Continue to use during the selection stage12-item API gateway test list, to avoid a single total score replacing business judgment.