diff --git a/.env.sample b/.env.sample index 8c83710..1476ca0 100644 --- a/.env.sample +++ b/.env.sample @@ -9,6 +9,7 @@ # Examples: # OpenAI models: gpt-4o, gpt-4o-mini, gpt-4-vision-preview # OpenRouter models: openrouter/anthropic/claude-3.5-sonnet, openrouter/google/gemini-pro-vision +# Requesty models: requesty/openai/gpt-4o, requesty/anthropic/claude-sonnet-4-5 # OpenAI-Compatible models: openai/hunyuan-turbo-vision, openai/doubao-1-5-vision-pro-32k-250115 MODEL_NAME=gpt-4o @@ -24,6 +25,10 @@ MODEL_NAME=gpt-4o # OPENROUTER_API_KEY=your-openrouter-api-key-here # OPENROUTER_API_BASE=https://openrouter.ai/api/v1/ # [OPTIONAL] +# Requesty API Key (for Requesty models) - get one at https://app.requesty.ai/api-keys +# REQUESTY_API_KEY=your-requesty-api-key-here +# REQUESTY_API_BASE=https://router.requesty.ai/v1 # [OPTIONAL] + # ============================================================================= # Generation Parameters (Optional) # ============================================================================= @@ -49,6 +54,10 @@ RETRY_TIMES=3 # MODEL_NAME=openrouter/anthropic/claude-sonnet-4 # OPENROUTER_API_KEY=sk-or-v1-... +# For Requesty GPT-4o: +# MODEL_NAME=requesty/openai/gpt-4o +# REQUESTY_API_KEY=... + # For Doubao 1.5 Vision Pro: # MODEL_NAME=openai/doubao-1-5-vision-pro-32k-250115 # OPENAI_API_KEY=sk-... diff --git a/README.md b/README.md index d551d04..453d671 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ MarkPDFDown is designed to simplify the process of converting PDF documents into - **PDF to Markdown Conversion**: Transform any PDF document into well-formatted Markdown - **Image to Markdown Conversion**: Transform image into well-formatted Markdown -- **Multi-Provider Support**: Supports OpenAI and OpenRouter through LiteLLM +- **Multi-Provider Support**: Supports OpenAI, OpenRouter, and Requesty through LiteLLM - **Flexible CLI**: Both file-based and pipe-based usage modes - **Format Preservation**: Maintains headings, lists, tables, and other formatting elements - **Page Range Selection**: Convert specific page ranges from PDF documents @@ -92,6 +92,8 @@ MODEL_NAME=gpt-4o OPENAI_API_KEY=your-openai-api-key # or for OpenRouter OPENROUTER_API_KEY=your-openrouter-api-key +# or for Requesty +REQUESTY_API_KEY=your-requesty-api-key # Optional Parameters TEMPERATURE=0.3 @@ -115,6 +117,13 @@ MODEL_NAME=openrouter/google/gemini-pro-vision MODEL_NAME=openrouter/meta-llama/llama-3.2-90b-vision ``` +#### Requesty Models +Get your API key at https://app.requesty.ai/api-keys +```bash +MODEL_NAME=requesty/openai/gpt-4o +MODEL_NAME=requesty/anthropic/claude-sonnet-4-5 +``` + ## Usage ### File Mode (Recommended) @@ -172,6 +181,12 @@ docker run -i \ -e MODEL_NAME=openrouter/anthropic/claude-3.5-sonnet \ -e OPENROUTER_API_KEY=your-openrouter-key \ markpdfdown < input.pdf > output.md + +# Using Requesty +docker run -i \ + -e MODEL_NAME=requesty/openai/gpt-4o \ + -e REQUESTY_API_KEY=your-requesty-key \ + markpdfdown < input.pdf > output.md ``` ## Development Setup diff --git a/src/markpdfdown/config.py b/src/markpdfdown/config.py index 6381ed0..a8eeeae 100644 --- a/src/markpdfdown/config.py +++ b/src/markpdfdown/config.py @@ -17,7 +17,7 @@ class Config(BaseModel): # Model configuration model_name: str = Field( default="gpt-4o", - description="LLM model name (e.g., gpt-4o, openrouter/anthropic/claude-3.5-sonnet)", + description="LLM model name (e.g., gpt-4o, openrouter/anthropic/claude-3.5-sonnet, requesty/openai/gpt-4o)", ) # Generation parameters