Back to Weftly
Card snapshot
api.weftly.ai
·
2026-05-18 12:58:23 UTC
·
e1ceb0499edc9c183ff657f543306194469421dc8e1511715053606c8b7c5105
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "Weftly",
"description": "Upload audio or video for transcription or summarization. No account required. Two payment rails: Stripe SPT (fiat) and Tempo crypto (USDC). Files auto-delete after 4-24 hours.",
"url": "https://api.weftly.ai",
"version": "1.0.0",
"provider": {
"organization": "Woven Record Media",
"url": "https://weftly.ai"
},
"capabilities": {
"streaming": true,
"pushNotifications": false
},
"skills": [
{
"id": "transcribe-audio",
"name": "Transcribe Audio",
"description": "Transcribe an audio file (MP3, WAV, M4A, OGG, FLAC, WebM) with timestamps. Output formats: SRT, TXT, VTT, JSON, words (per-word timestamps, schema at /.well-known/weftly-transcript-v2.schema.json). Cost: $0.50.",
"tags": [
"transcription",
"audio",
"srt",
"vtt",
"txt",
"json",
"words",
"word-level",
"speech-to-text"
],
"examples": [
"Transcribe this podcast episode",
"Convert audio recording to text with timestamps",
"Get word-level timestamps for clip extraction"
]
},
{
"id": "transcribe-video",
"name": "Transcribe Video",
"description": "Transcribe a video file (MP4, MOV, WebM) with timestamps. Includes audio extraction. Output formats: SRT, TXT, VTT, JSON, words (per-word timestamps, schema at /.well-known/weftly-transcript-v2.schema.json) \u2014 words format supports clipping, multicamera edits, and edit-video-from-transcript. Cost: $1.00.",
"tags": [
"transcription",
"video",
"srt",
"vtt",
"txt",
"json",
"words",
"word-level",
"speech-to-text",
"subtitles",
"video-editing"
],
"examples": [
"Transcribe this video interview",
"Generate subtitles for this MP4",
"Get word-level timestamps for editing this video on word boundaries"
]
},
{
"id": "summarize-audio",
"name": "Summarize Audio",
"description": "Transcribe and summarize an audio file. Returns transcript (SRT, TXT, VTT, JSON, or words with per-word timestamps) and text summary. Cost: $0.75.",
"tags": [
"summarization",
"audio",
"speech-to-text",
"words",
"word-level"
],
"examples": [
"Summarize this podcast episode",
"Give me key points from this audio recording"
]
},
{
"id": "summarize-video",
"name": "Summarize Video",
"description": "Transcribe and summarize a video file. Returns transcript (SRT, TXT, VTT, JSON, or words with per-word timestamps) and text summary. Includes audio extraction. Cost: $1.25.",
"tags": [
"summarization",
"video",
"speech-to-text",
"words",
"word-level"
],
"examples": [
"Summarize this video interview",
"Give me key points from this video"
]
},
{
"id": "find-clips-video",
"name": "Find Clips",
"description": "Identify ranked candidate clips in a video. Transcribes the source, then has Claude analyze the transcript to surface compelling 2\u20135 minute moments with titles, hooks, narrative summaries, scoring, and the FULL TEXT of each candidate so callers can preview content before paying for extract_clip. Optional `query` parameter switches from \"best clips\" discovery mode to query mode (e.g., \"they discuss pricing\"). Output schema at /.well-known/weftly-clips-v1.schema.json. Also returns the SRT and word-level transcript as free byproducts. Cost: $2.00.",
"tags": [
"clipping",
"video-analysis",
"highlights",
"discovery",
"words",
"word-level",
"video-editing"
],
"examples": [
"Find the best clips in this interview",
"Find clips where they discuss pricing in this call",
"Identify shareable moments from this podcast"
]
},
{
"id": "extract-clip",
"name": "Extract Clip",
"description": "Cut and assemble a clip from a prior video job (find_clips, summarize, or video transcribe). Pass one segment for a simple cut, or multiple non-contiguous segments to compose a single highlight reel \u2014 same flat $0.50 either way. Frame-accurate boundaries, 15ms audio fades at segment joins. Outputs clip.mp4 plus, by default, clipped SRT + word-level transcript stitched to match the assembled output. Total output duration capped at 30 minutes per call (margin protection). Cost: $0.50, paid via MPP \u2014 accepts Tempo USDC and Stripe SPT. The challenge's WWW-Authenticate header and /.well-known/mpp.json are authoritative for the supported methods.",
"tags": [
"clipping",
"video-editing",
"extraction",
"compose",
"highlights"
],
"examples": [
"Extract clip 1 from yesterday's find_clips job",
"Combine clips 1 and 3 from job J1 into one highlight reel",
"Cut from 12:34 to 15:58 of the call I just transcribed"
]
},
{
"id": "extract-vertical-clip",
"name": "Extract Vertical Clip",
"description": "Cut a 9:16 vertical clip from any prior video job (find_clips, summarize, or video transcribe), suitable for direct upload to TikTok, Instagram Reels, or YouTube Shorts. 1080\u00d71920 H.264/AAC mp4, center-cropped from a horizontal source. Single segment only, max 90 seconds output. Pair with find_clips to pick a moment, then call this for a download-ready vertical mp4 in under 5 minutes. Cost: $0.50, paid via MPP \u2014 accepts Tempo USDC and Stripe SPT. The challenge's WWW-Authenticate header and /.well-known/mpp.json are authoritative for the supported methods.",
"tags": [
"clipping",
"video-editing",
"vertical",
"tiktok",
"reels",
"shorts",
"social"
],
"examples": [
"Make clip 1 from yesterday's find_clips job into a TikTok",
"Vertical clip from 12:34 to 13:30 of the interview",
"Cut the best moment as a Reel for Instagram"
]
}
],
"protocols": [
{
"type": "MCP",
"url": "https://api.weftly.ai/mcp",
"transport": "streamable-http",
"description": "Model Context Protocol endpoint for Claude Desktop and MCP clients"
},
{
"type": "REST",
"url": "https://api.weftly.ai/api/v1",
"openapi": "https://api.weftly.ai/openapi.json",
"description": "REST API with OpenAPI 3.1.0 spec"
}
],
"authentication": {
"schemes": [
{
"type": "bearer",
"description": "Anonymous session token obtained via POST /api/v1/sessions. Used after Stripe SPT payment."
},
{
"type": "mpp",
"description": "Machine Payments Protocol (MPP). Two rails: Stripe SPT (agent-initiated card payments) and Tempo (USDC crypto for fully autonomous flows). Discovery at /.well-known/mpp.json.",
"protocol": "https://mpp.dev",
"methods": [
"tempo.charge",
"stripe.charge"
]
}
]
},
"pricing": {
"model": "per-request",
"currency": "USD",
"items": [
{
"skill": "transcribe-audio",
"price": "$0.50",
"unit": "per file"
},
{
"skill": "transcribe-video",
"price": "$1.00",
"unit": "per file"
},
{
"skill": "summarize-audio",
"price": "$0.75",
"unit": "per file"
},
{
"skill": "summarize-video",
"price": "$1.25",
"unit": "per file"
},
{
"skill": "find-clips-video",
"price": "$2.00",
"unit": "per video"
},
{
"skill": "extract-clip",
"price": "$0.50",
"unit": "per clip"
},
{
"skill": "extract-vertical-clip",
"price": "$0.50",
"unit": "per clip"
}
]
},
"defaultInputModes": [
"application/octet-stream"
],
"defaultOutputModes": [
"application/x-subrip",
"text/plain",
"text/vtt",
"application/json"
]
}