File size: 891 Bytes
16b2195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74cacc0
 
16b2195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Pydantic models for API request/response schemas."""

from typing import Optional, Union

from pydantic import BaseModel


class ParseResponse(BaseModel):
    success: bool
    markdown: Optional[str] = None
    json_content: Optional[Union[dict, list]] = None
    images_zip: Optional[str] = None
    image_count: int = 0
    error: Optional[str] = None
    pages_processed: int = 0
    device_used: Optional[str] = None
    vlm_model: Optional[str] = None
    gemini_page_count: int = 0
    gemini_pages: list[int] = []


class HealthResponse(BaseModel):
    status: str
    version: str
    model: str
    gemini_status: str = "unknown"
    images_scale: float = 2.0


class URLParseRequest(BaseModel):
    url: str
    output_format: str = "markdown"
    images_scale: Optional[float] = None
    start_page: int = 0
    end_page: Optional[int] = None
    include_images: bool = False