DeepSeek Responses API Audit: 48 Live Test Results

An evidence-led audit of 48 live DeepSeek Responses API model-case results across Flash and Pro, including a separately executed Web Search track.

48 live model-case results. Two independently executed frozen tracks. No composite score. This evidence-led audit tests DeepSeek’s Responses API across Flash and Pro, including streaming, JSON Schema, function tools, server-side Web Search, ignored fields, stateless behavior, unsupported input, and errors.

Download the 48-record public evidence package and read its verification limits. Evidence access was updated September 4, 2026; the benchmark remains the August 19 snapshot.

Scope and current contract — verified September 23, 2026: the 48 results below were executed on August 19 against the text-only deepseek-v4-flash and deepseek-v4-pro, before Vision Exp launched. RSP-23 remains a valid historical observation for those two text models and must not be generalized to deepseek-flash (DeepSeek-V4.1-Flash), which now accepts images; the old deepseek-v4-flash name also routes there. The current image-capable model, deepseek-flash (DeepSeek-V4.1-Flash), processes Responses input_image parts supplied by public URL, Base64 data URL, or an image Files API file_id. This audit did not test Vision quality.

The completed core run produced 42 selected results under Protocol 1.10.0. A separate completed optional run produced six selected Web Search results under Protocol 1.11.1. Combining only those selected records yields 48 unique model-case results: 34 PASS and 14 FAIL, with no selected BLOCKED or NOT_RUN result.

A “result” here means one model tested once against one frozen case. PASS and FAIL describe that case’s exact assertions; they are not percentages, ratings, model rankings, or proof of full OpenAI Responses API parity.

Browse the DeepSeek research hub for the site’s other dated reports, benchmarks, and evidence notes.

Results at a glance

ScopeLive resultsPASSFAILRECOVEREDBLOCKEDNOT_RUN
Combined483414000
deepseek-v4-flash24177000
deepseek-v4-pro24177000
Historical August 19 DeepSeek Responses API audit: Flash and Pro each had 24 results; Vision Exp was not tested.
Historical August 19 Flash/Pro audit; Vision Exp was not tested. Flash and Pro each recorded 17 PASS and seven FAIL results from 24 one-shot frozen cases. Equal counts are not a model ranking.

Flash and Pro each recorded 17 PASS and seven FAIL results from 24 live samples. Equal counts do not make the models equivalent and are not a ranking: the matrix records whether each response met its own frozen assertions.

The Web Search result: tool calls appeared, the final message did not

RSP-17 through RSP-19 tested the documented web_search tool path, its dated alias, and compatibility with documented ignored context/location fields on both models. In all six single live samples, the completed response contained web_search_call output items, showing that the server-side tool path executed. None contained the final message item required by the frozen case, so all six results are FAIL.

This is deliberately a response-shape finding. Because the required final message was absent, the audit makes no claim about the truth, source quality, completeness, or usefulness of search results. Six one-shot cases also cannot establish full API parity or a reliability rate.

For request examples and field-by-field implementation guidance beyond this result set, use the DeepSeek API Web Search guide.

Exact FAIL taxonomy

Assertion-specific taxonomyCount out of 14 FAIL resultsScope
web_search_missing_final_message_after_tool_execution6RSP-17–19 on both models: tool-call output present, required final message absent.
wrong_response_media_type6RSP-16, RSP-20, and RSP-24 on both models: exact target-specific negative response observed, but not as application/json.
json_schema_instance_validation_failed1Flash RSP-10: HTTP 200 JSON content did not validate as the requested schema instance.
visible_text_exact_mismatch_trailing_period1Pro RSP-21: exact marker gained one terminal period; other frozen fixed response-field assertions passed.
Taxonomy of 14 FAIL results: 6 Web Search responses without a final message, 6 response media-type mismatches, 1 JSON Schema content failure, and 1 exact-text mismatch.
The 14 FAIL observations use four exact assertion-specific categories. The denominator is the FAIL set, not a severity score or broad incompatibility rating.

The 14-result denominator is the observed FAIL set, not a severity score. The six media-type findings concern the response envelope for negative cases. Flash RSP-10 concerns returned structured content, and Pro RSP-21 concerns one punctuation character. None supports a broad incompatibility claim.

For endpoint-specific request examples and application-side validation, use the DeepSeek JSON Output guide.

DeepSeek V4 Flash: 24 live results

