Paid tools for AI agents: web capture with SHA-256 receipts, tech-stack lookup and verification.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <PageVerified API key>; get a free key at https://pageverified.com/capture
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Airport reference data. a task needs the static facts about an airport: what an IATA or ICAO code means, where the airport is (city, region, country, coordinates, elevation), whether it has scheduled airline service, which airports a country has, or the straight-line distance and initial bearing between two of them. Cost: 1 credits per call.
Free-text search over airport, city and code. Returns a list.
Destination IATA or ICAO code. Must be sent with from.
One IATA (LHR) or ICAO (EGLL) code. Returns that single airport. Cannot be combined with q, country or from/to.
Origin IATA or ICAO code for a distance query. Must be sent with to.
Filters a q or country list by airport size. Refused on a code or from/to query, which have no list to shape.
Page size for a q or country list.
Rows to skip for a q or country list.
ISO 3166-1 alpha-2 country code. Returns that country's airports as a list.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http tools https://pageverified.com/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer <PageVerified API key>; get a free key at https://pageverified.com/captureAirport reference data. a task needs the static facts about an airport: what an IATA or ICAO code means, where the airport is (city, region, country, coordinates, elevation), whether it has scheduled airline service, which airports a country has, or the straight-line distance and initial bearing between two of them. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text search over airport, city and code. Returns a list. |
| to | string | Destination IATA or ICAO code. Must be sent with from. |
| code | string | One IATA (LHR) or ICAO (EGLL) code. Returns that single airport. Cannot be combined with q, country or from/to. |
| from | string | Origin IATA or ICAO code for a distance query. Must be sent with to. |
| type | string | Filters a q or country list by airport size. Refused on a code or from/to query, which have no list to shape. |
| limit | integer | Page size for a q or country list. |
| offset | integer | Rows to skip for a q or country list. |
| country | string | ISO 3166-1 alpha-2 country code. Returns that country's airports as a list. |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"description": "Free-text search over airport, city and code. Returns a list."
},
"to": {
"type": "string",
"description": "Destination IATA or ICAO code. Must be sent with from."
},
"code": {
"type": "string",
"description": "One IATA (LHR) or ICAO (EGLL) code. Returns that single airport. Cannot be combined with q, country or from/to."
},
"from": {
"type": "string",
"description": "Origin IATA or ICAO code for a distance query. Must be sent with to."
},
"type": {
"type": "string",
"description": "Filters a q or country list by airport size. Refused on a code or from/to query, which have no list to shape."
},
"limit": {
"type": "integer",
"description": "Page size for a q or country list."
},
"offset": {
"type": "integer",
"description": "Rows to skip for a q or country list."
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code. Returns that country's airports as a list."
}
}
}Capture a public HTTP(S) page as PNG, PDF or rendered HTML. Records what the PageVerified renderer saw; not a forensic chain of custody. PNG and HTML cost 1 credit; PDF costs 2 credits.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public HTTP or HTTPS page to render |
| format | string | |
| viewport | object | |
| full_page | boolean | |
| public_receipt | boolean | Publish a readable capture receipt |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public HTTP or HTTPS page to render"
},
"format": {
"enum": [
"png",
"pdf",
"html"
],
"type": "string",
"default": "png"
},
"viewport": {
"type": "object",
"properties": {
"width": {
"type": "integer",
"maximum": 2560,
"minimum": 320
},
"height": {
"type": "integer",
"maximum": 2000,
"minimum": 240
}
}
},
"full_page": {
"type": "boolean",
"default": false
},
"public_receipt": {
"type": "boolean",
"default": true,
"description": "Publish a readable capture receipt"
}
}
}Company open roles. a task needs the roles one named company is hiring for right now: the live list from that company's own Greenhouse, Lever or Ashby job board, with title, location, department, team, employment type, remote flag, posted date and a link to apply, and optionally the description as plain text. Give a board token or the careers-page URL; the provider is detected either way. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| company | string | The company's board token, as it appears in its job-board URL. Required unless careers_url is sent. |
| provider | string | auto (default), greenhouse, lever or ashby. Refused if it disagrees with careers_url. |
| careers_url | string | The company's Greenhouse, Lever or Ashby careers page. The provider and board token are derived from it. |
| include_description | boolean | Include each role's description as plain text. Off by default, because it makes the response much larger. |
{
"type": "object",
"required": [],
"properties": {
"company": {
"type": "string",
"description": "The company's board token, as it appears in its job-board URL. Required unless careers_url is sent."
},
"provider": {
"type": "string",
"description": "auto (default), greenhouse, lever or ashby. Refused if it disagrees with careers_url."
},
"careers_url": {
"type": "string",
"description": "The company's Greenhouse, Lever or Ashby careers page. The provider and board token are derived from it."
},
"include_description": {
"type": "boolean",
"description": "Include each role's description as plain text. Off by default, because it makes the response much larger."
}
}
}Currency conversion (reference rates). a task needs an indicative conversion of an amount between two of about 30 major currencies (AUD, USD, GBP, JPY, NZD, CAD, CNY and others) at the latest European Central Bank reference rates, for estimates or reports, not for transactions. The ECB publishes the euro rates free of charge on its website. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| to* | string | Three-letter code to convert to. |
| from* | string | Three-letter code of the currency the amount is in. |
| amount* | number | The amount to convert, as a JSON number. A numeric string is refused rather than guessed at. |
{
"type": "object",
"required": [
"amount",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Three-letter code to convert to."
},
"from": {
"type": "string",
"description": "Three-letter code of the currency the amount is in."
},
"amount": {
"type": "number",
"description": "The amount to convert, as a JSON number. A numeric string is refused rather than guessed at."
}
}
}Currency reference rates. a task needs today's European Central Bank reference exchange rates for about 30 major currencies (AUD, USD, GBP, JPY, NZD, CAD, CNY and others) against any of them as base, for information such as estimates or reports, not for transactions. The ECB publishes the euro rates free of charge on its website. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| base | string | Three-letter code to quote the rates against. Defaults to EUR, the currency the ECB publishes. |
{
"type": "object",
"required": [],
"properties": {
"base": {
"type": "string",
"description": "Three-letter code to quote the rates against. Defaults to EUR, the currency the ECB publishes."
}
}
}Developer utilities: cron, regex, UUID, slug and JSON. a task needs one of the small developer answers that would otherwise cost a round trip to a web tool: the next times a cron expression fires (in a named time zone and in UTC, with a plain-English reading and a note on which non-standard extensions it uses), what a regular expression matches in a piece of text (run on RE2, so no pattern can backtrack its way into exponential time, and a pattern whose compiled program is too large for the input it was given is refused rather than run), fresh UUIDs (version 4, or time-ordered version 7), a URL slug for a title, or JSON pretty-printed, minified or key-sorted with the line and column of a syntax error. Free, and no data is kept. Cost: 0 credits per call.
| Argument | Type | Description |
|---|---|---|
| text | string | The title to slugify, or the JSON document to format. |
| count | integer | How many cron runs, or how many UUIDs, to return. |
| flags | string | Distinct letters from i, m, s and u, for regex_test. |
| input | string | The text to run the pattern over, for regex_test. |
| limit | integer | Maximum matches to return, for regex_test. |
| start | string | ISO instant to start the cron walk from, for cron_next_runs. |
| indent |
Directory dataset. an agent needs a paged export or change feed of verified PageVerified directory facts. Cost: 10 credits per call.
| Argument | Type | Description |
|---|---|---|
| limit | integer | 1–500 rows; defaults to 500. Each successful page costs 10 credits, including an empty page. |
| since | string | ISO date or timestamp with timezone; includes rows verified OR updated at or after it. |
| cursor | string | Opaque next_cursor from the previous page. Keep category and since unchanged. If matching data changes, restart without a cursor. |
| format | string | json (default) or csv. CSV remains inside the JSON response envelope. |
| category | string | A PageVerified directory category slug. |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"description": "1–500 rows; defaults to 500. Each successful page costs 10 credits, including an empty page."
},
"since": {
"type": "string",
"description": "ISO date or timestamp with timezone; includes rows verified OR updated at or after it."
},
"cursor": {
"type": "string",
"description": "Opaque next_cursor from the previous page. Keep category and since unchanged. If matching data changes, restart without a cursor."
},
"format": {
"type": "string",
"description": "json (default) or csv. CSV remains inside the JSON response envelope."
},
"category": {
"type": "string",
"description": "A PageVerified directory category slug."
}
}
}Directory search. an agent needs to find AI-agent tools (MCP servers, frameworks, browser automation, memory, evals, voice, coding agents and more) by keyword or category before choosing one. Cost: 0 credits per call.
| Argument | Type | Description |
|---|---|---|
| q | string | Keyword to search over the verified tool listings. |
| limit | integer | Maximum tools to return. |
| category | string | One of the PageVerified directory category slugs. |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string",
"description": "Keyword to search over the verified tool listings."
},
"limit": {
"type": "integer",
"description": "Maximum tools to return."
},
"category": {
"type": "string",
"description": "One of the PageVerified directory category slugs."
}
}
}Email address check. an agent needs to screen an email address before a sign-up, lead import or send: syntax, whether the domain can receive mail (MX), disposable domains, role accounts and free mailbox providers — without contacting the mail server. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| email* | string | The address to screen. Nothing is sent to the mail server. |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The address to screen. Nothing is sent to the mail server."
}
}
}Email sending-domain check. a task needs to know whether a domain is set up to send email that inboxes accept: MX, SPF (with the 10-lookup limit), DKIM keys, DMARC policy, MTA-STS, TLS-RPT and BIMI, with a 0-100 score and plain-English fixes. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| string | An address to take the domain from. Refused if it disagrees with domain. | |
| domain | string | The sending domain to check. Required unless email is sent. |
| dkim_selectors | array | Extra DKIM selectors to look up, on top of the common ones this service tries. |
{
"type": "object",
"required": [],
"properties": {
"email": {
"type": "string",
"description": "An address to take the domain from. Refused if it disagrees with domain."
},
"domain": {
"type": "string",
"description": "The sending domain to check. Required unless email is sent."
},
"dkim_selectors": {
"type": "array",
"description": "Extra DKIM selectors to look up, on top of the common ones this service tries."
}
}
}File converter. a task has a file in one format and needs it in another: a Word document (.docx) to HTML, Markdown or plain text; HTML to Markdown or plain text; Markdown to HTML; CSV to JSON; JSON to CSV; or CSV and TSV either way. Send the file as a URL or base64, or paste the text. Input is capped at 6 MB, or 1 MB when the target is Markdown, and nothing is stored. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| to* | string | The output format. Supported pairs are returned on every response and on an unsupported_conversion error. |
| url | string | A public http(s) URL to read the document from. |
| from* | string | The input format: docx, html, markdown, csv, json or tsv. |
| text | string | The document as text. Not accepted for docx, which is binary. |
| file_base64 | string | The document as base64. Exactly one of text, url or file_base64. |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "The output format. Supported pairs are returned on every response and on an unsupported_conversion error."
},
"url": {
"type": "string",
"description": "A public http(s) URL to read the document from."
},
"from": {
"type": "string",
"description": "The input format: docx, html, markdown, csv, json or tsv."
},
"text": {
"type": "string",
"description": "The document as text. Not accepted for docx, which is binary."
},
"file_base64": {
"type": "string",
"description": "The document as base64. Exactly one of text, url or file_base64."
}
}
}Backlink check. a task needs to confirm that a page links to a site or URL: whether the link is there, whether it is followed (no nofollow, sponsored or ugc) and whether the linking page can be indexed, based on Google's published robots and link rules. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| target* | string | The site or URL the link should point at. |
| page_url* | string | The public page that should carry the link. |
{
"type": "object",
"required": [
"page_url",
"target"
],
"properties": {
"target": {
"type": "string",
"description": "The site or URL the link should point at."
},
"page_url": {
"type": "string",
"description": "The public page that should carry the link."
}
}
}Public-domain art and media search. a task needs an image or artwork that is free to use: public-domain works from The Metropolitan Museum of Art and the Art Institute of Chicago, each with title, artist, date, medium, a full-size image URL, a thumbnail, the museum's page for the work, the licence the museum publishes and a ready-made credit line. Only items the museum itself flags as public domain are returned. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| q* | string | What to search the museum collections for. |
| limit | integer | Maximum items to return. |
| source | string | all (default), met for The Metropolitan Museum of Art, or aic for the Art Institute of Chicago. |
| has_image | boolean | Only return items that have an image. On by default. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "What to search the museum collections for."
},
"limit": {
"type": "integer",
"description": "Maximum items to return."
},
"source": {
"type": "string",
"description": "all (default), met for The Metropolitan Museum of Art, or aic for the Art Institute of Chicago."
},
"has_image": {
"type": "boolean",
"description": "Only return items that have an image. On by default."
}
}
}Phone number check. a task needs to know whether a phone number is valid for its country, what kind of number it is (mobile, landline, toll-free, premium rate, VoIP) and its E.164, national and international formats. Formats, country and type are only returned for valid numbers; an invalid number keeps its E.164 form only when its length is possible, and e164 is null for any number longer than the 15 digits E.164 allows. The phone input may be a plain number or an RFC 3966 tel: URI, so the uri from an earlier answer can be fed straight back in. Checked offline: no carrier or live-line lookup. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| phone* | string | The number, as digits or as an RFC 3966 tel: URI, so the uri from an earlier answer can be fed straight back in. |
| default_country | string | ISO 3166-1 alpha-2 region code to read a national-format number against. |
{
"type": "object",
"required": [
"phone"
],
"properties": {
"phone": {
"type": "string",
"description": "The number, as digits or as an RFC 3966 tel: URI, so the uri from an earlier answer can be fed straight back in."
},
"default_country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 region code to read a national-format number against."
}
}
}Spreadsheet builder. a task has to hand back a real spreadsheet rather than a wall of rows: typed columns (text, number, date, currency, percent) with number formats applied, a bold header, optional frozen header row, column widths and an autofilter, returned as a base64 .xlsx or .csv. Up to 10 sheets and 50,000 cells in total (the header row counts). Values that could be read back as formulas are neutralised. Dates go in as YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS; percent cells store a fraction (0.15 is 15%) unless the column sets percent_basis to "percent". CSV takes one sheet. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| format | string | xlsx (default) or csv. CSV takes one sheet. |
| sheets* | array | Up to 10 sheets. Each has a name, a columns list and an optional rows list, plus freeze_header and autofilter flags. |
| sheets[].rows | array | Each row is an object keyed by column key. Up to 50,000 cells in total, header row included. |
| sheets[].columns* | array | Each column: key, label and type (text, number, date, currency, percent), with optional width and percent_basis. |
{
"type": "object",
"required": [
"sheets",
"sheets[].columns"
],
"properties": {
"format": {
"type": "string",
"description": "xlsx (default) or csv. CSV takes one sheet."
},
"sheets": {
"type": "array",
"description": "Up to 10 sheets. Each has a name, a columns list and an optional rows list, plus freeze_header and autofilter flags."
},
"sheets[].rows": {
"type": "array",
"description": "Each row is an object keyed by column key. Up to 50,000 cells in total, header row included."
},
"sheets[].columns": {
"type": "array",
"description": "Each column: key, label and type (text, number, date, currency, percent), with optional width and percent_basis."
}
}
}Subtitle tools: convert, retime, merge and read caption files. a task involves a subtitle or caption file: converting between SubRip (.srt), WebVTT (.vtt), ASS/SSA and YouTube SBV, shifting timings or rescaling them for a frame-rate change (23.976 to 25 and back), merging several files onto one timeline, pulling a plain-text transcript out of captions, or reporting a file's cue count, duration and reading speed. The converted file comes back in result_text; the info operation leaves result_text empty and answers in the info block. Send the file as text, as a public URL, or as base64 up to 4 MB. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| url | string | A public http(s) URL to read the caption file from. |
| text | string | The caption file as text. Not allowed with operation merge. |
| files | array | The files to merge onto one timeline. merge only. |
| scale | number | Timing multiplier for a frame-rate change, for operation shift. |
| operation | string | convert (default), shift, merge, to_text or info. |
| to_format | string | srt, vtt, ass or sbv. Required for convert; refused for info and to_text. |
| strip_tags | boolean |
Tech Stack lookup. a task depends on what a website is built with: CMS, ecommerce platform, hosting, analytics, ad pixels, payments, chat or forms. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | The public http(s) page to look up. A bare domain is treated as https://. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The public http(s) page to look up. A bare domain is treated as https://."
}
}
}Text and JSON compare. a task needs to know exactly what changed between two versions of a text, document, config file or JSON payload: line, word or character changes with a unified patch, or a JSON Pointer list of structural changes. Inputs are capped at 1,000,000 characters a side and 1,500,000 combined; lines and words mode handle that whole range, while chars mode on a heavily rewritten document falls back to block-level changes (coarse: true in the response) rather than taking longer. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| a* | string | The first version. Up to 1,000,000 characters. |
| b* | string | The second version. a and b together are capped at 1,500,000 characters. |
| mode | string | lines (default), words, chars or json. |
| ignore_case | boolean | Compare without case. |
| context_lines | integer | Lines of context in the unified patch, 0-20. |
| ignore_whitespace | boolean | Treat runs of whitespace as equal. |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "The first version. Up to 1,000,000 characters."
},
"b": {
"type": "string",
"description": "The second version. a and b together are capped at 1,500,000 characters."
},
"mode": {
"type": "string",
"description": "lines (default), words, chars or json."
},
"ignore_case": {
"type": "boolean",
"description": "Compare without case."
},
"context_lines": {
"type": "integer",
"description": "Lines of context in the unified patch, 0-20."
},
"ignore_whitespace": {
"type": "boolean",
"description": "Treat runs of whitespace as equal."
}
}
}Text Stats: words, characters, tokens and SMS segments. a task needs counts for a piece of text: words, user-perceived characters, bytes, sentences, paragraphs, lines, reading or speaking time, OpenAI token counts, SMS segments, or a check against length limits such as a character, word, SMS or prompt-token budget. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| text* | string | The text to count. Up to 200,000 UTF-16 code units. Whitespace-only text is valid and counts zero words. |
| limits | array | Up to 20 budgets to check the text against. Each is { name, max, unit } where unit is characters, words, tokens_o200k, tokens_cl100k, bytes or sms_segments. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The text to count. Up to 200,000 UTF-16 code units. Whitespace-only text is valid and counts zero words."
},
"limits": {
"type": "array",
"description": "Up to 20 budgets to check the text against. Each is { name, max, unit } where unit is characters, words, tokens_o200k, tokens_cl100k, bytes or sms_segments."
}
}
}Read a page as Markdown. a task needs the readable text of one web page instead of its HTML: an article, a documentation page, a changelog or a product page, returned as Markdown with its headings, lists, tables and code blocks intact, plus the page's title, byline, language and links. Cost: 1 credits per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | The public http(s) page to read. |
| max_chars | integer | Cap on the Markdown returned. |
| include_links | boolean | Return the page's links as a list. On by default. |
| include_images | boolean | Return the page's images as a list. Off by default. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The public http(s) page to read."
},
"max_chars": {
"type": "integer",
"description": "Cap on the Markdown returned."
},
"include_links": {
"type": "boolean",
"description": "Return the page's links as a list. On by default."
},
"include_images": {
"type": "boolean",
"description": "Return the page's images as a list. Off by default."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 9, 2026.
| integer |
| Spaces per level for json_format; 0 minifies. |
| pattern | string | The regular expression, for regex_test. Run on RE2. |
| version | integer | 4 (random) or 7 (time-ordered), for uuid. Defaults to 4. |
| timezone | string | IANA time zone name for cron_next_runs, such as Europe/London. Defaults to UTC. |
| operation* | string | One of cron_next_runs, regex_test, uuid, slugify, json_format. Each one reads its own further fields. |
| separator | string | The slug separator. Defaults to a hyphen. |
| sort_keys | boolean | Sort object keys, for json_format. |
| expression | string | The cron expression, for cron_next_runs. |
| max_length | integer | Cap on the slug length, for slugify. |
{
"type": "object",
"required": [
"operation"
],
"properties": {
"text": {
"type": "string",
"description": "The title to slugify, or the JSON document to format."
},
"count": {
"type": "integer",
"description": "How many cron runs, or how many UUIDs, to return."
},
"flags": {
"type": "string",
"description": "Distinct letters from i, m, s and u, for regex_test."
},
"input": {
"type": "string",
"description": "The text to run the pattern over, for regex_test."
},
"limit": {
"type": "integer",
"description": "Maximum matches to return, for regex_test."
},
"start": {
"type": "string",
"description": "ISO instant to start the cron walk from, for cron_next_runs."
},
"indent": {
"type": "integer",
"description": "Spaces per level for json_format; 0 minifies."
},
"pattern": {
"type": "string",
"description": "The regular expression, for regex_test. Run on RE2."
},
"version": {
"type": "integer",
"description": "4 (random) or 7 (time-ordered), for uuid. Defaults to 4."
},
"timezone": {
"type": "string",
"description": "IANA time zone name for cron_next_runs, such as Europe/London. Defaults to UTC."
},
"operation": {
"type": "string",
"description": "One of cron_next_runs, regex_test, uuid, slugify, json_format. Each one reads its own further fields."
},
"separator": {
"type": "string",
"description": "The slug separator. Defaults to a hyphen."
},
"sort_keys": {
"type": "boolean",
"description": "Sort object keys, for json_format."
},
"expression": {
"type": "string",
"description": "The cron expression, for cron_next_runs."
},
"max_length": {
"type": "integer",
"description": "Cap on the slug length, for slugify."
}
}
}| Drop styling tags from the cue text. |
| file_base64 | string | The caption file as base64, up to 4 MB. |
| from_format | string | auto (default), srt, vtt, ass or sbv. |
| offset_seconds | number | Seconds to shift every cue, for operation shift. |
| merge_gap_seconds | number | Gap to leave between files, for operation merge. |
{
"type": "object",
"required": [],
"properties": {
"url": {
"type": "string",
"description": "A public http(s) URL to read the caption file from."
},
"text": {
"type": "string",
"description": "The caption file as text. Not allowed with operation merge."
},
"files": {
"type": "array",
"description": "The files to merge onto one timeline. merge only."
},
"scale": {
"type": "number",
"description": "Timing multiplier for a frame-rate change, for operation shift."
},
"operation": {
"type": "string",
"description": "convert (default), shift, merge, to_text or info."
},
"to_format": {
"type": "string",
"description": "srt, vtt, ass or sbv. Required for convert; refused for info and to_text."
},
"strip_tags": {
"type": "boolean",
"description": "Drop styling tags from the cue text."
},
"file_base64": {
"type": "string",
"description": "The caption file as base64, up to 4 MB."
},
"from_format": {
"type": "string",
"description": "auto (default), srt, vtt, ass or sbv."
},
"offset_seconds": {
"type": "number",
"description": "Seconds to shift every cue, for operation shift."
},
"merge_gap_seconds": {
"type": "number",
"description": "Gap to leave between files, for operation merge."
}
}
}