Capabilities
What your agent can do out of the box
Built-in capabilities are actions the agent invokes on its own while working — search the web, fetch pages, generate images and video, transcribe voice. You choose which ones an agent gets when you create it; no API keys or extra subscriptions.
Each action below is listed with its input parameters, what it returns, and its per-call limits. Some actions have more than one provider — the agent uses the default unless asked otherwise. The id on each card is what you put in capabilities = […] in agent.toml or the API's capabilities field to grant it. Media outputs are returned as hosted assets the agent can deliver on any channel. Usage is metered per the listed unit and billed from your credits; actions marked with an approval threshold ask before spending more than it.
Web
web.searchexaread-only · per runexa.searchSearch web
Find public web pages and return sourced search results.
Parameters
querystringrequiredSearch query text sent to the web search provider.
limitintegerMaximum number of search results to return. — default: 8 — 1–20
Returns
resultsarraySearch result objects.
providerstringResolved provider.
timeout 30s · up to 20 results
web.fetchexadefaultread-only · per pageexa.contentsFetch web page
Retrieve readable public URL content as markdown, text, or JSON metadata.
Parameters
urlurlrequiredPublic URL to fetch.
formatenumReturned content format. — markdown · text · json — default: "markdown"
Returns
urlurlFetched URL.
contentstringNormalized content.
providerstringResolved provider.
timeout 30s · up to 2 MB
web.fetchtinyfishon requestread-only · per pagetinyfish.fetchFetch JS-heavy page
Explicit JS-heavy/browser fallback for pages Exa cannot fetch statically.
Parameters
urlurlrequiredPublic URL to fetch.
formatenumReturned content format. — markdown · text · json — default: "markdown"
Returns
urlurlFetched URL.
contentstringNormalized content.
providerstringResolved provider.
timeout 60s · up to 2 MB
web.browsertinyfishon requestread-only · per minutetinyfish.browserBrowser session
Use only when a page cannot be fetched statically.
Parameters
urlurlrequiredPublic URL to open.
taskstringBrowser task to perform. — default: "extract readable content"
Returns
urlurlOpened URL.
contentstringExtracted content or result.
providerstringResolved provider.
timeout 120s · up to 120s duration
SEO / SERP
serp.searchdataforseoon requestread-only · per rundataforseo.serpSearch SERP
Structured search-engine results (SERP) data for SEO work — not the default web search path.
Parameters
querystringrequiredSERP query.
localestringSearch locale. — default: "en-US"
limitintegerMaximum organic results. — default: 10 — 1–100
Returns
resultsarraySERP result objects.
providerstringResolved provider.
timeout 60s · up to 100 results
Images
image.generategptimagegenerates media · per assetgptimage.generateGenerate image
Create an image from a text prompt through GPT Image.
Parameters
promptstringrequiredImage prompt.
sizeenumOutput image size. — 1024x1024 · 1024x1536 · 1536x1024 — default: "1024x1024"
Returns
assetIdasset-refGuild asset id.
mimeTypestringOutput MIME type.
providerstringResolved provider.
timeout 120s · up to 20 MB · capped at $1/call · asks for approval above $1 per call
image.remove_backgroundrembgon requesttransforms input · per assetrembg.remove-backgroundRemove image background
Deterministic background removal for images.
Parameters
imagefilerequiredInput image file.
Returns
assetIdasset-refGuild asset id.
mimeTypestringOutput MIME type.
providerstringResolved provider.
timeout 60s · up to 20 MB
Video
video.generateseedancegenerates media · per secondseedance.generateGenerate video
Generate a video from a text prompt.
Parameters
promptstringrequiredVideo prompt.
durationintegerDuration in seconds. — default: 5 — 1–10
ratioenumAspect ratio. — 16:9 · 9:16 · 1:1 — default: "16:9"
Returns
assetIdasset-refGuild asset id.
mimeTypestringOutput MIME type.
providerstringResolved provider.
timeout 300s · up to 10s duration · capped at $5/call · asks for approval above $5 per call
video.from_imagemmon requestgenerates media · per secondmm.i2vImage to video
Generate a video from a still image and a motion prompt.
Parameters
imagefilerequiredInput image file.
promptstringrequiredMotion/video prompt.
durationintegerDuration in seconds. — default: 5 — 1–10
Returns
assetIdasset-refGuild asset id.
mimeTypestringOutput MIME type.
providerstringResolved provider.
timeout 300s · up to 10s duration · capped at $5/call · asks for approval above $5 per call
Voice
voice.transcribefish-audiotransforms input · per minutefish-audio.transcribeTranscribe voice with Fish Audio
Default transcription for audio and video files.
Parameters
audiofilerequiredAudio or video file to transcribe.
languagestringLanguage code or auto. — default: "auto"
formatenumTranscript output format. — text · json · srt — default: "text"
Returns
textstringTranscript text.
languagestringDetected or requested language.
providerstringResolved provider.
timeout 120s · up to 50 MB · up to 3600s duration