CaseSurfaceFrozen testStatusObserved assertion outcomeEvidence SHA-256
RSP-01BaselinePlain string input and exact visible markerPASSAll frozen assertions passed in this one live sample.5c66061349fdcdcd…
RSP-02BaselineInstructions parameter is appliedPASSAll frozen assertions passed in this one live sample.f24f241652d62aac…
RSP-03BaselineDeveloper-role input item is acceptedPASSAll frozen assertions passed in this one live sample.a21a66dcaddd1a18…
RSP-04BaselineDefault thinking response exposes documented reasoning shapePASSAll frozen assertions passed in this one live sample.b8e172eb489f82a0…
RSP-05StreamingSemantic SSE terminal event and no DONE sentinelPASSAll frozen assertions passed in this one live sample.e0392e695282d1a8…
RSP-06StreamingSSE sequence numbers strictly increasePASSAll frozen assertions passed in this one live sample.27cbae14127f3ab2…
RSP-07StreamingOutput deltas reconstruct terminal visible textPASSAll frozen assertions passed in this one live sample.b717e64121337b8c…
RSP-08StreamingOutput cap produces an incomplete terminal eventPASSAll frozen assertions passed in this one live sample.c2f0f9df24567f60…
RSP-09Structured outputJSON object mode returns parseable JSONPASSAll frozen assertions passed in this one live sample.04f927d94058e2a1…
RSP-10Structured outputSimple JSON Schema is enforcedFAILHTTP 200 JSON; visible content did not validate against the requested JSON Schema.0b5ecedee3565ac0…
RSP-11Structured outputNested JSON Schema with enum and required fieldsPASSAll frozen assertions passed in this one live sample.b4465ede76dba2a5…
RSP-12Structured outputJSON Schema without required name is rejectedPASSAll frozen assertions passed in this one live sample.bf5d4b7cf7690a2d…
RSP-13Function toolsForced function call emits schema-valid argumentsPASSAll frozen assertions passed in this one live sample.882ecb9b00f8683f…
RSP-14Function toolsFunction output round trip with complete stateless historyPASSAll frozen assertions passed in this one live sample.1bded8f28153b566…
RSP-15Function toolsTool choice none suppresses a declared functionPASSAll frozen assertions passed in this one live sample.cf45d8045e4cb9c3…
RSP-16Function toolsInvalid function name is rejectedFAILExact negative-case error observed; response media type was not application/json.c62e51db87c4f24c…
RSP-17Web SearchForced current web search tool pathFAIL11 web_search_call items observed; required final message item absent.06da44becd79a555…
RSP-18Web SearchForced web_search_2025_08_26 aliasFAIL11 web_search_call items observed; required final message item absent.95126eeaeae8e5fc…
RSP-19Web SearchIgnored web search context and location fields remain compatibleFAIL11 web_search_call items observed; required final message item absent.f5d0a8b5c28bf273…
RSP-20Web SearchNamed web search choice without declared tool is rejectedFAILExact negative-case error observed; response media type was not application/json.feda919477a6eac4…
RSP-21Ignored fieldsUnsupported top-level fields are silently ignoredPASSAll frozen assertions passed in this one live sample.50a0516192b99f6f…
RSP-22StatelessPrevious response ID is not used for server statePASSAll frozen assertions passed in this one live sample.673e306adfdaabd5…
RSP-23Unsupported inputImage input compatibility uses placeholder rather than visionPASSAll frozen assertions passed in this one live sample.c58888dc966c46b4…
RSP-24ErrorsMissing both input and instructions is rejectedFAILExact negative-case error observed; response media type was not application/json.bd92fc83056ecce4…

DeepSeek V4 Pro: 24 live results

