mycaptcha / src /models /task.py
dragg2's picture
Upload 16 files
5124452 verified
"""YesCaptcha / AntiCaptcha compatible API models."""
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, ConfigDict, Field
# ── createTask ──────────────────────────────────────────────
class TaskObject(BaseModel):
model_config = ConfigDict(populate_by_name=True)
type: str
websiteURL: str | None = None
websiteKey: str | None = None
pageAction: str | None = None
minScore: float | None = None
isInvisible: bool | None = None
isSession: bool | None = None
apiDomain: str | None = None
enterprisePayload: dict[str, Any] | None = None
# Image captcha / classification fields
body: str | None = None
image: str | None = None
images: list[str] | None = None
examples: list[str] | None = None
question: str | None = None
queries: list[str] | str | None = None
project_name: str | None = None
class CreateTaskRequest(BaseModel):
clientKey: str
task: TaskObject
class CreateTaskResponse(BaseModel):
errorId: int = 0
taskId: str | None = None
errorCode: str | None = None
errorDescription: str | None = None
# ── getTaskResult ───────────────────────────────────────────
class GetTaskResultRequest(BaseModel):
clientKey: str
taskId: str
class SolutionObject(BaseModel):
model_config = ConfigDict(populate_by_name=True)
gRecaptchaResponse: str | None = None
respKey: str | None = None
text: str | None = None
token: str | None = None
objects: list[int] | None = None
answer: bool | list[int] | None = None
userAgent: str | None = None
acceptLanguage: str | None = None
secChUa: str | None = None
secChUaMobile: str | None = None
secChUaPlatform: str | None = None
recaptchaCaT: str | None = Field(default=None, alias="recaptcha-ca-t")
recaptchaCaE: str | None = Field(default=None, alias="recaptcha-ca-e")
createTime: int | None = None
runtimeKind: str | None = None
class GetTaskResultResponse(BaseModel):
errorId: int = 0
status: str | None = None
solution: SolutionObject | None = None
errorCode: str | None = None
errorDescription: str | None = None
# ── getBalance ──────────────────────────────────────────────
class GetBalanceRequest(BaseModel):
clientKey: str
class GetBalanceResponse(BaseModel):
errorId: int = 0
balance: float = 99999.0