Skip to content
Skill Authoring
Skill

/venice-augment

Venice augmentation endpoints for agent pipelines. Covers POST /augment/text-parser (extract text from PDF/EPUB/DOCX/PPTX/XLSX/XLS, plain text and source code; multipart, up to 25MB; JSON or plain-text response), POST /augment/scrape (fetch a URL and return markdown; blocks

BOOST
From plugin
venice
15422 skills
Install
$ npx -y skills add veniceai/skills --skill venice-augment --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/venice-augment

Context preview

The summary Claude sees to decide when to auto-load this skill.

Venice augmentation endpoints for agent pipelines. Covers POST /augment/text-parser (extract text from PDF/EPUB/DOCX/PPTX/XLSX/XLS, plain text and source code; multipart, up to 25MB; JSON or plain-text response), POST /augment/scrape (fetch a URL and return markdown; blocks

SKILL.md

venice-augment.SKILL.md
name: venice-augment
description: Venice augmentation endpoints for agent pipelines. Covers POST /augment/text-parser (extract text from PDF/EPUB/DOCX/PPTX/XLSX/XLS, plain text and source code; multipart, up to 25MB; JSON or plain-text response), POST /augment/scrape (fetch a URL and return markdown; blocks X/Reddit and private/internal URLs), and POST /augment/search (Brave ZDR or anonymized Google; structured title/url/content/date results, limit up to 20 but effectively capped at 10 Brave / 5 Google). $0.01 per successful call, 20 req/min on scrape and search, privacy, and error shapes.

Venice Augment (text parse / scrape / search)

Three lightweight helpers for agent pipelines that need document text, web pages, or search results without running your own parser, crawler, or search account. All three are marked **experimental** in the docs — request/response shapes may change.

| Endpoint | Input | Output | Price | |---|---|---|---| | `POST /augment/text-parser` | `multipart/form-data` `file` (≤ 25 MB) | `{ text, tokens }` JSON, or `text/plain` | $0.01 / successful call | | `POST /augment/scrape` | `{ url }` | `{ url, content, format: "markdown" }` | $0.01 / successful call | | `POST /augment/search` | `{ query, limit?, search_provider? }` | `{ query, results: [{ title, url, content, date }] }` | $0.01 / successful call |

All three accept a **Bearer API key** or an **x402 wallet** (`SIGN-IN-WITH-X` header) — see [`venice-auth`](../venice-auth/SKILL.md). The balance is checked before the work runs; the charge is applied only after a `200` response. (The OpenAPI `x-payment-info` advertises a generic dynamic range of `$0.001–$10.00`; the actual price sheet charge is $0.01.)

`POST /augment/text-parser` — extract text from documents

Request

Always `multipart/form-data`:

| Field | Notes | |---|---| | `file` | Required. Max **25 MB** (larger → `413`). | | `response_format` | `json` (default) or `text`. |

Accepted file types (matched by MIME type, or by filename extension when the MIME type isn't recognized, e.g. `application/octet-stream`):

  • **Structured documents:** PDF, EPUB, DOCX, PPTX, XLSX, XLS. Legacy `.doc` and `.ppt` are **not** accepted.
  • **Text / data:** any `text/*` MIME, plus Markdown, CSV/TSV, JSON/JSONL, YAML, TOML, XML, HTML, RTF, LaTeX, logs, etc.
  • **Source code:** `.py`, `.ts`, `.js`, `.go`, `.rs`, `.c`, `.cpp`, `.java`, `.sh`, `.ps1`, `.sql`, … plus extensionless `Dockerfile` / `Makefile` (~140 text/data/code extensions are recognized in total).

Anything else → `400 Unsupported file type`.

curl -X POST https://api.venice.ai/api/v1/augment/text-parser \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -F "file=@./contract.pdf" \
  -F "response_format=json"

Response

`response_format=json`:

{
  "text": "…extracted text…",
  "tokens": 3821
}

`response_format=text` — the raw extracted text as the body (`Content-Type: text/plain`).

Tips

  • DOCX, PPTX, XLSX/XLS and EPUB come back as **markdown** (spreadsheets as markdown tables). PDFs and text files come back as plain text.
  • `tokens` is a character-based estimate (`ceil(chars / 3.2)`), not a model tokenizer count — use it for rough budgeting of a downstream chat request.
  • Scanned/image-only PDFs are not OCR'd; if nothing can be extracted you get `400 "No text content could be extracted from the file."` Run page images through a vision model via `/chat/completions` instead.
  • Password-protected PDFs → `400 "The PDF file is password-protected…"`; empty/corrupt PDFs → `400 "The PDF file is empty or invalid."`
  • Documents are processed **in memory** and content is not retained after the response. (Operational metadata such as request IDs and error traces may still be logged — this is a no-content-retention guarantee, not a zero-log guarantee.)

`POST /augment/scrape` — URL → markdown

Request

{ "url": "https://example.com/article" }

`url` must be a valid absolute `http://` or `https://` URL.

curl -X POST https://api.venice.ai/api/v1/augment/scrape \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

Response

{
  "url": "https://example.com",
  "content": "# Example Domain\n\nThis domain is for use in …",
  "format": "markdown"
}

How it fetches

Sites that serve markdown directly are returned as-is; otherwise the page is fetched and converted to markdown. Redirects are followed, but a redirect to a private/internal target fails the request (see below). The X/Reddit blocklist is checked against the URL you send, not against redirect targets.

Tips

  • **Blocked sites** — `x.com`, `twitter.com` (incl. `www.` / `mobile.`) and `reddit.com` (incl. `www.` / `old.` / `new.`) are rejected immediately with `400`. Use `enable_x_search` or `enable_web_search` on `/chat/completions` for those — see [`venice-chat`](../venice-chat/SKILL.md).
  • **Blocked URLs** — non-HTTP(S) schemes, URLs with embedded credentials, `localhost` / private / reserved IPs and cloud-metadata hosts return `400`. A public hostname that resolves or redirects to such a target fails with `500`.
  • Unreachable hosts, timeouts and pages with no extractable content return `500` with a message (e.g. `"URL unreachable: …"`). You are not charged.
  • Some sites return a partial body. Check `content` length before piping it into a model.
  • Rate limit: **20 requests/minute per user** (`429` beyond that). The counter runs before URL validation, so rejected URLs also count.

`POST /augment/search` — web search

Request

| Field | Notes | |---|---| | `query` | Required. 1–400 chars. Longer is **rejected** (`400`), not truncated. | | `limit` | Integer 1–20. Default `10`. See the cap below. | | `search_provider` | `"brave"` (default) or `"google"`. |

curl -X POST https://api.venice.ai/api/v1/augment/search \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: appl
Read more
Ships withvenice

Agent Skills for the Venice API. Skills are self-contained folders of instructions (one SKILL.md each) that an LLM agent loads on demand to work correctly against a specific surface area of the API.

Get the whole plugin

Other skills on venice.