CaseSurfaceFrozen testStatusObserved assertion outcomeEvidence SHA-256
RSP-01BaselinePlain string input and exact visible markerPASSAll frozen assertions passed in this one live sample.c846d1d525a66aa1…
RSP-02BaselineInstructions parameter is appliedPASSAll frozen assertions passed in this one live sample.ed78252968a6389e…
RSP-03BaselineDeveloper-role input item is acceptedPASSAll frozen assertions passed in this one live sample.f88b5716ea1469b3…
RSP-04BaselineDefault thinking response exposes documented reasoning shapePASSAll frozen assertions passed in this one live sample.646aaa764387582d…
RSP-05StreamingSemantic SSE terminal event and no DONE sentinelPASSAll frozen assertions passed in this one live sample.050b602adb6e5224…
RSP-06StreamingSSE sequence numbers strictly increasePASSAll frozen assertions passed in this one live sample.316071c525b9f64a…
RSP-07StreamingOutput deltas reconstruct terminal visible textPASSAll frozen assertions passed in this one live sample.a7bf93cae7c0924a…
RSP-08StreamingOutput cap produces an incomplete terminal eventPASSAll frozen assertions passed in this one live sample.90defa2fddd853a7…
RSP-09Structured outputJSON object mode returns parseable JSONPASSAll frozen assertions passed in this one live sample.85d1186bb2479e5d…
RSP-10Structured outputSimple JSON Schema is enforcedPASSAll frozen assertions passed in this one live sample.af3dd044a7258c12…
RSP-11Structured outputNested JSON Schema with enum and required fieldsPASSAll frozen assertions passed in this one live sample.c6b9b4a303f3f2c1…
RSP-12Structured outputJSON Schema without required name is rejectedPASSAll frozen assertions passed in this one live sample.7d78d5a2fbb562af…
RSP-13Function toolsForced function call emits schema-valid argumentsPASSAll frozen assertions passed in this one live sample.a0fe45b99d619097…
RSP-14Function toolsFunction output round trip with complete stateless historyPASSAll frozen assertions passed in this one live sample.00ddb164ccc237a0…
RSP-15Function toolsTool choice none suppresses a declared functionPASSAll frozen assertions passed in this one live sample.2514db2cefcdc9f5…
RSP-16Function toolsInvalid function name is rejectedFAILExact negative-case error observed; response media type was not application/json.6b94f3b1df5ca875…
RSP-17Web SearchForced current web search tool pathFAIL11 web_search_call items observed; required final message item absent.a4e37c8a36037b3e…
RSP-18Web SearchForced web_search_2025_08_26 aliasFAIL11 web_search_call items observed; required final message item absent.7e692de1a2f1fb33…
RSP-19Web SearchIgnored web search context and location fields remain compatibleFAIL11 web_search_call items observed; required final message item absent.6be7d1c566075170…
RSP-20Web SearchNamed web search choice without declared tool is rejectedFAILExact negative-case error observed; response media type was not application/json.9478d511590b60ad…
RSP-21Ignored fieldsUnsupported top-level fields are silently ignoredFAILRequest accepted; exact marker gained one trailing period while the other fixed response-field assertions passed.5c777a4a0fe58220…
RSP-22StatelessPrevious response ID is not used for server statePASSAll frozen assertions passed in this one live sample.8c4ba8c89af3f67c…
RSP-23Unsupported inputImage input compatibility uses placeholder rather than visionPASSAll frozen assertions passed in this one live sample.945b51fd2d7eb9d7…
RSP-24ErrorsMissing both input and instructions is rejectedFAILExact negative-case error observed; response media type was not application/json.a8361a7fe6d78c36…

How the audit was run

  • Each protocol snapshot froze its cases, expected statuses, assertions, runner, fixture, cost accounting, and source ledger before its corresponding execution.
  • The core track selected 21 cases per model and excluded RSP-17–19. The later optional track selected only RSP-17–19 per model.
  • Every public result is re-derived from a selected manifest row plus its SHA-256-matched evidence file. Unknown failing assertion arrays stop derivation instead of receiving an invented label.
  • The combined matrix requires 48 unique model-case keys, 24 per model, with no selected BLOCKED or NOT_RUN result.

For the endpoint contract and request fields referenced in this matrix, see the DeepSeek API documentation.

For reusable mock, regression, SSE, and opt-in smoke-test patterns, use the DeepSeek API testing guide.

Provider-reported usage and the price estimate

ScopeInput tokensCached inputOutput tokensReasoning tokensTotal tokensPeak-price estimate
deepseek-v4-flash154,794130,3042,03118156,825$0.07079028
deepseek-v4-pro126,887105,4721,97826128,865$0.17532372
Combined281,681235,7764,00944285,690$0.246114

The token counts are provider-reported usage from both tracks. Server-side Web Search can add internal model work, so its aggregate input usage should not be read as local prompt length. The dollar amount applies the frozen peak token rates to reported usage only. It is not an invoice, account debit, provider-enforced cap, or measured total spend. Numeric account-balance observations are omitted because attribution to this audit was not proven; error responses without usage stay “not reported,” never zero.

For current token prices and peak/off-peak windows, see the DeepSeek pricing page.

Official sources refreshed during execution

Both runs refreshed these official source contracts independently. The public derivative records HTTP status, media type, content hash, and frozen-byte or required-marker proof without including private request, response, credential, or account material.

For official release dates and model changes, see DeepSeek’s official change log.

Download the public evidence and check the results

Evidence access update — September 4, 2026: we located the retained records for both August 19 runs and rechecked their manifest and tree hashes, all 48 selected evidence records, result counts, reported usage and the sanitized public derivative. The original results and test date have not changed; this was an offline verification, not a new API benchmark or an external certification.

What is public: all 48 sanitized model-case records, source run IDs, full evidence hashes, case-specific outcomes, failure categories and provider-reported usage. Eight records do not report usage; they are not treated as zero. After extracting the ZIP, readers with Node.js can run node verify-public-results.mjs to check the JSON identity and recalculate the published aggregates without an API key or network request.

What is not public: raw request and response records, private manifests, account data and credentials. This download is not a complete raw-run reproduction kit. The included verifier checks the public derivative, not the withheld source bytes. Hash agreement establishes file identity; it does not independently witness the historical execution or validate every test-design choice.

