# PDF to Text Generator PDF to Text is an AI model that provides the text of a PDF from a URL. ## API Information - **Model Slug:** pdf-to-text - **Branded URL:** https://www.eachlabs.ai/eachlabs/eachlabs/pdf-to-text - **Provider:** each::labs - **Category:** PDF to Text - **Output Type:** text - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Per-second pricing based on provider predict_time. Rate: $0.00011/sec from GPU tier. - **Estimated Processing Time:** 31 seconds - **Last Updated:** 2026-06-01 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/pdf-to-text ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Per-second pricing based on provider predict_time. Rate: $0.00011/sec from GPU tier. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Per-second pricing based on provider predict_time. Rate: $0.00011/sec from GPU tier. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | url | string | Yes | - | - | Pdf Url | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "pdf-to-text", "input": { "url": "https://www.cdss.ca.gov/Portals/9/Additional-Resources/Letters-and-Notices/ACINs/2024/I-35_24.pdf" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "text", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **pdf-to-text — PDF Extraction AI Model** Developed by Eachlabs as part of the Eachlabs family, pdf-to-text is a document processing model that extracts and converts text from PDFs accessed via URL. It solves a critical problem for developers and content teams: automating the extraction of readable, structured text from PDF documents without manual copying or complex parsing workflows. Whether you're building a pdf to text conversion API, processing document archives, or feeding PDF content into downstream AI pipelines, pdf-to-text handles the extraction intelligently. The model's primary strength lies in its ability to preserve document structure while extracting text—maintaining headers, sections, and logical flow rather than producing flat, unorganized output. This makes it ideal for applications requiring semantic understanding of document hierarchy. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.