Tài liệu tham chiếu này được tạo từ tài liệu OpenAPI 3.1 của API, có tại https://api.fileverity.com/v1/openapi.json, nên luôn khớp với API. Để tìm hiểu các khái niệm và hướng dẫn, hãy bắt đầu từ Tổng quan.
Base URL: https://api.fileverity.com/v1. Xác thực mọi yêu cầu bằng Authorization: Bearer <key>. Các lỗi dùng chung một định dạng, được mô tả trong Lỗi. Mọi phản hồi đều có header x-request-id, và các phản hồi đã xác thực có kèm các header giới hạn tốc độ được mô tả trong Giới hạn tốc độ và header. Các đối tượng lồng nhau mở ra trong các mục có thể thu gọn bên dưới bảng.
Phân loại văn bản thuần túy là do AI viết, một phần do AI viết hoặc do người viết, và trả về các đoạn do AI viết. Văn bản được đánh giá rồi loại bỏ; văn bản không được lưu. Việc tính phí đếm code point Unicode theo đơn vị 1.000 ký tự, làm tròn lên cho mỗi yêu cầu. Các yêu cầu bị từ chối trước khi đánh giá không bị tính phí. Khóa thử nghiệm trả về một kết quả cố định là văn bản do người viết và không bị tính phí.
Tham số
Tên
Vị trí
Kiểu
Bắt buộc
Mô tả
Idempotency-Key
header
string
Không
Khóa duy nhất tối đa 255 ký tự. Gửi lại yêu cầu với cùng khóa và cùng nội dung trong vòng 24 giờ sẽ trả về phản hồi đầu tiên kèm header idempotent-replayed: true; cùng khóa nhưng nội dung khác trả về 409.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
model
string
Không
Mã mô hình hoặc mã snapshot. Mặc định "fvdoc-3-text".
text
string
Có
Văn bản thuần túy, tối thiểu 100 từ và tối đa 100.000 ký tự.
language
một trong "en", "fr", "de", "es", "zh", null
Không
Mã ISO 639-1. Tự động nhận diện nếu không truyền. Mặc định null.
Phản hồi
Trạng thái
Mô tả
Nội dung
200
Kết quả phát hiện.
TextDetection
400
Yêu cầu không hợp lệ. Mã lỗi: invalid_json, missing_parameter, text_too_short, unsupported_language, invalid_parameter.
Error
401
Thiếu khóa API hoặc khóa API không hợp lệ. Mã lỗi: missing_api_key, invalid_api_key.
Error
402
Số dư hoặc hạn mức chi tiêu hằng tháng của khóa không đủ cho yêu cầu. Mã lỗi: insufficient_balance, spend_limit_reached.
Error
404
Không tìm thấy tài nguyên. Mã lỗi: model_not_found.
Error
409
Xung đột với trạng thái hiện tại. Mã lỗi: idempotency_mismatch, idempotency_in_progress.
Error
413
Vượt quá giới hạn kích thước. Mã lỗi: text_too_long.
Error
415
Media type hoặc định dạng tệp không được hỗ trợ. Mã lỗi: unsupported_media_type.
Error
429
Quá nhiều yêu cầu. Mã lỗi: rate_limited.
Error
500
Lỗi nội bộ; không bị tính phí. Mã lỗi: internal_error.
Error
502
Không thể hoàn tất lượt phân tích; không bị tính phí. Mã lỗi: analysis_failed.
Error
503
Tạm thời không khả dụng hoặc đang bận; không bị tính phí. Hãy thử lại sau số giây ghi trong header retry-after. Mã lỗi: service_unavailable.
Error
Phản hồi 200: TextDetection
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
object
"text.detection"
Có
created
integer
Có
Dấu thời gian Unix.
model
string
Có
Snapshot đã tạo ra kết quả.
livemode
boolean
Có
False đối với khóa thử nghiệm.
language
một trong "en", "fr", "de", "es", "zh"
Có
verdict
một trong "ai", "mixed", "human"
Có
ai: toàn bộ văn bản có vẻ do AI viết; mixed: có các đoạn do AI viết trong văn bản do người viết; human: không tìm thấy đoạn nào do AI viết.
score
number
Có
Điểm của mô hình cho đoạn giống văn bản do AI viết nhất. Tối thiểu 0. Tối đa 1.
ai_fraction
number
Có
Tỷ lệ văn bản được đánh giá nằm trong các đoạn do AI viết. Tối thiểu 0. Tối đa 1.
segments
mảng object
Có
Các đoạn do AI viết, dưới dạng vị trí (offset) trong văn bản đã gửi, tính theo code point Unicode. Ranh giới mang tính tương đối và có thể bao gồm các câu liền kề.
usage
object
Có
segments: các trường
Trường
Kiểu
Bắt buộc
Mô tả
start
integer
Có
end
integer
Có
Không bao gồm (exclusive).
score
number
Có
Tối thiểu 0. Tối đa 1.
usage: các trường
Trường
Kiểu
Bắt buộc
Mô tả
characters
integer
Có
Số code point Unicode đã được đánh giá.
free_characters
integer
Có
Số ký tự nằm trong phần lượt dùng thử miễn phí của bạn, không bị tính phí.
billed_units
integer
Có
Số đơn vị 1.000 ký tự thực tế bị tính phí, sau khi trừ ký tự miễn phí; billed_units × đơn giá là chi phí.
Tải một tệp lên để phân tích. Gửi các tệp tối đa 4 MB dưới dạng multipart/form-data trong trường file; phản hồi có trạng thái uploaded. Các tệp lớn hơn 4 MB phải được tải lên bằng URL ký trước (pre-signed URL). Gửi JSON gồm filename, content_type và bytes (tài liệu tối đa 50 MB); phản hồi có trạng thái pending và một đối tượng upload chứa URL ký trước: hãy gửi các byte của tệp tới URL đó bằng PUT cùng các header đã cho trước khi URL hết hạn. Tệp bị xóa khi một lượt phân tích bắt đầu và chậm nhất sau 24 giờ. Một không gian làm việc có thể giữ tối đa 50 tệp chưa hết hạn và 200 MB cho mỗi chế độ cùng lúc.
Tham số
Tên
Vị trí
Kiểu
Bắt buộc
Mô tả
Idempotency-Key
header
string
Không
Khóa duy nhất tối đa 255 ký tự. Gửi lại yêu cầu với cùng khóa và cùng nội dung trong vòng 24 giờ sẽ trả về phản hồi đầu tiên kèm header idempotent-replayed: true; cùng khóa nhưng nội dung khác trả về 409.
Nội dung yêu cầu: multipart/form-data, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
file
string
Có
Định dạng binary.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
filename
string
Không
content_type
string
Có
MIME type của tệp, ví dụ image/jpeg hoặc application/pdf.
bytes
integer
Có
Kích thước chính xác tính bằng byte. Tối thiểu 1. Tối đa 52.428.800.
Phản hồi
Trạng thái
Mô tả
Nội dung
201
Tệp.
File
400
Yêu cầu không hợp lệ. Mã lỗi: invalid_json, missing_parameter, invalid_parameter.
Error
401
Thiếu khóa API hoặc khóa API không hợp lệ. Mã lỗi: missing_api_key, invalid_api_key.
Error
409
Xung đột với trạng thái hiện tại. Mã lỗi: idempotency_mismatch, idempotency_in_progress.
Error
413
Vượt quá giới hạn kích thước. Mã lỗi: file_too_large.
Error
415
Media type hoặc định dạng tệp không được hỗ trợ. Mã lỗi: unsupported_media_type, unsupported_file.
Error
422
Không thể xử lý tệp. Mã lỗi: invalid_file.
Error
429
Quá nhiều yêu cầu. Mã lỗi: pending_files_limit, rate_limited.
Error
500
Lỗi nội bộ; không bị tính phí. Mã lỗi: internal_error.
Error
Phản hồi 201: File
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
object
"file"
Có
filename
string hoặc null
Có
bytes
integer hoặc null
Có
content_type
string
Có
status
một trong "pending", "uploaded"
Có
pending cho đến khi các byte gửi tới URL ký trước đã được nhận đủ.
livemode
boolean
Có
Tệp chỉ hiển thị với các khóa cùng chế độ.
created
integer
Có
Dấu thời gian Unix.
expires_at
integer
Có
Dấu thời gian Unix mà sau đó tệp bị xóa.
upload
object
Không
Có trong phản hồi cho yêu cầu tải lên dạng JSON.
upload: các trường
Trường
Kiểu
Bắt buộc
Mô tả
url
string
Có
Khóa thử nghiệm nhận một URL giữ chỗ (test: true); không có gì được tải lên hoặc lưu.
Phân tích một tệp đã tải lên bằng fvimg-2 (ảnh) hoặc fvdoc-3 (tài liệu). Một lượt phân tích là một lượt kiểm tra ảnh hoặc tài liệu. Phản hồi là 202 với trạng thái processing; kết quả được gửi qua webhook hoặc bằng cách truy vấn định kỳ GET /analyses/{id}. Gửi Prefer: wait=N (tối đa 60 giây) để giữ yêu cầu cho đến khi có kết quả; một lượt phân tích đã hoàn tất trả về 200. Giá được tạm giữ khi lượt phân tích được tạo và được hoàn lại nếu lượt phân tích thất bại hoặc bị hủy. Kết quả được giữ trong 7 ngày. Khi hệ thống đang bận, API trả về 503 service_unavailable kèm header retry-after và không tính phí: hãy thử lại với cùng Idempotency-Key, và chạy lần lượt từng lượt phân tích ảnh để đạt thông lượng tốt nhất. Khóa thử nghiệm trả về kết quả mẫu và không bao giờ bị tính phí; báo cáo mẫu chỉ chứa một vài trường.
Tham số
Tên
Vị trí
Kiểu
Bắt buộc
Mô tả
Idempotency-Key
header
string
Không
Khóa duy nhất tối đa 255 ký tự. Gửi lại yêu cầu với cùng khóa và cùng nội dung trong vòng 24 giờ sẽ trả về phản hồi đầu tiên kèm header idempotent-replayed: true; cùng khóa nhưng nội dung khác trả về 409.
Prefer
header
string
Không
wait=N giữ yêu cầu tối đa N giây (tối đa 60) cho đến khi lượt phân tích hoàn tất.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
model
một trong "fvimg-2", "fvimg-2-2026-10-30", "fvdoc-3", "fvdoc-3-2026-11-03"
Có
Mã mô hình hoặc mã snapshot. fvimg-2 phân tích ảnh, fvdoc-3 phân tích tài liệu.
file
string
Có
Mã của một tệp đã tải lên.
metadata
object có giá trị string
Không
Tối đa 16 cặp chuỗi (key tối đa 40 ký tự, value tối đa 500) được trả về trong lượt phân tích và trong webhook.
options
object
Không
options: các trường
Trường
Kiểu
Bắt buộc
Mô tả
password
string
Không
Mật khẩu của tài liệu đã mã hóa. Độ dài tối đa 256.
locale
một trong "en", "fr", "de", "es", "zh", "vi", "ar"
Không
Ngôn ngữ của các phát hiện về tài liệu. Mặc định "en".
Phản hồi
Trạng thái
Mô tả
Nội dung
200
Lượt phân tích đã hoàn tất.
Analysis
202
Lượt phân tích đang được xử lý.
Analysis
400
Yêu cầu không hợp lệ. Mã lỗi: invalid_json, missing_parameter, file_not_found, invalid_parameter.
Error
401
Thiếu khóa API hoặc khóa API không hợp lệ. Mã lỗi: missing_api_key, invalid_api_key.
Error
402
Số dư hoặc hạn mức chi tiêu hằng tháng của khóa không đủ cho yêu cầu. Mã lỗi: insufficient_balance, spend_limit_reached.
Error
404
Không tìm thấy tài nguyên. Mã lỗi: model_not_found.
Error
409
Xung đột với trạng thái hiện tại. Mã lỗi: idempotency_mismatch, idempotency_in_progress.
Media type hoặc định dạng tệp không được hỗ trợ. Mã lỗi: unsupported_media_type, unsupported_file.
Error
422
Không thể xử lý tệp. Mã lỗi: invalid_file, password_required, wrong_password, not_examinable.
Error
429
Quá nhiều yêu cầu. Mã lỗi: rate_limited.
Error
500
Lỗi nội bộ; không bị tính phí. Mã lỗi: internal_error.
Error
502
Không thể hoàn tất lượt phân tích; không bị tính phí. Mã lỗi: analysis_failed.
Error
503
Tạm thời không khả dụng hoặc đang bận; không bị tính phí. Hãy thử lại sau số giây ghi trong header retry-after. Mã lỗi: service_unavailable.
Error
Phản hồi 200: Analysis
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
object
"analysis"
Có
created
integer
Có
Dấu thời gian Unix.
model
string
Có
Snapshot đã tạo ra kết quả.
livemode
boolean
Có
status
một trong "processing", "succeeded", "failed", "canceled"
Có
file
object
Có
report_id
string hoặc null
Có
Mã báo cáo có thể xác minh, FV-XXXX-XXXX-XXXX.
report_url
string hoặc null
Có
Trang xác minh công khai của báo cáo.
summary
ImageSummary hoặc DocumentSummary hoặc null
Có
Kết luận ngắn gọn, ổn định: ImageSummary cho ảnh, DocumentSummary cho tài liệu, null cho đến khi lượt phân tích thành công.
result
object hoặc null
Có
Xuất hiện khi status là succeeded và cho đến khi kết quả hết hạn.
error
object hoặc null
Có
progress
object hoặc null
Có
usage
object
Có
metadata
object hoặc null
Có
completed_at
integer hoặc null
Có
expires_at
integer hoặc null
Có
Dấu thời gian Unix mà sau đó kết quả bị xóa.
file: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string hoặc null
Không
bytes
integer hoặc null
Không
format
string hoặc null
Không
summary (ImageSummary): các trường
Trường
Kiểu
Bắt buộc
Mô tả
level
một trong "L0", "L1", "L2", "L3", "L4", "L5"
Có
Mức độ rủi ro, từ L0 đến L5.
assessment
một trong "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"
Có
action
một trong "accept", "review", "reject", "resubmit"
Có
ai
một trong "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"
Có
Phát hiện về nội dung do AI tạo ra.
edit
một trong "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"
Có
Phát hiện về chỉnh sửa cục bộ.
summary (DocumentSummary): các trường
Trường
Kiểu
Bắt buộc
Mô tả
kind
"docpro"
Có
level
một trong "L0", "L1", "L2", "L3", "L4", "L5"
Có
Mức độ rủi ro, từ L0 đến L5.
action
một trong "accept", "note", "review", "reject", "resubmit"
Có
note: hãy đối chiếu nội dung AI được đánh dấu trong báo cáo với chính sách của bạn.
reason
string hoặc null
Có
Phát hiện hoặc điều kiện đằng sau mức này, ví dụ clean hoặc incomplete, hoặc mã của một phát hiện.
findings
mảng string
Có
Mã của các phát hiện quan trọng.
pages
integer
Có
Số trang trong tài liệu.
images
integer
Có
Số ảnh nhúng đã được kiểm tra.
text
một trong "ai_generated", "mixed", "human", "inconclusive", null
Có
Kết luận về văn bản của tài liệu, hoặc null nếu văn bản không được đánh giá.
strong
true
Không
Xuất hiện khi một phát hiện được liệt kê là mạnh.
result: các trường
Trường
Kiểu
Bắt buộc
Mô tả
report
ImageReport hoặc DocumentReport
Không
Báo cáo đầy đủ. report.schema là fileverity.report/1 cho ảnh và fileverity.docpro/1 cho tài liệu.
stamped_at
integer hoặc null
Không
Dấu thời gian Unix của dấu thời gian RFC 3161 được cấp cho báo cáo, hoặc null.
report (ImageReport): các trường
Trường
Kiểu
Bắt buộc
Mô tả
schema
"fileverity.report/1"
Có
id
string
Có
Mã báo cáo, FV-XXXX-XXXX-XXXX.
sample
true
Không
Có trong các báo cáo mẫu cố định mà khóa thử nghiệm trả về.
issuedAt
string
Không
Thời điểm báo cáo được cấp, theo ISO 8601 ở UTC. Định dạng date-time.
issuer
object
Không
Đơn vị cấp báo cáo.
file
object
Không
Ảnh đã được kiểm tra.
pro
object
Không
Kết luận. Cùng các giá trị như summary, kèm lý do.
score
integer hoặc null
Không
Điểm xác thực từ 0 đến 100, với bước nhảy 5: bằng chứng ủng hộ mạnh đến đâu việc ảnh là một ảnh chụp xác thực, chưa qua chỉnh sửa. null khi không được đánh giá.
confidence
một trong "high", "medium", "low"
Không
Mức độ mà tệp này cho phép lượt phân tích xác lập được. Mức tin cậy thấp thường phản ánh chính tệp, chẳng hạn độ phân giải thấp hoặc nén mạnh.
questions
object
Không
Ba câu hỏi mà báo cáo trả lời.
generator
object hoặc null
Không
Công cụ tạo ảnh AI được nêu cho ảnh này, hoặc null.
regions
mảng object
Không
Các vùng được đánh dấu, tính bằng điểm ảnh của ảnh được hiển thị.
provenance
object
Không
Những gì chính các bản ghi của tệp cho biết về nguồn gốc của tệp.
digest
string
Không
Giá trị băm của nội dung báo cáo, được trang xác minh sử dụng.
issuer: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string
Không
operator
string
Không
verify
string
Không
Trang xác minh công khai của báo cáo.
file: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string hoặc null
Không
sha256
string
Không
Giá trị băm SHA-256 của tệp đã kiểm tra, ở dạng hex.
bytes
integer
Không
width
integer
Không
Chiều rộng tính bằng điểm ảnh như khi hiển thị.
height
integer
Không
Chiều cao tính bằng điểm ảnh như khi hiển thị.
format
string
Không
pro: các trường
Trường
Kiểu
Bắt buộc
Mô tả
level
một trong "L0", "L1", "L2", "L3", "L4", "L5"
Không
Mức độ rủi ro, từ L0 đến L5.
action
một trong "accept", "review", "reject", "resubmit"
Không
assessment
một trong "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined"
Không
reason
string hoặc null
Không
questions: các trường
Trường
Kiểu
Bắt buộc
Mô tả
ai
object
Không
edit
object
Không
source
object
Không
ai: các trường
Trường
Kiểu
Bắt buộc
Mô tả
key
một trong "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated"
Không
basis
một trong "verified", "detected", "declared", null
Không
Cơ sở của câu trả lời.
strength
một trong "strong", "moderate", "limited", null
Không
Bằng chứng ủng hộ câu trả lời mạnh đến đâu.
likelihood
integer hoặc null
Không
Khả năng nội dung do AI tạo ra, từ 0 đến 100 với bước nhảy 5, hoặc null.
edit: các trường
Trường
Kiểu
Bắt buộc
Mô tả
key
một trong "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated"
Không
basis
một trong "verified", "detected", "declared", null
Không
Cơ sở của câu trả lời.
strength
một trong "strong", "moderate", "limited", null
Không
Bằng chứng ủng hộ câu trả lời mạnh đến đâu.
regions
integer
Không
Số vùng được đánh dấu.
source: các trường
Trường
Kiểu
Bắt buộc
Mô tả
key
string
Không
basis
một trong "verified", "detected", "declared", null
Không
Cơ sở của câu trả lời.
strength
một trong "strong", "moderate", "limited", null
Không
Bằng chứng ủng hộ câu trả lời mạnh đến đâu.
signer
string hoặc null
Không
aiClaim
boolean
Không
Liệu bản ghi của chính tệp có khai là do AI tạo ra hay không.
generator: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string
Không
basis
string
Không
Cách xác định công cụ tạo ảnh.
regions: các trường
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Không
x
integer
Không
y
integer
Không
w
integer
Không
h
integer
Không
strength
một trong "high", "medium"
Không
provenance: các trường
Trường
Kiểu
Bắt buộc
Mô tả
credentials
một trong "valid", "unverified", "issues", "invalid", "removed", "none"
Không
Trạng thái của Content Credentials.
signer
string hoặc null
Không
software
mảng string
Không
Phần mềm được nêu trong bản ghi của tệp.
camera
string hoặc null
Không
captured
string hoặc null
Không
Thời điểm chụp được ghi trong tệp, nếu có.
report (DocumentReport): các trường
Trường
Kiểu
Bắt buộc
Mô tả
schema
"fileverity.docpro/1"
Có
id
string
Có
Mã báo cáo, FV-XXXX-XXXX-XXXX.
sample
true
Không
Có trong các báo cáo mẫu cố định mà khóa thử nghiệm trả về.
issuedAt
string
Không
Thời điểm báo cáo được cấp, theo ISO 8601 ở UTC. Định dạng date-time.
receivedAt
string
Không
Thời điểm nhận tệp, theo ISO 8601 ở UTC. Định dạng date-time.
issuer
object
Không
Đơn vị cấp báo cáo.
file
object
Không
Tài liệu đã được kiểm tra.
level
một trong "L0", "L1", "L2", "L3", "L4", "L5"
Không
Mức độ rủi ro, từ L0 đến L5.
action
một trong "accept", "note", "review", "reject", "resubmit"
Không
reason
string hoặc null
Không
Phát hiện hoặc điều kiện dẫn đến mức này.
findings
mảng object
Không
Các phát hiện dẫn đến mức này, mỗi phát hiện kèm các trang và ảnh nhúng mà nó đề cập.
text
object
Không
Kết quả cho văn bản của tài liệu.
images
mảng object
Không
Các ảnh và hình đồ họa nhúng, được đánh số theo thứ tự trong tài liệu.
structure
object hoặc null
Không
Lịch sử chỉnh sửa của tệp, hoặc null khi chưa được kiểm tra.
provenance
object
Không
Những gì chính các bản ghi của tệp cho biết về nguồn gốc của tệp.
digest
string
Không
Giá trị băm của nội dung báo cáo, được trang xác minh sử dụng.
issuer: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string
Không
operator
string
Không
verify
string
Không
Trang xác minh công khai của báo cáo.
file: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string hoặc null
Không
sha256
string
Không
Giá trị băm SHA-256 của tệp đã kiểm tra, ở dạng hex.
bytes
integer
Không
format
string
Không
pages
integer
Không
textLayer
một trong "present", "partial", "absent"
Không
Liệu tài liệu có lớp văn bản hay không.
findings: các trường
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Không
basis
một trong "verified", "detected", "declared"
Không
strength
một trong "strong", "moderate", "limited"
Không
material
boolean
Không
Liệu phát hiện có được tính vào mức hay không.
pages
mảng integer
Không
images
mảng integer
Không
text: các trường
Trường
Kiểu
Bắt buộc
Mô tả
status
một trong "evaluated", "insufficient_text", "unsupported_language", "no_text"
Không
verdict
một trong "ai_generated", "mixed", "human", "inconclusive"
Không
Xuất hiện khi status là evaluated.
words
integer
Không
languages
mảng string
Không
passages
integer
Không
Số đoạn được đánh dấu.
images: các trường
Trường
Kiểu
Bắt buộc
Mô tả
n
integer
Không
pages
mảng integer
Không
kind
một trong "photo", "graphic"
Không
width
integer
Không
height
integer
Không
level
một trong "L0", "L1", "L2", "L3", "L4", "L5", null
Không
assessment
một trong "authentic_untouched", "authentic_locally_edited", "ai_generated", "undetermined", null
Không
ai
một trong "labelled", "very_likely", "suspected", "undecided", "low", "very_low", "not_evaluated", null
Không
edit
một trong "detected", "suspected", "suspected_record", "review", "generative", "minor", "none", "not_applicable", "not_evaluated", null
Không
structure: các trường
Trường
Kiểu
Bắt buộc
Mô tả
revisions
integer hoặc null
Không
changedPages
mảng integer
Không
addedPages
integer
Không
signatures
integer
Không
provenance: các trường
Trường
Kiểu
Bắt buộc
Mô tả
credentials
string
Không
Trạng thái của Content Credentials.
signer
string hoặc null
Không
aiClaim
boolean
Không
Liệu bản ghi của chính tệp có khai là do AI tạo ra hay không.
Hủy một lượt phân tích tài liệu đang xử lý và hoàn lại khoản tạm giữ của lượt đó. Các lượt phân tích ảnh không thể hủy sau khi đã được tạo.
Tham số
Tên
Vị trí
Kiểu
Bắt buộc
Mô tả
id
path
string
Có
Mã lượt phân tích.
Idempotency-Key
header
string
Không
Khóa duy nhất tối đa 255 ký tự. Gửi lại yêu cầu với cùng khóa và cùng nội dung trong vòng 24 giờ sẽ trả về phản hồi đầu tiên kèm header idempotent-replayed: true; cùng khóa nhưng nội dung khác trả về 409.
Phản hồi
Trạng thái
Mô tả
Nội dung
200
Lượt phân tích đã bị hủy.
Analysis
400
Yêu cầu không hợp lệ. Mã lỗi: invalid_parameter.
Error
401
Thiếu khóa API hoặc khóa API không hợp lệ. Mã lỗi: missing_api_key, invalid_api_key.
Error
404
Không tìm thấy tài nguyên. Mã lỗi: not_found.
Error
409
Xung đột với trạng thái hiện tại. Mã lỗi: not_cancelable, idempotency_mismatch, idempotency_in_progress.
Error
429
Quá nhiều yêu cầu. Mã lỗi: rate_limited.
Error
500
Lỗi nội bộ; không bị tính phí. Mã lỗi: internal_error.
Error
Phản hồi 200: Analysis
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
object
"analysis"
Có
created
integer
Có
Dấu thời gian Unix.
model
string
Có
Snapshot đã tạo ra kết quả.
livemode
boolean
Có
status
một trong "processing", "succeeded", "failed", "canceled"
Có
file
object
Có
report_id
string hoặc null
Có
Mã báo cáo có thể xác minh, FV-XXXX-XXXX-XXXX.
report_url
string hoặc null
Có
Trang xác minh công khai của báo cáo.
summary
ImageSummary hoặc DocumentSummary hoặc null
Có
Kết luận ngắn gọn, ổn định: ImageSummary cho ảnh, DocumentSummary cho tài liệu, null cho đến khi lượt phân tích thành công.
result
object hoặc null
Có
Xuất hiện khi status là succeeded và cho đến khi kết quả hết hạn.
error
object hoặc null
Có
progress
object hoặc null
Có
usage
object
Có
metadata
object hoặc null
Có
completed_at
integer hoặc null
Có
expires_at
integer hoặc null
Có
Dấu thời gian Unix mà sau đó kết quả bị xóa.
file: các trường
Trường
Kiểu
Bắt buộc
Mô tả
name
string hoặc null
Không
bytes
integer hoặc null
Không
format
string hoặc null
Không
result: các trường
Trường
Kiểu
Bắt buộc
Mô tả
report
ImageReport hoặc DocumentReport
Không
Báo cáo đầy đủ. report.schema là fileverity.report/1 cho ảnh và fileverity.docpro/1 cho tài liệu.
stamped_at
integer hoặc null
Không
Dấu thời gian Unix của dấu thời gian RFC 3161 được cấp cho báo cáo, hoặc null.
Trả về báo cáo PDF có dấu niêm phong của một lượt phân tích thành công trong khi kết quả của nó còn được lưu. Khóa thử nghiệm nhận 404. Bằng chứng của tài liệu như ảnh các trang có sẵn trong 3 giờ sau lượt phân tích; sau đó PDF không còn chứa phần này, được báo hiệu bằng x-evidence-included: false.
Tham số
Tên
Vị trí
Kiểu
Bắt buộc
Mô tả
id
path
string
Có
Mã lượt phân tích.
locale
query
một trong "en", "fr", "de", "es", "zh", "vi", "ar"
Không
Mặc định "en".
Phản hồi
Trạng thái
Mô tả
Nội dung
200
Báo cáo PDF.
Tệp PDF
400
Yêu cầu không hợp lệ. Mã lỗi: invalid_parameter.
Error
401
Thiếu khóa API hoặc khóa API không hợp lệ. Mã lỗi: missing_api_key, invalid_api_key.
Error
404
Không tìm thấy tài nguyên. Mã lỗi: not_found.
Error
429
Quá nhiều yêu cầu. Mã lỗi: rate_limited.
Error
500
Lỗi nội bộ; không bị tính phí. Mã lỗi: internal_error.
{"object":"list","data":[{"id":"fvimg-2","object":"model","created": 1793318400,"owned_by":"fileverity","name":"FVIMG V2","type":"image","description":"Image authenticity analysis. Detects AI generation and local edits, checks content credentials and metadata, and returns a verifiable report.","snapshot":"fvimg-2-2026-10-30","status":"available","input":{"formats":["jpeg","png","webp"],"max_bytes": 10485760,"max_megapixels": 40},"output":{"schema":"fileverity.report/1"},"pricing":{"currency":"usd","unit":"image","unit_amount": 199}},{"id":"fvdoc-3","object":"model","created": 1793664000,"owned_by":"fileverity","name":"FVDOC V3","type":"document","description":"Document fraud analysis. Evaluates AI-written text, embedded photos, edit history and signatures, and returns a verifiable report.","snapshot":"fvdoc-3-2026-11-03","status":"available","input":{"formats":["pdf","docx","doc","rtf","odt","pptx","txt"],"max_bytes": 52428800,"max_pages": 100},"output":{"schema":"fileverity.docpro/1"},"pricing":{"currency":"usd","unit":"document","unit_amount": 599}},{"id":"fvdoc-3-text","object":"model","created": 1793664000,"owned_by":"fileverity","name":"FVDOC V3 Text","type":"text","description":"AI-written text detection. Classifies plain text as AI-written, partly AI-written or human-written and marks the AI-written passages.","snapshot":"fvdoc-3-text-2026-11-03","status":"available","input":{"languages":["en","fr","de","es","zh"],"min_words": 100,"max_characters": 100000},"output":{"schema":"fileverity.text-detection/1"},"pricing":{"currency":"usd","unit":"1000_characters","unit_amount": 14}}]}
{"id":"fvimg-2","object":"model","created": 1793318400,"owned_by":"fileverity","name":"FVIMG V2","type":"image","description":"Image authenticity analysis. Detects AI generation and local edits, checks content credentials and metadata, and returns a verifiable report.","snapshot":"fvimg-2-2026-10-30","status":"available","input":{"formats":["jpeg","png","webp"],"max_bytes": 10485760,"max_megapixels": 40},"output":{"schema":"fileverity.report/1"},"pricing":{"currency":"usd","unit":"image","unit_amount": 199}}
Được gửi tới các endpoint webhook của bạn theo đặc tả Standard Webhooks: các header webhook-id, webhook-timestamp và webhook-signature (v1,<base64 của HMAC-SHA256 trên id.timestamp.body>, dùng phần base64 của khóa bí mật whsec_ làm khóa). Hãy phản hồi bằng bất kỳ mã 2xx nào trong vòng 10 giây; các lần thất bại được thử lại với độ trễ tăng dần theo cấp số nhân (exponential backoff) trong 3 ngày.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
Cũng được gửi dưới dạng header webhook-id; dùng để loại bỏ các yêu cầu thử lại trùng lặp.
object
"event"
Có
type
một trong "analysis.completed", "analysis.failed", "balance.low"
Có
created
integer
Có
Dấu thời gian Unix.
data
Analysis hoặc BalanceLow
Có
Các sự kiện analysis.* chứa cùng đối tượng với GET /analyses/{id}, trong đó result luôn là null; hãy lấy kết quả bằng endpoint đó. Các sự kiện balance.low chứa số dư và ngưỡng, tính bằng cent.
Được gửi tới các endpoint webhook của bạn theo đặc tả Standard Webhooks: các header webhook-id, webhook-timestamp và webhook-signature (v1,<base64 của HMAC-SHA256 trên id.timestamp.body>, dùng phần base64 của khóa bí mật whsec_ làm khóa). Hãy phản hồi bằng bất kỳ mã 2xx nào trong vòng 10 giây; các lần thất bại được thử lại với độ trễ tăng dần theo cấp số nhân (exponential backoff) trong 3 ngày.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
Cũng được gửi dưới dạng header webhook-id; dùng để loại bỏ các yêu cầu thử lại trùng lặp.
object
"event"
Có
type
một trong "analysis.completed", "analysis.failed", "balance.low"
Có
created
integer
Có
Dấu thời gian Unix.
data
Analysis hoặc BalanceLow
Có
Các sự kiện analysis.* chứa cùng đối tượng với GET /analyses/{id}, trong đó result luôn là null; hãy lấy kết quả bằng endpoint đó. Các sự kiện balance.low chứa số dư và ngưỡng, tính bằng cent.
Được gửi tới các endpoint webhook của bạn theo đặc tả Standard Webhooks: các header webhook-id, webhook-timestamp và webhook-signature (v1,<base64 của HMAC-SHA256 trên id.timestamp.body>, dùng phần base64 của khóa bí mật whsec_ làm khóa). Hãy phản hồi bằng bất kỳ mã 2xx nào trong vòng 10 giây; các lần thất bại được thử lại với độ trễ tăng dần theo cấp số nhân (exponential backoff) trong 3 ngày.
Nội dung yêu cầu: application/json, bắt buộc
Trường
Kiểu
Bắt buộc
Mô tả
id
string
Có
Cũng được gửi dưới dạng header webhook-id; dùng để loại bỏ các yêu cầu thử lại trùng lặp.
object
"event"
Có
type
một trong "analysis.completed", "analysis.failed", "balance.low"
Có
created
integer
Có
Dấu thời gian Unix.
data
Analysis hoặc BalanceLow
Có
Các sự kiện analysis.* chứa cùng đối tượng với GET /analyses/{id}, trong đó result luôn là null; hãy lấy kết quả bằng endpoint đó. Các sự kiện balance.low chứa số dư và ngưỡng, tính bằng cent.