Historical-source limit: the core Protocol 1.10.0 fixture, runner and protocol source bytes were not recovered during this review. Their hashes are retained in the original run records; the later Protocol 1.11.1 files are not substitutes. The original JSON also preserves its old preparation-state marker; the new README explains the September 4 publication without rewriting those historical bytes.

ZIP SHA-256: c44aa4b4abed49e0d79f4a4e6fb7bbc8e3c1da2c97888ed9b77485c1e74cd37b

public-results.json SHA-256: b84a59b5c73c8a62ba7a029e543b5fdf01bb53c24e54e3fe33ab0ec279bbd9d9

Provenance: two independent completed runs

RunProtocolTrackSelected resultsUTC execution windowFilesManifest SHA-256Canonical tree SHA-256
RSP1100-CORE-20260819T190014Z1.10.0core422026-08-19T19:01:15.831Z to 2026-08-19T19:03:29.862Z46b297b7e1005c3905b03ee01840145d832568fbc51ee36fa76bdc1139a6ccc4dc026b7257085220df7cf48cdf34c4aefaf8e70ad09e8b1b94d0b0f2ebc109a44a
RSP1111-OPTIONAL-20260819T212207Z1.11.1optional_web_search62026-08-19T21:22:07.459Z to 2026-08-19T21:24:17.467Z10f27b622e7025454476b7f928d55d9a76305667c53d08fc9fe5b0ff7d114f003c7df2bcd2a7fee2178299c921d76523a4c94e67e8e7a193fc36e13b2865367cb4

The core and optional tracks are not presented as one continuous run. The table identifies the retained source records and historical fixture, runner and protocol hashes; it does not list the contents of the public ZIP. The unchanged sanitized public-results.json combines only the 42 selected core rows and six selected optional rows, retaining the source run ID and full evidence SHA-256 for each. See the download section for what readers can verify publicly and which source material remains private.

Limits on interpretation

  • One sample per model-case cannot estimate reliability, variance, or a general failure rate.
  • PASS is case-specific and does not establish full API parity. FAIL is assertion-specific and does not establish broad incompatibility.
  • The Web Search cases grade the frozen response shape, not search truth, source quality, completeness, or usefulness.
  • RSP-23 is an August 19 placeholder-compatibility result for the text-only Flash and Pro models; it is not a Vision Exp test and does not measure image understanding.
  • The ignored-field cases grade observable acceptance and fixed response fields; they do not prove internal non-use.
  • Provider documentation, models, pricing, and behavior can change after the 2026-08-19 UTC execution windows.

Frequently asked questions

What does this DeepSeek Responses API audit test?

It reports 48 live model-case results executed on August 19 across the text-only deepseek-v4-flash and deepseek-v4-pro: 21 core cases per model in one completed run and three server-side Web Search cases per model in a second completed run. The surfaces include baseline responses, streaming, structured output, function tools, Web Search, ignored fields, stateless behavior, unsupported input, and errors. Vision Exp launched later and was not tested, so these totals and outcomes must not be read as evidence about its image handling or quality.

What were the Flash and Pro results?

Flash recorded 17 PASS and 7 FAIL results. Pro independently recorded 17 PASS and 7 FAIL results. Each model has 24 live results; these are assertion outcomes, not an overall score, percentage, rating, winner, or ranking.

What happened in the six Web Search tests?

In every single live sample, the completed response contained server-side web_search_call output items but no final message item, so the frozen response-shape assertion failed. Tool execution was observed; the audit did not grade search-result truth, source quality, completeness, full API parity, or reliability across repeated runs.

Does a passing case mean full OpenAI Responses API compatibility?

No. PASS means one received response met that model-case’s frozen assertions. The cases cover different behavior surfaces, and one sample per model-case cannot establish full parity, reliability, variance, or a general failure rate.

What produced the 14 FAIL results?

Six were response media-type mismatches on exact negative cases, six were Web Search responses with tool-call output but no final message item, one Flash result failed requested JSON Schema content conformance after HTTP 200, and one Pro result differed only by a trailing period in an exact-text marker. Each label is assertion-specific.

How should the usage-derived amount be interpreted?

The combined $0.246114 figure applies frozen peak token rates to provider-reported usage from both runs. It is an estimate, not an invoice, account debit, provider-enforced cap, or measured total spend. Numeric account-balance observations are omitted because attribution to this audit was not proven.

Where can I download and check the 48 results?

Download the public evidence ZIP from the evidence section above. It contains the unchanged sanitized public-results.json, all 48 result records, a README, file checksums and an offline verifier for counts, failure categories and reported usage. Raw request and response records, private manifests and account data are not included, so this is not a complete raw-run reproduction kit. Chat-Deep.ai rechecked the retained source records on September 4, 2026; the original test date remains August 19, 2026.

Privacy and cookie settings