Models Reference
Complete schema definitions for all request and response models.
Request models
Used by POST /clearview.
| Field |
Type |
Required |
Description |
input |
string |
Yes |
A URL, file path, or raw text string to analyze |
{
"input": "https://example.com/article"
}
AudioRequest
Used by POST /audio.
| Field |
Type |
Required |
Description |
input |
string |
Yes |
A URL, file path, or raw text string to convert |
{
"input": "https://example.com/article"
}
Response models
ClearviewResponse
Returned by POST /clearview.
| Field |
Type |
Description |
title |
string |
Extracted document title |
content |
string |
Full extracted text content |
source |
string |
Original source URL or input path |
word_count |
integer |
Number of words in the extracted content |
summary |
string \| null |
Auto-generated summary. null if summarization failed. |
scam_notes |
string \| null |
Human-readable explanation of the scam classification |
subjective_notes |
string \| null |
Human-readable explanation of the objectivity classification |
bias_notes |
string \| null |
Human-readable explanation of detected biases |
ai_section |
string \| null |
Combined analysis section text used in output |
pdf |
string |
Base64-encoded PDF report. Decode with base64.b64decode() (Python) or atob() (JS). |
error |
string \| null |
Non-null if a non-fatal error occurred during processing |
{
"title": "Example Article",
"content": "Full article text...",
"source": "https://example.com/article",
"word_count": 842,
"summary": "A brief summary.",
"scam_notes": null,
"subjective_notes": "The article contains editorial language.",
"bias_notes": "One bias type exceeded the confidence threshold.",
"ai_section": "Combined AI analysis content.",
"pdf": "<base64 string>",
"error": null
}
Internal models
These models are used internally by the API and are not returned directly to clients, but are documented here for reference.
Produced by the extractor service before analysis begins.
| Field |
Type |
Description |
title |
string |
Extracted document title |
content |
string |
Extracted text body |
input_type |
string |
Classification of the input (url, file, or text) |
source |
string |
Source identifier |
word_count |
integer |
Word count of the extracted content |
extraction_method |
string |
Method used to extract content (e.g. newspaper4k) |
error |
string \| null |
Set if extraction partially failed |
ScamAnalysisResult
| Field |
Type |
Description |
scam_probability |
float (0–1) |
Confidence score that the content is a scam |
non_scam_probability |
float (0–1) |
Confidence score that the content is legitimate |
is_scam |
boolean |
Final classification |
notes |
string \| null |
Explanation |
error |
string \| null |
Set if analysis failed |
ObjectivityAnalysisResult
| Field |
Type |
Description |
subjective_probability |
float (0–1) |
Confidence the content is subjective/opinionated |
objective_probability |
float (0–1) |
Confidence the content is objective/factual |
is_subjective |
boolean |
Final classification |
notes |
string \| null |
Explanation |
error |
string \| null |
Set if analysis failed |
SentimentAnalysisResult
| Field |
Type |
Description |
bias_cutoff |
float (0–1) |
Minimum confidence score required for a bias label to be reported |
bias_scores |
object |
Map of all bias category labels to their confidence scores |
biases_above_cutoff |
string[] |
Labels whose scores met or exceeded bias_cutoff — surfaced as biases in ClearviewResponse |
notes |
string \| null |
Explanation |
error |
string \| null |
Set if analysis failed |