150+ hosted tools: describe-to-build CAD, scan-to-CAD, architecture studio, web research, media.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <API key> (free trial key from the website)
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.
Compare two ad or page variants for statistical significance (two-proportion z-test), or calculate how many visitors per variant you need to detect a given lift. Cost: 1 credit per call.
For sample size: smallest relative lift to detect
For sample size: current conversion rate
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Compare two ad or page variants for statistical significance (two-proportion z-test), or calculate how many visitors per variant you need to detect a given lift. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| a_visitors | integer | |
| b_visitors | integer | |
| a_conversions | integer | |
| b_conversions | integer | |
| minimum_lift_percent | number | For sample size: smallest relative lift to detect |
| baseline_rate_percent | number | For sample size: current conversion rate |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"a_visitors": {
"type": "integer",
"minimum": 1
},
"b_visitors": {
"type": "integer",
"minimum": 1
},
"a_conversions": {
"type": "integer",
"minimum": 0
},
"b_conversions": {
"type": "integer",
"minimum": 0
},
"minimum_lift_percent": {
"type": "number",
"maximum": 500,
"minimum": 1,
"description": "For sample size: smallest relative lift to detect"
},
"baseline_rate_percent": {
"type": "number",
"maximum": 99,
"minimum": 0.01,
"description": "For sample size: current conversion rate"
}
},
"additionalProperties": false
}Check headlines, descriptions and body text against character limits for Google Search (RSA), Meta, X, LinkedIn, TikTok and Microsoft Ads, and flag common policy problems (ALL CAPS, repeated punctuation, excessive emoji, unsupported claims). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| platform* | string | |
| headlines | array | |
| descriptions | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"platform"
],
"properties": {
"platform": {
"enum": [
"google_search",
"meta",
"x",
"linkedin",
"tiktok",
"microsoft"
],
"type": "string"
},
"headlines": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300
},
"default": [],
"maxItems": 15
},
"descriptions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1000
},
"default": [],
"maxItems": 10
}
},
"additionalProperties": false
}Work out CTR, CPC, CPM, conversion rate, CPA, ROAS, ROI and break-even from any mix of spend, impressions, clicks, conversions and revenue. Also projects results for a new budget. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| spend | number | |
| clicks | number | |
| revenue | number | |
| new_budget | number | Project results at this spend, assuming the same efficiency |
| conversions | number | |
| impressions | number | |
| profit_margin_percent | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"spend": {
"type": "number",
"minimum": 0
},
"clicks": {
"type": "number",
"minimum": 0
},
"revenue": {
"type": "number",
"minimum": 0
},
"new_budget": {
"type": "number",
"minimum": 0,
"description": "Project results at this spend, assuming the same efficiency"
},
"conversions": {
"type": "number",
"minimum": 0
},
"impressions": {
"type": "number",
"minimum": 0
},
"profit_margin_percent": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}Lay a music track under a video or voice recording. Ducking lowers the music automatically whenever someone is speaking. The music loops to fit and fades out at the end. Cost: 1 credit per minute of main file. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Main video or audio: public http(s) link |
| format | string | Defaults to mp4 for video, mp3 for audio |
| ducking | boolean | Lower the music while the main audio has speech |
| music_url* | string | Music track: public http(s) link |
| music_volume_db | number | Music level in dB. Lower is quieter |
| fade_out_seconds | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"music_url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Main video or audio: public http(s) link"
},
"format": {
"enum": [
"mp4",
"mp3",
"m4a",
"wav"
],
"type": "string",
"description": "Defaults to mp4 for video, mp3 for audio"
},
"ducking": {
"type": "boolean",
"default": true,
"description": "Lower the music while the main audio has speech"
},
"music_url": {
"type": "string",
"format": "uri",
"description": "Music track: public http(s) link"
},
"music_volume_db": {
"type": "number",
"default": -18,
"maximum": 0,
"minimum": -40,
"description": "Music level in dB. Lower is quieter"
},
"fade_out_seconds": {
"type": "number",
"default": 3,
"maximum": 15,
"minimum": 0
}
},
"additionalProperties": false
}Add subtitles to a video, permanently shown on screen. Captions are written automatically from the speech, or you can supply your own in SRT format. Style, size and position are adjustable. Cost: 3 credits per minute with automatic captions, 1 with your own SRT. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| srt | string | Your own captions in SRT format. Skips speech recognition |
| url* | string | Video: public http(s) link |
| color | string | Text colour |
| language | string | Spoken language in English, e.g. spanish. Leave empty to detect it |
| position | string | |
| font_size | integer | |
| translate_to_english | boolean | Translate the speech into English |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"srt": {
"type": "string",
"maxLength": 200000,
"description": "Your own captions in SRT format. Skips speech recognition"
},
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"color": {
"type": "string",
"default": "#ffffff",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Text colour"
},
"language": {
"type": "string",
"maxLength": 30,
"description": "Spoken language in English, e.g. spanish. Leave empty to detect it"
},
"position": {
"enum": [
"bottom",
"middle",
"top"
],
"type": "string",
"default": "bottom"
},
"font_size": {
"type": "integer",
"default": 28,
"maximum": 120,
"minimum": 10
},
"translate_to_english": {
"type": "boolean",
"default": false,
"description": "Translate the speech into English"
}
},
"additionalProperties": false
}Put a logo image and/or a line of text on a video, with position, size and opacity controls. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Video: public http(s) link |
| text | string | Text to show. Leave empty to use only a logo |
| color | string | Text colour |
| margin | integer | Distance from the edge in pixels |
| opacity | number | |
| quality | string | Quality. Lower quality gives smaller files |
| position | string | |
| font_size | integer | |
| watermark_url | string | Logo image (PNG, JPEG or WebP): public http(s) link |
| logo_width_percent | number | Logo width as a percent of the video width |
Calculate a loan's monthly payment and full amortization schedule, with optional extra monthly payments to show interest saved and the new payoff date. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| years* | number | |
| principal* | number | |
| extra_monthly | number | |
| annual_rate_percent* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"principal",
"annual_rate_percent",
"years"
],
"properties": {
"years": {
"type": "number",
"maximum": 50,
"minimum": 0.25
},
"principal": {
"type": "number",
"maximum": 10000000000,
"exclusiveMinimum": 0
},
"extra_monthly": {
"type": "number",
"default": 0,
"maximum": 100000000,
"minimum": 0
},
"annual_rate_percent": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}Analyse a file and report where the silences are (to cut dead air), where the scene changes are (to chapter or clip a video), and how loud it is in LUFS. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| analyses | array | |
| scene_threshold | number | Lower finds more scene changes |
| min_silence_seconds | number | |
| silence_threshold_db | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"analyses": {
"type": "array",
"items": {
"enum": [
"silence",
"scenes",
"loudness"
],
"type": "string"
},
"default": [
"silence",
"scenes",
"loudness"
],
"minItems": 1
},
"scene_threshold": {
"type": "number",
"default": 0.3,
"maximum": 0.9,
"minimum": 0.05,
"description": "Lower finds more scene changes"
},
"min_silence_seconds": {
"type": "number",
"default": 0.5,
"maximum": 30,
"minimum": 0.1
},
"silence_threshold_db": {
"type": "number",
"default": -35,
"maximum": -10,
"minimum": -90
}
},
"additionalProperties": false
}Build a polished, responsive front end for an app and host it instantly. Layouts: 'dashboard' (sidebar, animated KPI cards, live chart, searchable sortable table), 'crud' (a full create/edit/delete data manager for any record type with modal forms), 'chat' (an AI-chat style interface with typing indicator). Themes: glass (frosted, gradient), neon (terminal glow), paper (warm editorial), brutal (bold neo-brutalist). Includes dark/light mode, mobile drawer navigation and accessible controls. Runs on sample data out of the box and connects to your real API with api_base_url (crud: GET/POST/PUT/DELETE on /<path>), data_url (dashboard JSON) or chat_endpoint (POST {message, history} returns {reply}). Output is plain HTML/CSS/JS you can edit with site_files. Pages run sandboxed, so settings are kept in memory only. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| chat | object | |
| crud | object | |
| name* | string | App name |
| theme | string | |
| accent | string | |
| layout | string | |
| publish | boolean | |
| site_id | string | Overwrite the front end of an existing site |
Describe a building in plain language ('two storey house, 3 bedrooms, 2 baths, open kitchen, about 180 m2'; also offices, schools, shops). Generates a laid-out floor plan per storey (DXF/SVG for AutoCAD), a 3D model (STL + interactive viewer), room schedule, rough energy and budget numbers, and a step-by-step build guide. Give budget_usd to size the building to a budget (live material prices), or layout (plan.json exported from the studio) to rebuild an edited design. The result page has a first-person walk-inside-and-design-live studio with a bill of materials and cost that tracks market prices, plus DXF, STL, IFC (BIM for Revit/ArchiCAD) and CSV downloads. Optional: floors, floor_height_m, width_m, depth_m, roof (gable|flat), structure (wood|steel|concrete), rooms {bedroom:3,...}, target_area_m2. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| roof | string | |
| brief | string | Plain-language description. Optional if layout is given. |
| rooms | object | |
| title | string | |
| floors | integer | |
| layout | any | |
| region | string | |
| depth_m | number | |
Screen an existing project for weaknesses and improvements. Provide whatever you have: beams [{name, span_m, width_mm, depth_mm, material (timber|steel|concrete|lvl), tributary_width_m}], columns [{name, load_kn, width_mm, depth_mm, height_m, material}], rooms [{name, area_m2, windows_m2, egress_window, ventilation, occupants}], floors, floor_height_m, exits, corridor_width_m, stair_width_m, ceiling_height_m, structure, sprinklers, r_value, seismic_zone/wind_zone ('high'), bracing, soft_storey, dead_load_kpa, live_load_kpa, and optionally dxf (text of a DXF plan). Returns a score, prioritised findings with fixes (bending, deflection, buckling, daylight, egress, fire, energy, lateral loads) and improvement ideas. Screening only, not a stamped engineering check. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| dxf | string | |
| beams | array | |
| exits | integer | |
| rooms | array | |
| floors | integer | |
| bracing | boolean | |
| columns | array | |
| r_value | number | |
| structure | string |
Shift an audio file's pitch in semitones and/or change its tempo (speed) independently, for remixes, practice tracks and key matching. Cost: 1 credit per minute of audio. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Audio or video file: public http(s) link |
| tempo | number | 1 is original speed. 1.25 is 25% faster, pitch unchanged |
| format | string | |
| semitones | number | Pitch shift. +12 is one octave up |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Audio or video file: public http(s) link"
},
"tempo": {
"type": "number",
"default": 1,
"maximum": 2,
"minimum": 0.5,
"description": "1 is original speed. 1.25 is 25% faster, pitch unchanged"
},
"format": {
"enum": [
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"default": "mp3"
},
"semitones": {
"type": "number",
"default": 0,
"maximum": 12,
"minimum": -12,
"description": "Pitch shift. +12 is one octave up"
}
},
"additionalProperties": false
}Render an audio or video file's sound as a waveform picture or a spectrogram, as a PNG. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Audio or video file: public http(s) link |
| type | string | |
| color | string | Waveform colour |
| width | integer | |
| height | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Audio or video file: public http(s) link"
},
"type": {
"enum": [
"waveform",
"spectrogram"
],
"type": "string",
"default": "waveform"
},
"color": {
"type": "string",
"default": "#2f9e63",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Waveform colour"
},
"width": {
"type": "integer",
"default": 1600,
"maximum": 3840,
"minimum": 320
},
"height": {
"type": "integer",
"default": 400,
"maximum": 2160,
"minimum": 100
}
},
"additionalProperties": false
}Count working days between two dates or add working days to a date, skipping weekends and optional holidays. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| end | string | |
| start* | string | |
| add_days | integer | |
| holidays | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"start"
],
"properties": {
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"add_days": {
"type": "integer",
"maximum": 10000,
"minimum": -10000
},
"holidays": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"default": [],
"maxItems": 100
}
},
"additionalProperties": false
}Describe a project in plain language ('a 6 ft workbench', 'bookshelf 800 x 300 x 1800 mm', 'raised garden bed 2 m x 1 m', 'a desk 1200x600', 'a toy chest') and get a complete design: 3D model (STL + viewer), AutoCAD DXF with a to-scale cut layout, SVG drawing, cut list, bill of materials with estimated cost, fastener count, weight, and a step-by-step build report. Supported: table, desk, workbench, bookshelf, raised_bed, chest. Optional: kind, length_mm, width_mm, height_mm, wood (pine|plywood|oak|maple|cedar). Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| wood | string | |
| brief* | string | |
| title | string | |
| width_mm | number | |
| height_mm | number | |
| length_mm | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brief"
],
"properties": {
"kind": {
"enum": [
"table",
"desk",
"workbench",
"bookshelf",
"raised_bed",
"chest"
],
"type": "string"
},
"wood": {
"enum": [
"pine",
"plywood",
"oak",
"maple",
"cedar"
],
"type": "string",
"default": "pine"
},
"brief": {
"type": "string",
"maxLength": 600,
"minLength": 3
},
"title": {
"type": "string",
"maxLength": 80
},
"width_mm": {
"type": "number",
"maximum": 3000,
"minimum": 100
},
"height_mm": {
"type": "number",
"maximum": 3000,
"minimum": 100
},
"length_mm": {
"type": "number",
"maximum": 6000,
"minimum": 200
}
},
"additionalProperties": false
}Quick engineering checks. kind='beam' {length_mm, load_N, width_mm, height_mm, support:'cantilever'|'simple', material}; 'torsion' {torque_Nm, diameter_mm, material}; 'bolt' {diameter_mm, load_N, bolts, grade, mode:'tension'|'shear'}; 'motor' {force_N, radius_mm, speed_rpm, efficiency}; 'spring' {wire_mm, coil_mm, active_coils, deflection_mm}; 'belt' {drive_diameter_mm, driven_diameter_mm, drive_rpm, center_distance_mm}. Materials: steel, stainless, aluminum, titanium, brass, abs, pla, nylon. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| values* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"values"
],
"properties": {
"kind": {
"enum": [
"beam",
"torsion",
"bolt",
"motor",
"spring",
"belt"
],
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": {}
}
},
"additionalProperties": false
}Scope a tokamak fusion reactor concept: enter geometry and plasma parameters (major_radius_m, minor_radius_m, toroidal_field_T, plasma_current_MA, elongation, triangularity, density_1e20_m3, temperature_keV, heating_MW, tf_coils) and get plasma volume, safety factor q95, Greenwald density limit, normalised beta, confinement time (IPB98), triple product, fusion power, Q, peak coil field and required superconductor class, plus a 3D model of the plasma and magnets, a cross-section DXF and a component list. Defaults approximate ITER. Concept-level, scaling-law based. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| params | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"title": {
"type": "string",
"maxLength": 80
},
"params": {
"type": "object",
"default": {},
"additionalProperties": {}
}
},
"additionalProperties": false
}Describe a machine, mechanism or product idea in plain language (e.g. '40 kg lift arm', 'a 30:1 gear reducer for a winch'). Returns which CAD tool to run and pre-filled parameters extracted from your numbers. Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| idea* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"idea"
],
"properties": {
"idea": {
"type": "string",
"maxLength": 600,
"minLength": 3
}
},
"additionalProperties": false
}Design a working mechanism with 3D model, 2D layout DXF, bill of materials and engineering checks. machine='gearbox' {input_rpm, input_torque_nm, ratio, stages, safety_factor}: picks tooth counts, module (Lewis bending check), shaft diameters, bearings, meshed gear layout and per-gear cut files. machine='four_bar' {ground, crank, coupler, rocker, coupler_point_distance, coupler_point_angle_deg}: Grashof type, transmission angle, rocker swing and coupler curve. machine='robot_arm' {link1, link2, payload_kg, tube_width, tube_wall, shoulder_deg, elbow_deg}: reach, workspace, joint torques, motor sizing, tip deflection and stress. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| params | object | |
| machine* | string | |
| material | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"machine"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80
},
"params": {
"type": "object",
"default": {},
"additionalProperties": {}
},
"machine": {
"enum": [
"gearbox",
"four_bar",
"robot_arm"
],
"type": "string"
},
"material": {
"enum": [
"steel",
"stainless",
"aluminum",
"titanium",
"brass",
"abs",
"pla",
"nylon"
],
"type": "string",
"default": "steel"
}
},
"additionalProperties": false
}Generate a precise parametric part and host it: AutoCAD-compatible DXF (2D, layers), STL (3D, ready for printing/CNC/slicers), SVG drawing, an interactive 3D viewer, mass and specs. Parts and their params: gear {module, teeth, thickness, bore} (true involute profile); plate {width, height, thickness, corner_radius, hole_diameter, hole_inset, holes:[{x,y,d}]}; flange {outer_diameter, bore, bolt_circle, bolts, bolt_diameter, thickness}; enclosure {width, depth, height, wall, screw_diameter} (flat cut layout); shaft {segments:[{d,l}]}; pulley {outer_diameter, width, bore, hub_diameter, hub_length, groove_depth}; heatsink {width, depth, base_thickness, fin_height, fin_thickness, fins} (thermal estimates); hex_nut {across_flats, thickness, bore}; washer {outer_diameter, inner_diameter, thickness}. All dimensions in mm. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| part* | string | |
| title | string | |
| params | object | |
| material | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"part"
],
"properties": {
"part": {
"enum": [
"gear",
"plate",
"flange",
"enclosure",
"shaft",
"pulley",
"heatsink",
"hex_nut",
"washer"
],
"type": "string"
},
"title": {
"type": "string",
"maxLength": 80
},
"params": {
"type": "object",
"default": {},
"additionalProperties": {}
},
"material": {
"enum": [
"steel",
"stainless",
"aluminum",
"titanium",
"brass",
"abs",
"pla",
"nylon"
],
"type": "string",
"default": "steel"
}
},
"additionalProperties": false
}Reverse engineer a physical part or object from a 3D scan or mesh (STL binary/ASCII, OBJ, ASCII PLY; send as data_base64 or as text in data_text). Returns exact overall dimensions, volume, surface area, centre of mass, weight in a chosen material, true cross-section outlines through the middle of each axis (they show holes and pockets), convex-hull silhouettes, a three-view AutoCAD DXF with dimensions, a re-exported STL in millimetres with the origin at the corner, and an interactive viewer. unit: mm|cm|m|in (units of the input, default mm). Does not process weapons, firearms, ammunition or explosives. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| unit | string | |
| title | string | |
| format | string | |
| material | string | |
| data_text | string | |
| data_base64 | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"unit": {
"enum": [
"mm",
"cm",
"m",
"in"
],
"type": "string",
"default": "mm"
},
"title": {
"type": "string",
"maxLength": 80
},
"format": {
"enum": [
"stl",
"obj",
"ply"
],
"type": "string"
},
"material": {
"enum": [
"steel",
"stainless",
"aluminum",
"titanium",
"brass",
"abs",
"pla",
"nylon"
],
"type": "string",
"default": "steel"
},
"data_text": {
"type": "string",
"maxLength": 6000000
},
"data_base64": {
"type": "string",
"maxLength": 8000000
}
},
"additionalProperties": false
}Check up to 20 URLs: HTTP status, final URL after redirects, content type. Good for finding broken links. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| urls* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 20,
"minItems": 1
}
},
"additionalProperties": false
}Build a game or brand palette from one base colour using harmony rules (complementary, triadic, analogous, split-complementary, monochrome) with hex and HSL values. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| base* | string | |
| harmony | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"base"
],
"properties": {
"base": {
"type": "string",
"pattern": "^#?[0-9a-fA-F]{6}$"
},
"harmony": {
"enum": [
"complementary",
"triadic",
"analogous",
"split",
"monochrome"
],
"type": "string",
"default": "analogous"
}
},
"additionalProperties": false
}Shrink a video or audio file to fit a size limit, such as 8 MB for Discord or 25 MB for email. Picks the bitrate for you and re-encodes once more if the first attempt lands over the limit. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| format | string | Defaults to mp4 for video and mp3 for audio |
| max_height | integer | Shrink video to at most this height, e.g. 720 |
| start_seconds | number | Start time in seconds |
| target_size_mb* | number | Largest allowed file size in MB |
| duration_seconds | number | Length of the result in seconds |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"target_size_mb"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"format": {
"enum": [
"mp4",
"webm",
"mp3",
"m4a",
"opus"
],
"type": "string",
"description": "Defaults to mp4 for video and mp3 for audio"
},
"max_height": {
"type": "integer",
"maximum": 2160,
"minimum": 144,
"description": "Shrink video to at most this height, e.g. 720"
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Start time in seconds"
},
"target_size_mb": {
"type": "number",
"maximum": 2000,
"minimum": 0.5,
"description": "Largest allowed file size in MB"
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Convert between CSV and JSON text. Free of network calls; useful for cleaning scraped data. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| data* | string | The CSV text, or a JSON array of flat objects |
| direction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"direction",
"data"
],
"properties": {
"data": {
"type": "string",
"maxLength": 1000000,
"description": "The CSV text, or a JSON array of flat objects"
},
"direction": {
"enum": [
"csv_to_json",
"json_to_csv"
],
"type": "string"
}
},
"additionalProperties": false
}Convert any video or audio file to another format, with optional trimming and downscaling. Video outputs: mp4, mov, mkv, webm, gif. Audio outputs: mp3, wav, flac, aac, m4a, ogg, opus. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| format* | string | Output format |
| quality | string | Quality. Lower quality gives smaller files |
| max_height | integer | Shrink video to at most this height, e.g. 720 |
| start_seconds | number | Start time in seconds |
| duration_seconds | number | Length of the result in seconds |
| audio_bitrate_kbps | integer | Audio bitrate in kbps |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"format"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"format": {
"enum": [
"mp4",
"mov",
"mkv",
"webm",
"gif",
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"description": "Output format"
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"max_height": {
"type": "integer",
"maximum": 2160,
"minimum": 144,
"description": "Shrink video to at most this height, e.g. 720"
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Start time in seconds"
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
},
"audio_bitrate_kbps": {
"type": "integer",
"maximum": 320,
"minimum": 32,
"description": "Audio bitrate in kbps"
}
},
"additionalProperties": false
}Crawl a site breadth-first from a starting URL, staying on the same domain, and return the clean text of each page. Useful for building a knowledge base or RAG corpus. Cost: 5 credits per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| max_pages | integer | |
| max_chars_per_page | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"max_pages": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"max_chars_per_page": {
"type": "integer",
"default": 4000,
"maximum": 20000,
"minimum": 500
}
},
"additionalProperties": false
}Package a video for web streaming as HLS with several quality levels (the format video players use to adapt to slow connections). Returns the master playlist link. Segments are served from the same address. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Video: public http(s) link |
| heights | array | Quality levels by height |
| segment_seconds | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"heights": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2160,
"minimum": 144
},
"default": [
720,
480,
360
],
"maxItems": 4,
"minItems": 1,
"description": "Quality levels by height"
},
"segment_seconds": {
"type": "integer",
"default": 6,
"maximum": 10,
"minimum": 2
}
},
"additionalProperties": false
}Look up a specific past incident in Chicago public crime data by case number, date (plus or minus a window), block, crime type, keyword or coordinates. Returns a report with the pinpointed location (block-level, map link), full public details, other candidate matches, ranked similar incidents nearby (same offence, location type, time of day, block, proximity) and an area pattern summary. Works for incidents from 2001 to about a week ago. Public data: no victim or suspect identities, not evidence of guilt. Cost: 5 credits per call.
| Argument | Type | Description |
|---|---|---|
| lat | number | |
| lon | number | |
| date | string | Approximate date YYYY-MM-DD |
| block | string | Street or block text, e.g. STATE ST or 012XX N |
| keyword | string | Offence or location keyword, e.g. APARTMENT, FENTANYL |
| crime_type | string | |
| case_number | string | Police case number, e.g. JE123456 |
| window_days | integer | Days either side of date |
| similar_limit | integer |
Crime Radar. Query public open data by layer or combine several: drug incidents, overdose deaths, homicides, suicides (anonymised), human trafficking, prostitution, sex offences, Seattle narcotics 911 calls, SAMHSA treatment sites and CDC state overdose trends. Use layer for one, or layers for several at once. Filter by date range, keyword and map box. Set refresh=true to re-pull live from the source agencies instead of the hourly cache. Returns points plus ranked hotspots. Data is public, may lag, and shows reported incidents, not guilt. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| to | any | End date YYYY-MM-DD |
| east | number | |
| from | string | Start date YYYY-MM-DD |
| near | string | ZIP code or address for treatment_sites |
| west | number | |
| year | integer | |
| layer | string | |
| limit | integer | |
| north | number | |
| south | number |
Query the local Crime Radar statistics database (FBI Crime Data Explorer, annual counts and rates by offense). level=state returns state totals; level=county rolls reporting agencies up to a county; level=town looks up a city or agency by name. Filter by state, offense and year range. Call with level=coverage to see what has been loaded so far. Reported crime only; agencies that do not report to the FBI are missing, and rate is the sum of monthly per-100k rates. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| town | string | City or agency name text, e.g. SPRINGFIELD |
| level | string | |
| state | string | Two-letter state code |
| county | string | |
| offense | string | |
| year_to | integer | |
| year_from | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"town": {
"type": "string",
"maxLength": 60,
"description": "City or agency name text, e.g. SPRINGFIELD"
},
"level": {
"enum": [
"state",
"county",
"town",
"coverage"
],
"type": "string",
"default": "coverage"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter state code"
},
"county": {
"type": "string",
"maxLength": 40
},
"offense": {
"enum": [
"violent-crime",
"property-crime",
"homicide",
"rape",
"robbery",
"aggravated-assault",
"burglary",
"larceny",
"motor-vehicle-theft",
"arson"
],
"type": "string"
},
"year_to": {
"type": "integer",
"maximum": 2100,
"minimum": 1985
},
"year_from": {
"type": "integer",
"maximum": 2100,
"minimum": 1985
}
},
"additionalProperties": false
}Translate a 5-field cron expression into plain English and list the next run times. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| runs | integer | |
| expression* | string | e.g. '*/15 9-17 * * 1-5' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"expression"
],
"properties": {
"runs": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"expression": {
"type": "string",
"maxLength": 60,
"description": "e.g. '*/15 9-17 * * 1-5'"
}
},
"additionalProperties": false
}Detailed look at one coin: price history summary, RSI, moving averages (20/50/200 day), trend, volume trend, volatility, max drawdown, and recent headlines that mention it. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| id* | string | CoinGecko id, e.g. bitcoin, ethereum, solana. Use crypto_search if unsure |
| days | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9\\-]{1,60}$",
"description": "CoinGecko id, e.g. bitcoin, ethereum, solana. Use crypto_search if unsure"
},
"days": {
"type": "integer",
"default": 180,
"maximum": 365,
"minimum": 30
}
},
"additionalProperties": false
}Live market snapshot: top coins by market cap (or specific coin ids) with price, 1h/24h/7d/30d change, volume, market cap and distance from all-time high, plus global market cap, BTC dominance and the Fear & Greed index. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| ids | array | CoinGecko ids such as bitcoin, ethereum, solana. Overrides limit |
| sort | string | |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9\\-]{1,60}$"
},
"maxItems": 50,
"description": "CoinGecko ids such as bitcoin, ethereum, solana. Overrides limit"
},
"sort": {
"enum": [
"market_cap",
"change_24h",
"volume"
],
"type": "string",
"default": "market_cap"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Latest headlines from CoinDesk, Cointelegraph, Decrypt and The Block, each tagged positive, negative or neutral by keyword, with an overall mood score. Filter by coin name or symbol. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| coin | string | Name or symbol, e.g. Solana or SOL |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"coin": {
"type": "string",
"maxLength": 40,
"description": "Name or symbol, e.g. Solana or SOL"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Search coins by name or symbol and get the id used by the other crypto tools, plus the trending coins right now. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| query | string | Leave empty to see trending coins |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"maxLength": 60,
"description": "Leave empty to see trending coins"
}
},
"additionalProperties": false
}Scan the market for coins that look set to run and coins showing warning signs. Combines live price action (momentum, volume surge, RSI, trend vs 20/50-day averages, distance from all-time high) with the latest news sentiment and the Fear & Greed index. Returns two ranked lists, 'potential runs' and 'risk watch', each with a score and the reasons behind it. Scan the top coins or pass your own list. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| ids | array | Coins to scan. Default: the top coins by market cap |
| deep | integer | How many top candidates get a full indicator check (RSI, moving averages) |
| universe | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9\\-]{1,60}$"
},
"maxItems": 50,
"description": "Coins to scan. Default: the top coins by market cap"
},
"deep": {
"type": "integer",
"default": 5,
"maximum": 8,
"minimum": 0,
"description": "How many top candidates get a full indicator check (RSI, moving averages)"
},
"universe": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 10
}
},
"additionalProperties": false
}Look up any public wallet address on Bitcoin, Ethereum or Solana: balance, USD value, token holdings (Ethereum), transaction count and optionally a risk check on the biggest holdings. READ-ONLY by design: it only needs a public address and refuses private keys or seed phrases. It cannot move funds. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| chain* | string | |
| address* | string | |
| include_signals | boolean | Also run the risk/momentum scan on the native coin |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"address"
],
"properties": {
"chain": {
"enum": [
"bitcoin",
"ethereum",
"solana"
],
"type": "string"
},
"address": {
"type": "string",
"maxLength": 120,
"minLength": 20
},
"include_signals": {
"type": "boolean",
"default": false,
"description": "Also run the risk/momentum scan on the native coin"
}
},
"additionalProperties": false
}Paste CSV text and get a data-quality report: row count, per-column type, blanks, distinct values, min/max/mean for numbers, top values and duplicate rows. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| csv* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"csv"
],
"properties": {
"csv": {
"type": "string",
"maxLength": 2000000,
"minLength": 3
}
},
"additionalProperties": false
}Convert an amount between currencies using current reference exchange rates (ECB). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| to* | any | |
| from* | string | |
| amount* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"amount",
"from",
"to"
],
"properties": {
"to": {
"$ref": "#/properties/from"
},
"from": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Look up a CVE ID, or search recent vulnerabilities by keyword, using the US National Vulnerability Database. Returns severity (CVSS), description, affected products and references. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| cve_id | string | |
| keyword | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"cve_id": {
"type": "string",
"pattern": "^CVE-\\d{4}-\\d{4,}$"
},
"keyword": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}Roll tabletop dice from notation like 2d6+3 or 4d6kh3 (keep highest), with repeatable seeds, plus the exact probability distribution of a roll. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| seed | string | |
| times | integer | |
| notation* | string | e.g. 1d20+5, 2d6, 4d6kh3 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"notation"
],
"properties": {
"seed": {
"type": "string",
"maxLength": 30
},
"times": {
"type": "integer",
"default": 1,
"maximum": 100,
"minimum": 1
},
"notation": {
"type": "string",
"maxLength": 30,
"description": "e.g. 1d20+5, 2d6, 4d6kh3"
}
},
"additionalProperties": false
}Look up a domain's A, AAAA, MX, TXT, NS and CNAME records. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9.-]+$",
"maxLength": 253,
"minLength": 3
}
},
"additionalProperties": false
}Look up a domain's registrar, registration and expiry dates and nameservers via RDAP. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9.-]+$",
"maxLength": 253,
"minLength": 3
}
},
"additionalProperties": false
}Set title, artist, album, comment or year tags, or strip all metadata (location, device, software) before sharing. Copies the streams without re-encoding, so quality is untouched. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| year | string | |
| album | string | |
| title | string | |
| artist | string | |
| comment | string | |
| strip_all | boolean | Remove all existing metadata first |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"year": {
"type": "string",
"maxLength": 10
},
"album": {
"type": "string",
"maxLength": 200
},
"title": {
"type": "string",
"maxLength": 200
},
"artist": {
"type": "string",
"maxLength": 200
},
"comment": {
"type": "string",
"maxLength": 500
},
"strip_all": {
"type": "boolean",
"default": false,
"description": "Remove all existing metadata first"
}
},
"additionalProperties": false
}Reframe and adjust a video in one pass: change aspect ratio (for example 9:16 for Shorts and Reels) by cropping to fill or adding bars, downscale, rotate, flip, change speed (audio pitch is preserved), set frame rate, or remove the audio. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| fit | string | Crop to fill the frame, or pad with black bars |
| fps | integer | Output frame rate |
| url* | string | Video: public http(s) link |
| flip | string | Mirror the picture |
| mute | boolean | Remove the audio |
| speed | number | 1 is normal. 2 is double speed, 0.5 is slow motion |
| format | string | Output format |
| rotate | string | Rotate clockwise, in degrees |
| quality | string | Quality. Lower quality gives smaller files |
| max_height |
Check email syntax and whether the domain can receive mail (MX records). Flags common disposable domains. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| email* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254
}
},
"additionalProperties": false
}Pull the audio track out of a video (or re-encode an audio file). Choose which audio track when a file has several. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| format | string | Audio format |
| audio_track | integer | Which audio track, starting at 0 |
| bitrate_kbps | integer | Audio bitrate in kbps |
| start_seconds | number | Start time in seconds |
| duration_seconds | number | Length of the result in seconds |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"format": {
"enum": [
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"default": "mp3",
"description": "Audio format"
},
"audio_track": {
"type": "integer",
"default": 0,
"maximum": 15,
"minimum": 0,
"description": "Which audio track, starting at 0"
},
"bitrate_kbps": {
"type": "integer",
"maximum": 320,
"minimum": 32,
"description": "Audio bitrate in kbps"
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Start time in seconds"
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Scan a page for email addresses, phone numbers and social profile links (LinkedIn, X, Facebook, Instagram, YouTube, GitHub). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
}
},
"additionalProperties": false
}Fetch up to 10 URLs in parallel and return the clean readable text of each (title, text). Failed URLs report an error. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| urls* | array | |
| max_chars_per_page | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"minItems": 1
},
"max_chars_per_page": {
"type": "integer",
"default": 8000,
"maximum": 30000,
"minimum": 500
}
},
"additionalProperties": false
}Scrape specific elements from a page. Give a map of field name to CSS selector; each field returns the text of every match. Append '@attr' to a selector to read an attribute instead, e.g. 'a.product@href' or 'img@src'. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| limit | integer | Max matches per field |
| selectors* | object | e.g. {"titles": "h2.title", "links": "a.item@href"} |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"selectors"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "Max matches per field"
},
"selectors": {
"type": "object",
"description": "e.g. {\"titles\": \"h2.title\", \"links\": \"a.item@href\"}",
"additionalProperties": {
"type": "string",
"maxLength": 300,
"minLength": 1
}
}
},
"additionalProperties": false
}List every link on a page with its anchor text. Optionally keep only links on the same domain. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| same_domain_only | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"same_domain_only": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Pull every table on a page as rows of cells (first row of each table is usually the header). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| max_tables | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"max_tables": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
}
},
"additionalProperties": false
}GET a public JSON endpoint and return the parsed result. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
}
},
"additionalProperties": false
}Free. List this API key's recent web and dark web tool calls (time, tool, input, success) for compliance and record keeping. For CSV export use GET /api/audit?format=csv with your key.
| Argument | Type | Description |
|---|---|---|
| tool | string | Only this tool, e.g. onion_fetch |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tool": {
"type": "string",
"description": "Only this tool, e.g. onion_fetch"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 500,
"minimum": 1
}
},
"additionalProperties": false
}Show how many media minutes (credits) are left on this API key.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Check a job started by any other tool. Returns the results when it is finished.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string"
}
},
"additionalProperties": false
}Read a file's duration, resolution, frame rate, codecs, bitrate, audio tracks and metadata tags without converting it. Free. Cost: Free. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
}
},
"additionalProperties": false
}Guess which algorithm produced a hash (MD5, SHA family, bcrypt, argon2, crypt formats) from its length and format. Does not crack or reverse hashes. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| hash* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"maxLength": 300,
"minLength": 8
}
},
"additionalProperties": false
}Manage the apps in a workspace. Actions: list (apps, inbound URLs, routes and activity), add (an agent inbox, Slack, Discord or generic https webhook), remove, test (send a test message to an app), rotate_token (new inbound URL if one leaked). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| kind | string | |
| name | string | |
| action | string | |
| workspace | string | Workspace name. Leave as main unless you run several |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 500
},
"kind": {
"enum": [
"agent",
"webhook",
"slack",
"discord"
],
"type": "string",
"default": "agent"
},
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$"
},
"action": {
"enum": [
"list",
"add",
"remove",
"test",
"rotate_token"
],
"type": "string",
"default": "list"
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
}
},
"additionalProperties": false
}Read messages waiting in an agent app's inbox (marks them read unless peek is true), or the recent event log of the whole workspace for debugging. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| app | string | Agent app to read. Omit to read the workspace event log |
| peek | boolean | |
| limit | integer | |
| workspace | string | Workspace name. Leave as main unless you run several |
| include_read | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"app": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Agent app to read. Omit to read the workspace event log"
},
"peek": {
"type": "boolean",
"default": false
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
},
"include_read": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Decide what flows where. A route forwards events from one app (or * for any) to another when the event type matches (supports * wildcards such as alert.*) and optionally when the payload contains some text. Templates shape the message, e.g. '{{from}} says {{payload.message}}'. Actions: add, list, remove. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| to | string | |
| from | string | |
| when | string | |
| action | string | |
| contains | string | |
| route_id | integer | |
| template | string | |
| workspace | string | Workspace name. Leave as main unless you run several |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$"
},
"from": {
"type": "string",
"maxLength": 30
},
"when": {
"type": "string",
"maxLength": 60
},
"action": {
"enum": [
"add",
"list",
"remove"
],
"type": "string",
"default": "add"
},
"contains": {
"type": "string",
"maxLength": 100
},
"route_id": {
"type": "integer"
},
"template": {
"type": "string",
"maxLength": 500
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
}
},
"additionalProperties": false
}Send an event into the workspace as one of your apps. Routes then deliver it to Slack, Discord, webhooks or agent inboxes. Use `to` to deliver straight to one app without a route. This is how agents and apps talk to each other. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| to | string | |
| from | string | Which app is sending |
| type | string | Event type, e.g. alert.price or to:reviewer |
| message | string | |
| payload | object | Any JSON data to include |
| workspace | string | Workspace name. Leave as main unless you run several |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$"
},
"from": {
"type": "string",
"default": "agent",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Which app is sending"
},
"type": {
"type": "string",
"default": "message",
"pattern": "^[\\w.\\-:]{1,60}$",
"description": "Event type, e.g. alert.price or to:reviewer"
},
"message": {
"type": "string",
"maxLength": 4000
},
"payload": {
"type": "object",
"description": "Any JSON data to include",
"additionalProperties": {}
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
}
},
"additionalProperties": false
}Create a workspace that links your apps and agents so they can talk to each other. Pick a template or list apps and routes yourself. Every app gets a private inbound URL: any tool that can POST JSON to it sends events into the workspace, and routes forward those events to other apps (Slack, Discord, any https webhook, or an agent inbox that AI agents read with hub_read). Templates: 'chat_alerts' (send alerts from anything into Slack/Discord), 'agent_team' (give each agent an inbox and let them message one another), 'webhook_relay' (receive events and forward them to another service), 'blank'. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| apps | array | |
| agents | array | agent_team: names, e.g. [researcher, writer, reviewer] |
| routes | array | |
| chat_url | string | chat_alerts: Slack or Discord incoming-webhook URL |
| template | string | |
| workspace | string | Workspace name. Leave as main unless you run several |
| target_url | string | webhook_relay: https URL to forward events to |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 500
},
"kind": {
"enum": [
"agent",
"webhook",
"slack",
"discord"
],
"type": "string",
"default": "agent"
},
"name": {
"$ref": "#/properties/agents/items"
}
},
"additionalProperties": false
},
"maxItems": 20
},
"agents": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$"
},
"maxItems": 8,
"minItems": 2,
"description": "agent_team: names, e.g. [researcher, writer, reviewer]"
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"$ref": "#/properties/agents/items"
},
"from": {
"type": "string",
"maxLength": 30
},
"when": {
"type": "string",
"maxLength": 60,
"description": "Event type pattern, e.g. alert.* or * for all"
},
"contains": {
"type": "string",
"maxLength": 100
},
"template": {
"type": "string",
"maxLength": 500,
"description": "Message text. Use {{from}} {{type}} {{payload.field}}"
}
},
"additionalProperties": false
},
"maxItems": 30
},
"chat_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "chat_alerts: Slack or Discord incoming-webhook URL"
},
"template": {
"enum": [
"chat_alerts",
"agent_team",
"webhook_relay",
"blank"
],
"type": "string",
"default": "blank"
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
},
"target_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "webhook_relay: https URL to forward events to"
}
},
"additionalProperties": false
}A small key-value store every app and agent in the workspace can read and write, so they share context (current task, last result, settings). Actions: get, set, delete, list. Up to 100 keys of 4 KB each. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| key | string | |
| value | any | |
| action | string | |
| workspace | string | Workspace name. Leave as main unless you run several |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"key": {
"type": "string",
"pattern": "^[\\w.\\-:]{1,60}$"
},
"value": {},
"action": {
"enum": [
"get",
"set",
"delete",
"list"
],
"type": "string",
"default": "list"
},
"workspace": {
"type": "string",
"default": "main",
"pattern": "^[a-z0-9][a-z0-9_-]{0,29}$",
"description": "Workspace name. Leave as main unless you run several"
}
},
"additionalProperties": false
}Pull IPs, domains, URLs, emails, file hashes (MD5, SHA-1, SHA-256) and CVE IDs out of a block of text such as a threat report, log or email. De-fangs hxxp and [.] notation. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 500000,
"minLength": 3
}
},
"additionalProperties": false
}Geolocate a public IP address: country, city, ISP/organization, ASN and timezone. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| ip* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"pattern": "^[0-9a-fA-F:.]+$",
"maxLength": 45,
"minLength": 2
}
},
"additionalProperties": false
}Look up who owns a public IP address: network name, range, country, registrant and abuse contact, from the regional internet registries. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| ip* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"pattern": "^[0-9a-fA-F:.]+$",
"maxLength": 45,
"minLength": 2
}
},
"additionalProperties": false
}Decode a JSON Web Token's header and claims and check expiry. Does not verify the signature and never sends the token anywhere. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"maxLength": 8000,
"minLength": 10
}
},
"additionalProperties": false
}Turn a keyword list into Google/Microsoft Ads match types (broad, phrase, exact), find duplicates, and generate a negative-keyword starter list for a chosen intent. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| keywords* | array | |
| negatives_for | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keywords"
],
"properties": {
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 500,
"minItems": 1
},
"negatives_for": {
"enum": [
"none",
"b2c_services",
"ecommerce",
"software",
"jobs_filter"
],
"type": "string",
"default": "none"
}
},
"additionalProperties": false
}Roll from a weighted loot table, or report each item's drop chance. Handles rarity weights and returns repeatable results with a seed. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| seed | string | |
| items* | array | |
| rolls | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"items"
],
"properties": {
"seed": {
"type": "string",
"maxLength": 30
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"weight"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60
},
"weight": {
"type": "number",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1
},
"rolls": {
"type": "integer",
"default": 10,
"maximum": 1000,
"minimum": 0
}
},
"additionalProperties": false
}Turn a set of images into a video slideshow, with optional slow zoom and a music track. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| size | string | |
| zoom | boolean | Slow zoom on each image |
| images* | array | Images, in order: public http(s) links |
| music_url | string | Music (optional): public http(s) link |
| seconds_per_image | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"images"
],
"properties": {
"size": {
"enum": [
"1280x720",
"1920x1080",
"1080x1920",
"1080x1080"
],
"type": "string",
"default": "1280x720"
},
"zoom": {
"type": "boolean",
"default": true,
"description": "Slow zoom on each image"
},
"images": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 30,
"minItems": 1,
"description": "Images, in order: public http(s) links"
},
"music_url": {
"type": "string",
"format": "uri",
"description": "Music (optional): public http(s) link"
},
"seconds_per_image": {
"type": "number",
"default": 3,
"maximum": 30,
"minimum": 1
}
},
"additionalProperties": false
}Grab still frames from a video at chosen times or evenly spaced, or build one contact sheet that shows the whole video at a glance. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Video: public http(s) link |
| mode | string | |
| count | integer | How many frames, spread evenly through the video |
| width | integer | Frame width in pixels |
| format | string | |
| at_seconds | array | Exact times to grab. Overrides count |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"mode": {
"enum": [
"frames",
"contact_sheet"
],
"type": "string",
"default": "frames"
},
"count": {
"type": "integer",
"default": 1,
"maximum": 30,
"minimum": 1,
"description": "How many frames, spread evenly through the video"
},
"width": {
"type": "integer",
"default": 1280,
"maximum": 3840,
"minimum": 120,
"description": "Frame width in pixels"
},
"format": {
"enum": [
"jpg",
"png",
"webp"
],
"type": "string",
"default": "jpg"
},
"at_seconds": {
"type": "array",
"items": {
"type": "number",
"minimum": 0
},
"maxItems": 30,
"description": "Exact times to grab. Overrides count"
}
},
"additionalProperties": false
}Join several video or audio files end to end. Clips with different sizes, frame rates or audio settings are matched automatically, so mixed sources just work. Clips without audio get silence and audio-only clips get a black picture. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| urls* | array | Clips, in order: public http(s) links |
| format | string | Defaults to mp4 for video and mp3 for audio-only |
| quality | string | Quality. Lower quality gives smaller files |
| max_height | integer | Shrink video to at most this height, e.g. 720 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 20,
"minItems": 2,
"description": "Clips, in order: public http(s) links"
},
"format": {
"enum": [
"mp4",
"mov",
"mkv",
"webm",
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"description": "Defaults to mp4 for video and mp3 for audio-only"
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"max_height": {
"type": "integer",
"maximum": 2160,
"minimum": 144,
"description": "Shrink video to at most this height, e.g. 720"
}
},
"additionalProperties": false
}Create a downloadable .mid file from a chord list, as block chords, arpeggios or a bass line. Returns the file base64 encoded so it can be saved and opened in any DAW. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| bpm | number | |
| seed | string | Same seed gives the same velocities |
| chords* | array | Chord names, e.g. ['Am','F','C','G'] |
| octave | integer | |
| pattern | string | |
| beats_per_chord | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chords"
],
"properties": {
"bpm": {
"type": "number",
"default": 100,
"maximum": 240,
"minimum": 40
},
"seed": {
"type": "string",
"maxLength": 30,
"description": "Same seed gives the same velocities"
},
"chords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 8
},
"maxItems": 32,
"minItems": 1,
"description": "Chord names, e.g. ['Am','F','C','G']"
},
"octave": {
"type": "integer",
"default": 4,
"maximum": 6,
"minimum": 1
},
"pattern": {
"enum": [
"block",
"arpeggio",
"bass"
],
"type": "string",
"default": "block"
},
"beats_per_chord": {
"type": "number",
"default": 4,
"maximum": 8,
"minimum": 1
}
},
"additionalProperties": false
}Send one prompt to up to 4 AI models in parallel (OpenAI, Anthropic, Google Gemini, OpenRouter, Groq, Mistral) and get the answers side by side with latency and token use. Bring your own API key per model: keys are used for this single request only and are never stored or logged. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| models* | array | |
| prompt* | string | |
| system | string | |
| max_tokens | integer | |
| temperature | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt",
"models"
],
"properties": {
"models": {
"type": "array",
"items": {
"type": "object",
"required": [
"provider",
"model",
"api_key"
],
"properties": {
"model": {
"type": "string",
"pattern": "^[\\w.\\-:/]+$",
"maxLength": 100,
"minLength": 1
},
"api_key": {
"type": "string",
"maxLength": 300,
"minLength": 8
},
"provider": {
"enum": [
"openai",
"anthropic",
"google",
"openrouter",
"groq",
"mistral"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 4,
"minItems": 1
},
"prompt": {
"type": "string",
"maxLength": 20000,
"minLength": 1
},
"system": {
"type": "string",
"maxLength": 4000
},
"max_tokens": {
"type": "integer",
"default": 800,
"maximum": 4000,
"minimum": 16
},
"temperature": {
"type": "number",
"default": 0.7,
"maximum": 2,
"minimum": 0
}
},
"additionalProperties": false
}Look up the notes of any scale or mode, build the diatonic chords of a key, or turn a roman-numeral progression (for example I V vi IV) into chords. Optionally transpose. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| root | string | Key or root note, e.g. C, F#, Bb |
| scale | string | |
| progression | string | Roman numerals separated by spaces, e.g. 'I V vi IV' or 'ii V I' |
| transpose_semitones | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"root": {
"type": "string",
"default": "C",
"maxLength": 3,
"description": "Key or root note, e.g. C, F#, Bb"
},
"scale": {
"enum": [
"major",
"minor",
"dorian",
"phrygian",
"lydian",
"mixolydian",
"locrian",
"harmonic_minor",
"melodic_minor",
"pentatonic_major",
"pentatonic_minor",
"blues"
],
"type": "string",
"default": "major"
},
"progression": {
"type": "string",
"maxLength": 80,
"description": "Roman numerals separated by spaces, e.g. 'I V vi IV' or 'ii V I'"
},
"transpose_semitones": {
"type": "integer",
"default": 0,
"maximum": 24,
"minimum": -24
}
},
"additionalProperties": false
}Generate character, town or ship names in a chosen style (fantasy, elven, dwarven, sci-fi, orcish). Repeatable with a seed. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| seed | string | |
| count | integer | |
| style | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"seed": {
"type": "string",
"maxLength": 30
},
"count": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"style": {
"enum": [
"fantasy",
"elven",
"dwarven",
"scifi",
"orcish"
],
"type": "string",
"default": "fantasy"
}
},
"additionalProperties": false
}Generate a greyscale heightmap PNG from layered value noise for terrain, clouds or textures. Repeatable with a seed. Returns the PNG base64 encoded. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| seed | string | |
| size | integer | |
| scale | number | |
| octaves | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"seed": {
"type": "string",
"default": "world",
"maxLength": 30
},
"size": {
"type": "integer",
"default": 128,
"maximum": 512,
"minimum": 16
},
"scale": {
"type": "number",
"default": 24,
"maximum": 128,
"minimum": 2
},
"octaves": {
"type": "integer",
"default": 4,
"maximum": 6,
"minimum": 1
}
},
"additionalProperties": false
}List the curated and discovered .onion addresses, newest first. Optional search over address or title. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| search | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"search": {
"type": "string",
"default": "",
"maxLength": 100
}
},
"additionalProperties": false
}Collect v3 .onion addresses from a seed page (a clearnet link directory or a .onion page) and optionally follow the .onion links it lists one level deep to read their titles. New addresses are saved to the shared directory; use onion_directory to list everything collected. Slow when crawling. DISCLAIMER: for lawful use only. You are solely responsible for what you collect and how you use it (see /terms). Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| crawl | integer | Also fetch up to this many discovered .onion pages (via Tor) to record their titles and any further addresses |
| seed_url* | string | Page to harvest addresses from, e.g. a public hidden-service link list |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"seed_url"
],
"properties": {
"crawl": {
"type": "integer",
"default": 0,
"maximum": 10,
"minimum": 0,
"description": "Also fetch up to this many discovered .onion pages (via Tor) to record their titles and any further addresses"
},
"seed_url": {
"type": "string",
"format": "uri",
"description": "Page to harvest addresses from, e.g. a public hidden-service link list"
}
},
"additionalProperties": false
}Fetch a public .onion page through the Tor network and return its title, readable text and links. For threat-intelligence, brand-protection and research use on publicly reachable hidden services. Slow (can take 30+ seconds); .onion addresses only. DISCLAIMER: for lawful use only. You are solely responsible for what you fetch and how you use it (see /terms). Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | A http(s) URL on a .onion host |
| include_links | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "A http(s) URL on a .onion host"
},
"include_links": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}Read a page's title, description, canonical URL, Open Graph / Twitter tags, favicon, language, headings count and JSON-LD structured data. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
}
},
"additionalProperties": false
}Fetch an RSS or Atom feed and return its entries (title, link, date, summary). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1
}
},
"additionalProperties": false
}Estimate password entropy and check whether it appears in known data breaches using the Have I Been Pwned range API. Only the first 5 characters of the SHA-1 hash leave this server (k-anonymity) and nothing is stored. You can pass a SHA-1 hash instead of the password. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| sha1 | string | |
| password | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sha1": {
"type": "string",
"pattern": "^[a-f0-9]{40}$"
},
"password": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}Offline heuristic check of a URL for phishing signs: lookalike brand names, punycode, IP hosts, deep subdomains, risky TLDs, @ tricks and long obfuscated paths. Makes no request to the URL. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2000
}
},
"additionalProperties": false
}Measure round-trip latency, jitter and packet loss to a host by timing TCP connections (default port 443). ICMP ping is not available from a hosted server, so this checks that a service is reachable and how fast. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| host* | string | |
| port | integer | |
| count | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"pattern": "^[A-Za-z0-9.\\-:]+$",
"maxLength": 253,
"minLength": 1
},
"port": {
"type": "integer",
"default": 443,
"maximum": 65535,
"minimum": 1
},
"count": {
"type": "integer",
"default": 4,
"maximum": 10,
"minimum": 1
}
},
"additionalProperties": false
}Turn any image into crisp pixel art for games: pick the pixel size and colour count, and scale the result back up with sharp edges. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Image: public http(s) link |
| colors | integer | |
| upscale | integer | Scale the final picture up by this whole number |
| pixel_width | integer | Width of the pixel grid. Smaller is chunkier |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Image: public http(s) link"
},
"colors": {
"type": "integer",
"default": 16,
"maximum": 256,
"minimum": 2
},
"upscale": {
"type": "integer",
"default": 8,
"maximum": 16,
"minimum": 1,
"description": "Scale the final picture up by this whole number"
},
"pixel_width": {
"type": "integer",
"default": 64,
"maximum": 256,
"minimum": 16,
"description": "Width of the pixel grid. Smaller is chunkier"
}
},
"additionalProperties": false
}Check whether up to 10 TCP ports are open on a public host. Only scan systems you own or are authorized to test. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| host* | string | |
| ports | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"pattern": "^[A-Za-z0-9.\\-:]+$",
"maxLength": 253,
"minLength": 1
},
"ports": {
"type": "array",
"items": {
"type": "integer",
"maximum": 65535,
"minimum": 1
},
"default": [
80,
443
],
"maxItems": 10,
"minItems": 1
}
},
"additionalProperties": false
}One-step audio cleanup. The podcast preset removes low rumble, reduces background noise, trims long silences and levels the loudness to -16 LUFS. You can also change volume, fade in and out, speed, or mix to mono. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Audio or video file: public http(s) link |
| mono | boolean | |
| speed | number | |
| format | string | |
| preset | string | Podcast: denoise, trim silence and normalise loudness |
| denoise | boolean | Reduce steady background noise |
| volume_db | number | Volume change in dB |
| trim_silence | boolean | Cut long pauses and leading or trailing silence |
| start_seconds | number | Start time in seconds |
| normalize_lufs | number |
Create a QR code (SVG) for a URL or any text, e.g. for menus, payments or business cards. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| size | integer | |
| text* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"size": {
"type": "integer",
"default": 300,
"maximum": 1000,
"minimum": 100
},
"text": {
"type": "string",
"maxLength": 2000,
"minLength": 1
}
},
"additionalProperties": false
}Delete one of your saved recipes. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| name* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,39}$"
}
},
"additionalProperties": false
}Add a recipe someone shared with you, using its share code. Review it with recipe_list before running it. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| rename | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[0-9a-f]{10}$"
},
"rename": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,39}$"
}
},
"additionalProperties": false
}List the saved recipes on your account with their inputs and steps. Cost: 1 credit per call.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Publish a copy of one of your recipes and get a share code. Anyone can add it to their account with recipe_import. Only the workflow (tools and arguments) is shared, never your account or results. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| name* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,39}$"
}
},
"additionalProperties": false
}Run a saved recipe: executes its steps in order, passing outputs forward, and returns every step's result. Stops at the first failing step and reports which one failed. Pass the recipe's inputs as an object. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| inputs | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,39}$"
},
"inputs": {
"type": "object",
"default": {},
"additionalProperties": {}
}
},
"additionalProperties": false
}Save a reusable multi-step workflow that chains this server's tools. Each step is {tool, args, as?}. Args may reference {{input.x}} (values supplied at run time) or {{steps.<as>.<field>}} (output of an earlier step; steps without 'as' are s1, s2...). Up to 6 steps. Example: steps [{tool:'web_search',args:{query:'{{input.topic}}'},as:'find'},{tool:'extract_content',args:{url:'{{steps.find.results.0.url}}'}}]. Run it later with recipe_run, or publish it with recipe_publish. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| steps* | array | |
| inputs | array | Names of the inputs the recipe expects |
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"steps"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,39}$"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"tool"
],
"properties": {
"as": {
"type": "string",
"pattern": "^\\w{1,20}$"
},
"args": {
"type": "object",
"default": {},
"additionalProperties": {}
},
"tool": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
},
"maxItems": 6,
"minItems": 1
},
"inputs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\w{1,30}$"
},
"default": [],
"maxItems": 10,
"description": "Names of the inputs the recipe expects"
},
"description": {
"type": "string",
"default": "",
"maxLength": 200
}
},
"additionalProperties": false
}Follow a URL's redirects hop by hop and report each status code and location, up to 10 hops. Useful for tracing shortened or tracking links. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}Find the hostnames (PTR records) for a public IP address. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| ip* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"pattern": "^[0-9a-fA-F:.]+$",
"maxLength": 45,
"minLength": 2
}
},
"additionalProperties": false
}Fetch a web page and return its title, description and clean readable text (headings, paragraphs, lists). Use format=html for the raw HTML. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| format | string | |
| include_links | boolean | Also return the page's links |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"format": {
"enum": [
"text",
"html"
],
"type": "string",
"default": "text"
},
"include_links": {
"type": "boolean",
"default": false,
"description": "Also return the page's links"
}
},
"additionalProperties": false
}Check a site's HTTP security headers (HSTS, CSP, X-Frame-Options, etc.) and score them. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
}
},
"additionalProperties": false
}Build a shot list from a scene list: assigns shot numbers, estimates runtime and setup time per shot, and totals the schedule for a shoot day. Great for planning short films and ads. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| scenes* | array | |
| setup_minutes_per_shot | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scenes"
],
"properties": {
"scenes": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"takes": {
"type": "integer",
"default": 3,
"maximum": 20,
"minimum": 1
},
"seconds": {
"type": "number",
"default": 5,
"maximum": 600,
"minimum": 1
},
"shot_type": {
"enum": [
"wide",
"medium",
"close-up",
"insert",
"over-the-shoulder",
"drone",
"tracking"
],
"type": "string",
"default": "medium"
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"setup_minutes_per_shot": {
"type": "number",
"default": 15,
"maximum": 120,
"minimum": 0
}
},
"additionalProperties": false
}Check any public web page (or one of your hosted sites) for SEO, accessibility, mobile, performance and security problems. Returns a 0-100 score, issues ranked by severity with the exact fix for each, and optionally checks up to 25 links on the page for breakage. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| url | string | Public page to audit |
| path | string | Page inside the hosted site |
| site_id | string | Site id from site_create or site_list |
| check_links | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public page to audit"
},
"path": {
"type": "string",
"default": "index.html",
"maxLength": 150,
"description": "Page inside the hosted site"
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Site id from site_create or site_list"
},
"check_links": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Apply safe automatic fixes to an HTML page in a hosted site: lang attribute, charset, viewport, title, meta description, canonical, Open Graph tags, lazy-loading and dimensions hints on images, rel=noopener on new-tab links, defer on head scripts, and empty alt on images missing it. Returns what changed and the new audit score. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| lang | string | |
| path | string | |
| fixes | array | |
| title | string | |
| site_id* | string | Site id from site_create or site_list |
| og_image | string | |
| description | string | |
| canonical_url | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site_id"
],
"properties": {
"lang": {
"type": "string",
"default": "en",
"pattern": "^[a-z]{2}(-[A-Za-z]{2})?$"
},
"path": {
"type": "string",
"default": "index.html",
"maxLength": 150
},
"fixes": {
"type": "array",
"items": {
"enum": [
"lang",
"charset",
"viewport",
"title",
"description",
"canonical",
"open_graph",
"lazy_images",
"noopener",
"defer_scripts",
"alt_placeholder"
],
"type": "string"
},
"default": [
"lang",
"charset",
"viewport",
"lazy_images",
"noopener",
"defer_scripts",
"alt_placeholder"
]
},
"title": {
"type": "string",
"maxLength": 70
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Site id from site_create or site_list"
},
"og_image": {
"type": "string",
"format": "uri"
},
"description": {
"type": "string",
"maxLength": 170
},
"canonical_url": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}Create a complete, responsive, animated website from a short brief and host it instantly. Pick sections (hero, features, stats, about, pricing, testimonials, faq, gallery, contact, cta), a style and an accent colour. Includes dark mode, mobile menu, scroll reveals, count-up stats, monthly/yearly pricing toggle, FAQ accordion, validated contact form, SEO tags, favicon, robots.txt and sitemap. Returns a site_id and a live URL once published. Edit afterwards with site_files and redeploy with site_deploy. Sites are served in a sandbox, so avoid code that needs cookies or cross-origin storage. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| font | string | |
| lang | string | |
| name* | string | Business or site name |
| style | string | |
| accent | string | |
| content | object | |
| publish | boolean | |
| site_id | string | Regenerate into an existing site (overwrites index.html, styles.css, app.js) |
| tagline* | string |
Make a site live at its public URL, take it offline, or delete it permanently. Publishing checks the files first: pages with password fields are refused. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| action | string | |
| site_id* | string | Site id from site_create or site_list |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site_id"
],
"properties": {
"action": {
"enum": [
"publish",
"unpublish",
"delete"
],
"type": "string",
"default": "publish"
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Site id from site_create or site_list"
}
},
"additionalProperties": false
}Work with the files of a hosted site: list, read, write (one or many at once), delete. Text files (html, css, js, json, svg, xml, txt, md) are sent as utf8; images and fonts as base64. Limits: 200 files, 1.5 MB each, 25 MB per site. Changes are live immediately on published sites. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| path | string | For read, delete, or a single write |
| files | array | For writing many files at once |
| action* | string | |
| content | string | For a single write |
| site_id* | string | Site id from site_create or site_list |
| encoding | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site_id",
"action"
],
"properties": {
"path": {
"type": "string",
"maxLength": 150,
"description": "For read, delete, or a single write"
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"content"
],
"properties": {
"path": {
"type": "string",
"maxLength": 150
},
"content": {
"type": "string",
"maxLength": 2000000
},
"encoding": {
"enum": [
"utf8",
"base64"
],
"type": "string",
"default": "utf8"
}
},
"additionalProperties": false
},
"maxItems": 30,
"description": "For writing many files at once"
},
"action": {
"enum": [
"list",
"read",
"write",
"delete"
],
"type": "string"
},
"content": {
"type": "string",
"maxLength": 2000000,
"description": "For a single write"
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Site id from site_create or site_list"
},
"encoding": {
"enum": [
"utf8",
"base64"
],
"type": "string",
"default": "utf8"
}
},
"additionalProperties": false
}Copy a public page and its same-site CSS and JavaScript into a new editable workspace (up to 15 assets). References are rewritten to the local copies so you can fix the code with site_files and site_autofix, then publish a corrected version. Only import sites your customer owns or has asked you to fix. Cost: 3 credits per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| name | string | |
| site_id | string | Import into an existing workspace |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 60
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Import into an existing workspace"
}
},
"additionalProperties": false
}List every site you have created with its id, name, live URL, publish state and file count. Cost: 1 credit per call.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Find a site's sitemap (via robots.txt or /sitemap.xml) and list the page URLs in it. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| site* | string | Site root, e.g. https://example.com |
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"format": "uri",
"description": "Site root, e.g. https://example.com"
},
"limit": {
"type": "integer",
"default": 500,
"maximum": 2000,
"minimum": 1
}
},
"additionalProperties": false
}Combine animation frames or icons into one sprite sheet PNG with a fixed cell size, and get the frame coordinates as JSON for your game engine. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| images* | array | Frames, in order: public http(s) links |
| columns | integer | |
| nearest | boolean | Keep pixel art sharp when resizing |
| cell_width | integer | |
| cell_height | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"images"
],
"properties": {
"images": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 64,
"minItems": 2,
"description": "Frames, in order: public http(s) links"
},
"columns": {
"type": "integer",
"default": 8,
"maximum": 32,
"minimum": 1
},
"nearest": {
"type": "boolean",
"default": true,
"description": "Keep pixel art sharp when resizing"
},
"cell_width": {
"type": "integer",
"default": 64,
"maximum": 1024,
"minimum": 8
},
"cell_height": {
"type": "integer",
"default": 64,
"maximum": 1024,
"minimum": 8
}
},
"additionalProperties": false
}List known subdomains of a domain from public certificate-transparency logs. Passive: no traffic is sent to the target. Useful for attack-surface mapping of domains you own or are authorised to assess. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9.-]+\\.[a-z]{2,}$",
"maxLength": 253
}
},
"additionalProperties": false
}Convert subtitle text between SRT and WebVTT and shift all timings by an offset in seconds (positive delays, negative advances). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| text* | string | |
| shift_seconds | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text",
"to"
],
"properties": {
"to": {
"enum": [
"srt",
"vtt"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 500000,
"minLength": 5
},
"shift_seconds": {
"type": "number",
"default": 0,
"maximum": 3600,
"minimum": -3600
}
},
"additionalProperties": false
}Turn a tempo into millisecond note lengths, delay times and reverb pre-delay, plus the LFO frequency for each note value. Also converts bars to seconds. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| bpm* | number | |
| bars | number | Optional: number of 4/4 bars to convert to time |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"bpm"
],
"properties": {
"bpm": {
"type": "number",
"maximum": 300,
"minimum": 20
},
"bars": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Optional: number of 4/4 bars to convert to time"
}
},
"additionalProperties": false
}Line-by-line diff of two texts (contracts, configs, policies), with added and removed lines and a similarity score. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| after* | string | |
| before* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"before",
"after"
],
"properties": {
"after": {
"type": "string",
"maxLength": 100000
},
"before": {
"type": "string",
"maxLength": 100000
}
},
"additionalProperties": false
}Hash text (md5, sha1, sha256, sha512), base64 or URL encode/decode, or generate UUIDs. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| text | string | |
| count | integer | How many UUIDs |
| action* | string | |
| algorithm | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"action"
],
"properties": {
"text": {
"type": "string",
"default": "",
"maxLength": 100000
},
"count": {
"type": "integer",
"default": 1,
"maximum": 50,
"minimum": 1,
"description": "How many UUIDs"
},
"action": {
"enum": [
"hash",
"base64_encode",
"base64_decode",
"url_encode",
"url_decode",
"uuid"
],
"type": "string"
},
"algorithm": {
"enum": [
"md5",
"sha1",
"sha256",
"sha512"
],
"type": "string",
"default": "sha256"
}
},
"additionalProperties": false
}Convert between timecode (HH:MM:SS:FF), frame counts and seconds at any frame rate, add or subtract timecodes, and work out durations. Supports 23.976, 24, 25, 29.97 (drop-frame) and 30 fps. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| fps | string | |
| frames | integer | |
| seconds | number | |
| timecode | string | e.g. 01:02:03:12 |
| add_timecode | string | Timecode to add to the first one |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fps": {
"enum": [
"23.976",
"24",
"25",
"29.97",
"30",
"50",
"59.94",
"60"
],
"type": "string",
"default": "24"
},
"frames": {
"type": "integer",
"minimum": 0
},
"seconds": {
"type": "number",
"minimum": 0
},
"timecode": {
"type": "string",
"maxLength": 14,
"description": "e.g. 01:02:03:12"
},
"add_timecode": {
"type": "string",
"maxLength": 14,
"description": "Timecode to add to the first one"
}
},
"additionalProperties": false
}Inspect a site's HTTPS certificate: issuer, validity dates, days until expiry and alternate names. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9.-]+$",
"maxLength": 253,
"minLength": 3
}
},
"additionalProperties": false
}Show the network path (each router hop with latency) from our server to a public host. Cost: 2 credits per call.
| Argument | Type | Description |
|---|---|---|
| host* | string | |
| max_hops | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"pattern": "^[A-Za-z0-9.\\-:]+$",
"maxLength": 253,
"minLength": 1
},
"max_hops": {
"type": "integer",
"default": 20,
"maximum": 30,
"minimum": 3
}
},
"additionalProperties": false
}Turn the speech in a video or audio file into text with timestamps. Returns the transcript plus ready-made .srt and .vtt subtitle files. Speech recognition runs on this server, so your files are not sent to any other AI service. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Audio or video file: public http(s) link |
| language | string | Spoken language in English, e.g. spanish. Leave empty to detect it |
| translate_to_english | boolean | Translate the speech into English |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Audio or video file: public http(s) link"
},
"language": {
"type": "string",
"maxLength": 30,
"description": "Spoken language in English, e.g. spanish. Leave empty to detect it"
},
"translate_to_english": {
"type": "boolean",
"default": false,
"description": "Translate the speech into English"
}
},
"additionalProperties": false
}Cut a section out of a video or audio file. Lossless mode copies the data without re-encoding, so it is instant and keeps full quality (the cut snaps to the nearest keyframe). Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Source file: public http(s) link |
| format | string | Output format when not lossless. Defaults to mp4 or mp3 |
| quality | string | Quality. Lower quality gives smaller files |
| lossless | boolean | Copy without re-encoding (instant, keeps quality) |
| end_seconds | number | Where the cut ends, in seconds |
| start_seconds* | number | Where the cut starts, in seconds |
| duration_seconds | number | Length of the result in seconds |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"start_seconds"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Source file: public http(s) link"
},
"format": {
"enum": [
"mp4",
"mov",
"mkv",
"webm",
"gif",
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"description": "Output format when not lossless. Defaults to mp4 or mp3"
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"lossless": {
"type": "boolean",
"default": false,
"description": "Copy without re-encoding (instant, keeps quality)"
},
"end_seconds": {
"type": "number",
"description": "Where the cut ends, in seconds",
"exclusiveMinimum": 0
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Where the cut starts, in seconds"
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Build campaign tracking URLs with consistent UTM parameters, one per source/medium pair, with lower-casing and safe encoding. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| term | string | |
| content | string | |
| campaign* | string | |
| channels* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"campaign",
"channels"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"term": {
"type": "string",
"maxLength": 80
},
"content": {
"type": "string",
"maxLength": 80
},
"campaign": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"channels": {
"type": "array",
"items": {
"type": "object",
"required": [
"source",
"medium"
],
"properties": {
"medium": {
"type": "string",
"maxLength": 40
},
"source": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1
}
},
"additionalProperties": false
}Give a video a cinematic look: pick a preset (teal and orange, warm film, cool noir, black and white, vintage) and fine-tune brightness, contrast, saturation and vignette. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Video: public http(s) link |
| preset | string | |
| quality | string | Quality. Lower quality gives smaller files |
| contrast | number | |
| vignette | boolean | |
| brightness | number | |
| saturation | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"preset": {
"enum": [
"none",
"teal_orange",
"warm_film",
"cool_noir",
"black_white",
"vintage"
],
"type": "string",
"default": "teal_orange"
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"contrast": {
"type": "number",
"default": 1,
"maximum": 2,
"minimum": 0.5
},
"vignette": {
"type": "boolean",
"default": false
},
"brightness": {
"type": "number",
"default": 0,
"maximum": 0.5,
"minimum": -0.5
},
"saturation": {
"type": "number",
"default": 1,
"maximum": 3,
"minimum": 0
}
},
"additionalProperties": false
}Play a short clip backwards, with its audio. Limited to 60 seconds because the whole clip is held in memory. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.
| Argument | Type | Description |
|---|---|---|
| url* | string | Video: public http(s) link |
| format | string | |
| max_height | integer | Shrink video to at most this height, e.g. 720 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"format": {
"enum": [
"mp4",
"webm",
"gif"
],
"type": "string",
"default": "mp4"
},
"max_height": {
"type": "integer",
"maximum": 2160,
"minimum": 144,
"description": "Shrink video to at most this height, e.g. 720"
}
},
"additionalProperties": false
}Find the closest archived snapshot of a URL in the Internet Archive, optionally for a given date (YYYYMMDD). Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) page URL |
| date | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) page URL"
},
"date": {
"type": "string",
"pattern": "^\\d{4,14}$"
}
},
"additionalProperties": false
}Search the web and return ranked results (title, URL, snippet). Set include_content to also fetch the top results and return their clean text, ready for an LLM to read. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| max_results | integer | |
| include_content | boolean | Fetch the top 3 results and include their text |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 400,
"minLength": 1
},
"max_results": {
"type": "integer",
"default": 8,
"maximum": 15,
"minimum": 1
},
"include_content": {
"type": "boolean",
"default": false,
"description": "Fetch the top 3 results and include their text"
}
},
"additionalProperties": false
}Generate a level-up XP table from a curve (linear, quadratic, exponential or RuneScape-style) and report total XP and the time to reach each level at a given XP-per-hour pace. Cost: 1 credit per call.
| Argument | Type | Description |
|---|---|---|
| curve | string | |
| growth | number | Exponential growth factor |
| levels | integer | |
| base_xp | number | |
| xp_per_hour | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"curve": {
"enum": [
"linear",
"quadratic",
"exponential",
"runescape"
],
"type": "string",
"default": "quadratic"
},
"growth": {
"type": "number",
"default": 1.15,
"maximum": 3,
"minimum": 1,
"description": "Exponential growth factor"
},
"levels": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 2
},
"base_xp": {
"type": "number",
"default": 100,
"maximum": 100000,
"minimum": 1
},
"xp_per_hour": {
"type": "number",
"maximum": 1000000,
"minimum": 1
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"text": {
"type": "string",
"maxLength": 120,
"description": "Text to show. Leave empty to use only a logo"
},
"color": {
"type": "string",
"default": "#ffffff",
"pattern": "^#?[0-9a-fA-F]{6}$",
"description": "Text colour"
},
"margin": {
"type": "integer",
"default": 24,
"maximum": 200,
"minimum": 0,
"description": "Distance from the edge in pixels"
},
"opacity": {
"type": "number",
"default": 0.85,
"maximum": 1,
"minimum": 0.1
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"position": {
"enum": [
"top_left",
"top_right",
"bottom_left",
"bottom_right",
"center"
],
"type": "string",
"default": "bottom_right"
},
"font_size": {
"type": "integer",
"default": 36,
"maximum": 200,
"minimum": 10
},
"watermark_url": {
"type": "string",
"format": "uri",
"description": "Logo image (PNG, JPEG or WebP): public http(s) link"
},
"logo_width_percent": {
"type": "number",
"default": 15,
"maximum": 60,
"minimum": 3,
"description": "Logo width as a percent of the video width"
}
},
"additionalProperties": false
}| data_url | string | dashboard: URL returning {kpis, chart, table} |
| dashboard | object |
| nav_items | array | Sidebar links. The first one shows the app; others are placeholder pages to wire up later |
| api_base_url | string | crud: base URL of your REST API |
| default_mode | string |
| chat_endpoint | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"chat": {
"type": "object",
"properties": {
"greeting": {
"type": "string",
"default": "Hi! How can I help?",
"maxLength": 300
},
"placeholder": {
"type": "string",
"default": "Type a message…",
"maxLength": 80
}
},
"additionalProperties": false
},
"crud": {
"type": "object",
"properties": {
"path": {
"type": "string",
"default": "items",
"pattern": "^[a-z0-9\\-_]{1,40}$"
},
"seed": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"maxItems": 50
},
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-zA-Z_][\\w]{0,29}$"
},
"type": {
"enum": [
"text",
"number",
"email",
"date",
"checkbox",
"select"
],
"type": "string",
"default": "text"
},
"label": {
"type": "string",
"maxLength": 40
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
},
"required": {
"type": "boolean"
}
},
"additionalProperties": false
},
"default": [
{
"key": "name",
"type": "text",
"label": "Name",
"required": true
},
{
"key": "email",
"type": "email",
"label": "Email"
},
{
"key": "status",
"type": "select",
"label": "Status",
"options": [
"Active",
"Paused"
]
}
],
"maxItems": 8,
"minItems": 1
},
"plural": {
"type": "string",
"maxLength": 24
},
"singular": {
"type": "string",
"default": "Item",
"maxLength": 24
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "App name"
},
"theme": {
"enum": [
"glass",
"neon",
"paper",
"brutal"
],
"type": "string",
"default": "glass"
},
"accent": {
"type": "string",
"default": "#6366f1",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"layout": {
"enum": [
"dashboard",
"crud",
"chat"
],
"type": "string",
"default": "dashboard"
},
"publish": {
"type": "boolean",
"default": true
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Overwrite the front end of an existing site"
},
"data_url": {
"type": "string",
"format": "uri",
"maxLength": 300,
"description": "dashboard: URL returning {kpis, chart, table}"
},
"dashboard": {
"type": "object",
"properties": {
"kpis": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"delta": {
"type": "string",
"maxLength": 12
},
"label": {
"type": "string",
"maxLength": 30
},
"value": {
"type": "string",
"maxLength": 20
}
},
"additionalProperties": false
},
"maxItems": 6,
"minItems": 1
},
"table_rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
}
},
"maxItems": 50
},
"chart_title": {
"type": "string",
"maxLength": 40
},
"table_title": {
"type": "string",
"maxLength": 40
},
"chart_labels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 12
},
"maxItems": 24
},
"chart_values": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 24
},
"status_column": {
"type": "integer",
"maximum": 5,
"minimum": 0,
"description": "Column index shown as a coloured pill"
},
"table_columns": {
"type": "array",
"items": {
"type": "string",
"maxLength": 24
},
"maxItems": 6
}
},
"additionalProperties": false
},
"nav_items": {
"type": "array",
"items": {
"type": "string",
"maxLength": 24
},
"default": [],
"maxItems": 8,
"description": "Sidebar links. The first one shows the app; others are placeholder pages to wire up later"
},
"api_base_url": {
"type": "string",
"format": "uri",
"maxLength": 300,
"description": "crud: base URL of your REST API"
},
"default_mode": {
"enum": [
"auto",
"light",
"dark"
],
"type": "string",
"default": "auto"
},
"chat_endpoint": {
"type": "string",
"format": "uri",
"maxLength": 300
}
},
"additionalProperties": false
}| width_m |
| number |
| site_lat | number |
| site_lon | number |
| structure | string |
| budget_usd | number |
| floor_height_m | number |
| target_area_m2 | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"roof": {
"enum": [
"gable",
"flat"
],
"type": "string"
},
"brief": {
"type": "string",
"maxLength": 800,
"minLength": 3,
"description": "Plain-language description. Optional if layout is given."
},
"rooms": {
"type": "object",
"additionalProperties": {
"type": "integer",
"maximum": 30,
"minimum": 0
}
},
"title": {
"type": "string",
"maxLength": 80
},
"floors": {
"type": "integer",
"maximum": 10,
"minimum": 1
},
"layout": {},
"region": {
"enum": [
"us",
"high",
"low"
],
"type": "string"
},
"depth_m": {
"type": "number",
"maximum": 120,
"minimum": 3
},
"width_m": {
"type": "number",
"maximum": 120,
"minimum": 3
},
"site_lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"site_lon": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"structure": {
"enum": [
"wood",
"steel",
"concrete"
],
"type": "string",
"default": "wood"
},
"budget_usd": {
"type": "number",
"maximum": 500000000,
"minimum": 10000
},
"floor_height_m": {
"type": "number",
"default": 2.7,
"maximum": 6,
"minimum": 2.2
},
"target_area_m2": {
"type": "number",
"maximum": 20000,
"minimum": 10
}
},
"additionalProperties": false
}| wind_zone | string |
| sprinklers | boolean |
| shear_walls | boolean |
| soft_storey | boolean |
| aspect_ratio | number |
| seismic_zone | string |
| dead_load_kpa | number |
| live_load_kpa | number |
| stair_width_m | number |
| floor_height_m | number |
| ceiling_height_m | number |
| corridor_width_m | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dxf": {
"type": "string",
"maxLength": 1000000
},
"beams": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"span_m",
"width_mm",
"depth_mm"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40
},
"span_m": {
"type": "number",
"maximum": 60,
"exclusiveMinimum": 0
},
"depth_mm": {
"type": "number",
"maximum": 3000,
"exclusiveMinimum": 0
},
"material": {
"enum": [
"timber",
"steel",
"concrete",
"lvl"
],
"type": "string",
"default": "timber"
},
"width_mm": {
"type": "number",
"maximum": 2000,
"exclusiveMinimum": 0
},
"tributary_width_m": {
"type": "number",
"maximum": 30,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 40
},
"exits": {
"type": "integer"
},
"rooms": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"area_m2"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40
},
"area_m2": {
"type": "number",
"maximum": 5000,
"exclusiveMinimum": 0
},
"occupants": {
"type": "number",
"exclusiveMinimum": 0
},
"windows_m2": {
"type": "number",
"minimum": 0
},
"ventilation": {
"type": "boolean"
},
"egress_window": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 100
},
"floors": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"bracing": {
"type": "boolean"
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"load_kn",
"width_mm"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40
},
"load_kn": {
"type": "number",
"maximum": 1000000,
"minimum": 0
},
"depth_mm": {
"type": "number",
"maximum": 3000,
"exclusiveMinimum": 0
},
"height_m": {
"type": "number",
"maximum": 40,
"exclusiveMinimum": 0
},
"material": {
"enum": [
"timber",
"steel",
"concrete",
"lvl"
],
"type": "string",
"default": "steel"
},
"width_mm": {
"type": "number",
"maximum": 3000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 60
},
"r_value": {
"type": "number"
},
"structure": {
"type": "string",
"maxLength": 20
},
"wind_zone": {
"enum": [
"low",
"moderate",
"high"
],
"type": "string"
},
"sprinklers": {
"type": "boolean"
},
"shear_walls": {
"type": "boolean"
},
"soft_storey": {
"type": "boolean"
},
"aspect_ratio": {
"type": "number"
},
"seismic_zone": {
"enum": [
"low",
"moderate",
"high"
],
"type": "string"
},
"dead_load_kpa": {
"type": "number"
},
"live_load_kpa": {
"type": "number"
},
"stair_width_m": {
"type": "number"
},
"floor_height_m": {
"type": "number"
},
"ceiling_height_m": {
"type": "number"
},
"corridor_width_m": {
"type": "number"
}
},
"additionalProperties": false
}| similar_years | integer | Years either side to look for similar incidents |
| search_radius_m | integer |
| similar_radius_m | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Approximate date YYYY-MM-DD"
},
"block": {
"type": "string",
"maxLength": 40,
"description": "Street or block text, e.g. STATE ST or 012XX N"
},
"keyword": {
"type": "string",
"maxLength": 40,
"description": "Offence or location keyword, e.g. APARTMENT, FENTANYL"
},
"crime_type": {
"enum": [
"NARCOTICS",
"HOMICIDE",
"HUMAN TRAFFICKING",
"PROSTITUTION",
"SEX OFFENSE",
"CRIMINAL SEXUAL ASSAULT",
"ROBBERY",
"BATTERY",
"ASSAULT",
"BURGLARY",
"THEFT",
"MOTOR VEHICLE THEFT",
"CRIMINAL DAMAGE",
"WEAPONS VIOLATION",
"ARSON",
"KIDNAPPING"
],
"type": "string"
},
"case_number": {
"type": "string",
"maxLength": 12,
"description": "Police case number, e.g. JE123456"
},
"window_days": {
"type": "integer",
"default": 3,
"maximum": 60,
"minimum": 0,
"description": "Days either side of date"
},
"similar_limit": {
"type": "integer",
"default": 15,
"maximum": 50,
"minimum": 1
},
"similar_years": {
"type": "integer",
"default": 2,
"maximum": 5,
"minimum": 1,
"description": "Years either side to look for similar incidents"
},
"search_radius_m": {
"type": "integer",
"default": 500,
"maximum": 5000,
"minimum": 50
},
"similar_radius_m": {
"type": "integer",
"default": 800,
"maximum": 5000,
"minimum": 100
}
},
"additionalProperties": false
}| state | string | Two-letter state for state_overdose_trend |
| layers | array | Search several layers at once; overrides layer |
| keyword | string | Offense or cause keyword, e.g. FENTANYL, POSSESSION, CANNABIS |
| refresh | boolean | Bypass the cache and re-scrape the source data |
| radius_miles | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"$ref": "#/properties/from",
"description": "End date YYYY-MM-DD"
},
"east": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date YYYY-MM-DD"
},
"near": {
"type": "string",
"maxLength": 80,
"description": "ZIP code or address for treatment_sites"
},
"west": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2015
},
"layer": {
"enum": [
"narcotics_incidents",
"overdose_deaths",
"narcotics_911",
"treatment_sites",
"state_overdose_trend",
"homicides",
"suicides",
"human_trafficking",
"prostitution",
"sex_offenses",
"list_layers"
],
"type": "string",
"default": "list_layers"
},
"limit": {
"type": "integer",
"default": 500,
"maximum": 2000,
"minimum": 1
},
"north": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"south": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter state for state_overdose_trend"
},
"layers": {
"type": "array",
"items": {
"enum": [
"narcotics_incidents",
"overdose_deaths",
"narcotics_911",
"homicides",
"suicides",
"human_trafficking",
"prostitution",
"sex_offenses"
],
"type": "string"
},
"maxItems": 8,
"description": "Search several layers at once; overrides layer"
},
"keyword": {
"type": "string",
"maxLength": 40,
"description": "Offense or cause keyword, e.g. FENTANYL, POSSESSION, CANNABIS"
},
"refresh": {
"type": "boolean",
"default": false,
"description": "Bypass the cache and re-scrape the source data"
},
"radius_miles": {
"type": "number",
"default": 25,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}| integer |
| Shrink video to at most this height, e.g. 720 |
| aspect_ratio | string | Reframe to this aspect ratio |
| start_seconds | number | Start time in seconds |
| duration_seconds | number | Length of the result in seconds |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"fit": {
"enum": [
"crop",
"pad"
],
"type": "string",
"default": "crop",
"description": "Crop to fill the frame, or pad with black bars"
},
"fps": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Output frame rate"
},
"url": {
"type": "string",
"format": "uri",
"description": "Video: public http(s) link"
},
"flip": {
"enum": [
"none",
"horizontal",
"vertical"
],
"type": "string",
"default": "none",
"description": "Mirror the picture"
},
"mute": {
"type": "boolean",
"default": false,
"description": "Remove the audio"
},
"speed": {
"type": "number",
"default": 1,
"maximum": 4,
"minimum": 0.25,
"description": "1 is normal. 2 is double speed, 0.5 is slow motion"
},
"format": {
"enum": [
"mp4",
"mov",
"mkv",
"webm",
"gif"
],
"type": "string",
"default": "mp4",
"description": "Output format"
},
"rotate": {
"enum": [
"0",
"90",
"180",
"270"
],
"type": "string",
"default": "0",
"description": "Rotate clockwise, in degrees"
},
"quality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Quality. Lower quality gives smaller files"
},
"max_height": {
"type": "integer",
"maximum": 2160,
"minimum": 144,
"description": "Shrink video to at most this height, e.g. 720"
},
"aspect_ratio": {
"enum": [
"16:9",
"9:16",
"1:1",
"4:5",
"4:3",
"21:9"
],
"type": "string",
"description": "Reframe to this aspect ratio"
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Start time in seconds"
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}| Target loudness. Overrides the preset's -16 |
| fade_in_seconds | number |
| duration_seconds | number | Length of the result in seconds |
| fade_out_seconds | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Audio or video file: public http(s) link"
},
"mono": {
"type": "boolean",
"default": false
},
"speed": {
"type": "number",
"default": 1,
"maximum": 2,
"minimum": 0.5
},
"format": {
"enum": [
"mp3",
"wav",
"flac",
"aac",
"m4a",
"ogg",
"opus"
],
"type": "string",
"default": "mp3"
},
"preset": {
"enum": [
"podcast",
"none"
],
"type": "string",
"default": "podcast",
"description": "Podcast: denoise, trim silence and normalise loudness"
},
"denoise": {
"type": "boolean",
"description": "Reduce steady background noise"
},
"volume_db": {
"type": "number",
"default": 0,
"maximum": 30,
"minimum": -30,
"description": "Volume change in dB"
},
"trim_silence": {
"type": "boolean",
"description": "Cut long pauses and leading or trailing silence"
},
"start_seconds": {
"type": "number",
"minimum": 0,
"description": "Start time in seconds"
},
"normalize_lufs": {
"type": "number",
"maximum": -5,
"minimum": -30,
"description": "Target loudness. Overrides the preset's -16"
},
"fade_in_seconds": {
"type": "number",
"default": 0,
"maximum": 30,
"minimum": 0
},
"duration_seconds": {
"type": "number",
"description": "Length of the result in seconds",
"exclusiveMinimum": 0
},
"fade_out_seconds": {
"type": "number",
"default": 0,
"maximum": 30,
"minimum": 0
}
},
"additionalProperties": false
}| Headline, e.g. 'Fresh bread, baked daily' |
| cta_link | string |
| cta_text | string |
| currency | string |
| sections | array |
| description | string | One or two sentences under the headline |
| contact_email | string | Contact form falls back to opening this mailbox |
| form_endpoint | string | Optional form backend (e.g. Formspree) that accepts JSON POST |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"tagline"
],
"properties": {
"font": {
"enum": [
"system",
"serif",
"mono"
],
"type": "string",
"default": "system"
},
"lang": {
"type": "string",
"default": "en",
"pattern": "^[a-z]{2}(-[A-Za-z]{2})?$"
},
"name": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Business or site name"
},
"style": {
"enum": [
"modern",
"minimal",
"bold"
],
"type": "string",
"default": "modern"
},
"accent": {
"type": "string",
"default": "#4f46e5",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"content": {
"type": "object",
"properties": {
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"q",
"a"
],
"properties": {
"a": {
"type": "string",
"maxLength": 600
},
"q": {
"type": "string",
"maxLength": 150
}
},
"additionalProperties": false
},
"maxItems": 12
},
"stats": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 40
},
"value": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
},
"suffix": {
"type": "string",
"maxLength": 4
}
},
"additionalProperties": false
},
"maxItems": 6
},
"pricing": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"price",
"features"
],
"properties": {
"name": {
"type": "string",
"maxLength": 30
},
"price": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
},
"yearly": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
},
"features": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 8
},
"highlight": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 4
},
"cta_text": {
"type": "string",
"maxLength": 200
},
"features": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"text"
],
"properties": {
"icon": {
"enum": [
"bolt",
"shield",
"star",
"chart",
"heart",
"globe",
"code",
"clock",
"users"
],
"type": "string",
"default": "star"
},
"text": {
"type": "string",
"maxLength": 200
},
"title": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
},
"maxItems": 9
},
"cta_title": {
"type": "string",
"maxLength": 100
},
"about_text": {
"type": "string",
"maxLength": 800
},
"about_title": {
"type": "string",
"maxLength": 80
},
"testimonials": {
"type": "array",
"items": {
"type": "object",
"required": [
"quote",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60
},
"role": {
"type": "string",
"maxLength": 60
},
"quote": {
"type": "string",
"maxLength": 300
}
},
"additionalProperties": false
},
"maxItems": 6
},
"features_title": {
"type": "string",
"maxLength": 80
},
"gallery_images": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 12
}
},
"additionalProperties": false
},
"publish": {
"type": "boolean",
"default": true
},
"site_id": {
"type": "string",
"pattern": "^[a-f0-9]{10}$",
"description": "Regenerate into an existing site (overwrites index.html, styles.css, app.js)"
},
"tagline": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Headline, e.g. 'Fresh bread, baked daily'"
},
"cta_link": {
"type": "string",
"maxLength": 300
},
"cta_text": {
"type": "string",
"default": "Get started",
"maxLength": 30
},
"currency": {
"type": "string",
"default": "$",
"maxLength": 3
},
"sections": {
"type": "array",
"items": {
"enum": [
"hero",
"features",
"stats",
"about",
"pricing",
"testimonials",
"faq",
"gallery",
"contact",
"cta"
],
"type": "string"
},
"default": [
"hero",
"features",
"stats",
"pricing",
"testimonials",
"faq",
"contact"
],
"maxItems": 10,
"minItems": 1
},
"description": {
"type": "string",
"maxLength": 300,
"description": "One or two sentences under the headline"
},
"contact_email": {
"type": "string",
"format": "email",
"description": "Contact form falls back to opening this mailbox"
},
"form_endpoint": {
"type": "string",
"format": "uri",
"description": "Optional form backend (e.g. Formspree) that accepts JSON POST"
}
},
"additionalProperties": false
}