Official Python SDK for Ediq AI Detection API - Education & HR modes
Project description
Ediq - AI Detection SDK
Official Python client for Ediq AI Detection API by Wyzcon.
Detect AI-generated content in educational documents (essays, assignments) and HR documents (resumes, cover letters, LinkedIn profiles) with 96% accuracy.
Installation
pip install ediq
Quick Start
from ediq import Ediq
client = Ediq("wyz_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
# Education: Detect AI in student essays
result = client.detect_edu("Student essay text...")
print(f"AI Probability: {result.probability}%")
# HR: Detect AI in resumes
result = client.detect_hr("Resume text...", context="resume")
print(f"AI Probability: {result.probability}%")
Get Your API Key
- Sign up at wyzcon.com
- Get your free API key
- Start detecting AI content
Two Detection Modes
🎓 Education Mode
For essays, assignments, and student work. Supports student baselines for personalized detection.
💼 HR Mode
For resumes, cover letters, and LinkedIn profiles. Optimized for professional document patterns.
Features
- ✅ 96% accuracy on 10,000+ tested documents
- ✅ 9-layer detection system
- ✅ Student baselines - Protect good writers (Education)
- ✅ HR context awareness - Resume, cover letter, LinkedIn (HR)
- ✅ Photo scanning - OCR for handwritten work
- ✅ Comprehensive reports - Detailed analysis
- ✅ Type hints - Full autocomplete support
Education Mode Examples
Basic Education Detection
from ediq import Ediq
client = Ediq("your_api_key")
# Analyze student essay
result = client.detect_edu("The importance of renewable energy...")
print(f"AI: {result.probability}%")
print(f"Assessment: {result.assessment}")
With Student Baseline
Compare against a student's verified previous work to reduce false positives:
result = client.detect_edu(
text="Current submission...",
student_id="john_doe",
baseline="Previous authentic work..."
)
print(f"AI: {result.probability}%")
print(f"Baseline Similarity: {result.baseline_similarity:.1%}")
Detect from File (Education)
result = client.detect_edu_file("essay.pdf")
print(f"AI: {result.probability}%")
Detect from Image (Handwritten)
result = client.detect_edu_image(
"handwritten_essay.jpg",
handwritten=True
)
print(f"AI: {result.probability}%")
Formal Writing Mode
For academic papers and formal essays (reduces false positives):
result = client.detect_edu(
text="Formal academic paper...",
formal_mode=True
)
HR Mode Examples
Detect AI in Resume
from ediq import Ediq, HRContextType
client = Ediq("your_api_key")
# Analyze resume text
result = client.detect_hr(
text="Experienced software engineer with 5+ years...",
context="resume" # or HRContextType.RESUME
)
print(f"AI: {result.probability}%")
print(f"Assessment: {result.assessment}")
Detect AI in Cover Letter
result = client.detect_hr(
text="I am writing to express my interest...",
context="cover_letter"
)
print(f"AI: {result.probability}%")
Detect AI in LinkedIn Profile
result = client.detect_hr(
text="Passionate technology leader driving innovation...",
context="linkedin_profile"
)
print(f"AI: {result.probability}%")
Detect from HR File
# Analyze resume PDF
result = client.detect_hr_file(
"resume.pdf",
context="resume"
)
print(f"AI: {result.probability}%")
# Analyze cover letter DOCX
result = client.detect_hr_file(
"cover_letter.docx",
context="cover_letter"
)
With Comprehensive Report
result = client.detect_hr(
text="Resume text...",
context="resume",
include_report=True
)
print(result.report) # Detailed writing analysis
HR Context Types
| Context | Use For |
|---|---|
resume |
CV, resume documents |
cover_letter |
Job application cover letters |
linkedin_profile |
LinkedIn about/summary sections |
other |
Other professional documents |
Check Usage
usage = client.usage()
print(f"Used: {usage.used}/{usage.limit}")
print(f"Remaining: {usage.remaining}")
print(f"Tier: {usage.tier}")
DetectionResult Properties
| Property | Type | Description |
|---|---|---|
probability |
float | AI probability (0-100) |
assessment |
str | Category: likely_human, borderline, suspicious, likely_ai, highly_likely_ai |
confidence |
float | Confidence score (0-100) |
word_count |
int | Words analyzed |
mode |
str | Detection mode: "education" or "hr" |
scan_id |
int | Saved scan ID |
baseline_similarity |
float | Baseline match (Education only) |
hr_context |
str | Document context (HR only) |
report |
dict | Full writing analysis (if requested) |
layers |
dict | Layer-by-layer breakdown |
Error Handling
from ediq import Ediq, EdiqError, RateLimitError, AuthenticationError
client = Ediq("your_api_key")
try:
result = client.detect_edu("Text...")
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded - wait and retry")
except EdiqError as e:
print(f"API error: {e}")
Migration from v1.x
The old methods still work but are deprecated:
# Old (still works, defaults to education mode)
result = client.detect("Text...")
result = client.detect_file("essay.pdf")
result = client.detect_image("photo.jpg")
# New (explicit mode selection)
result = client.detect_edu("Text...")
result = client.detect_hr("Text...", context="resume")
Documentation
Full documentation at docs.wyzcon.com
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ediq-2.0.0.tar.gz.
File metadata
- Download URL: ediq-2.0.0.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
371c2e6ac8d47aa3744d059e4a3361c730762693128b1b05acf38cdcb8ca2667
|
|
| MD5 |
5b74fec9dfddbcd791e861af401bdfe1
|
|
| BLAKE2b-256 |
3632429afe772b6f98da2de38085e9f19118036c30df7dfec76dc2ebee6f851f
|
File details
Details for the file ediq-2.0.0-py3-none-any.whl.
File metadata
- Download URL: ediq-2.0.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bafcf6853062f150ed4deda82af9162aa2a281defdc8b977d604e945de373947
|
|
| MD5 |
4f03e58549de3b15151307144af12792
|
|
| BLAKE2b-256 |
4fb9470493eb4a996cb69137ea5309f6602eb0261214924169053d8295ce7eb7
|