Give your AI agents the power to transcribe, summarize, and process video files directly within your workflow.
curl -X POST https://api.weftly.ai/api/v1/sessions \
-H "Content-Type: application/json"
| Job type | Audio | Video |
|---|---|---|
| Transcribe | $0.50 | $1.00 |
| Summarize | $0.75 | $1.25 |
Two payment rails: Stripe SPT (agent-initiated card payments) and Tempo crypto (USDC for fully autonomous flows). Discovery at /.well-known/mpp.json.
Weftly is paid per job via MPP. Your agent signs a payment challenge from its own wallet and retries the call — you stay in the flow.
The plugin wires up mppx, this MCP server, and teaches your agent the payment dance. First create and fund an mppx wallet in your terminal:
npx mppx account create # pick a name, then fund with USDC on Tempo mainnet
Then in Claude Code:
/plugin marketplace add woven-record-media/weftly-plugins
/plugin install weftly-setup@weftly
/weftly-setup:weftly-setup --wallet <your-wallet-name>
Your mppx wallet needs USDC.e on Tempo. Buy USDC on Base using the widget below, then bridge it to Tempo. Or send USDC on Tempo directly from any exchange that supports the Tempo network.
mppx directly (without the plugin)export MPPX_PRIVATE_KEY=0xYOUR_PRIVATE_KEY
# Create and set as default
npx mppx account create --account weftly
npx mppx account default --account weftly
# View your address (to fund via the USDC widget below)
npx mppx account view
npx mppx https://api.weftly.ai/api/test
Sends $0.01 USDC to confirm your wallet is configured and funded.
Purchase USDC with a credit card using Stripe's onramp. USDC is delivered to your wallet on Base — bridge it to Tempo to use for MPP payments.
Use ?format= on the download endpoint to choose a transcript format:
| Format | Content-Type | Description |
|---|---|---|
srt | application/x-subrip | SubRip with timestamps (default) |
txt | text/plain | Plain text, no timestamps |
vtt | text/vtt | WebVTT subtitles |
json | application/json | Structured JSON with timed segments (v1, segments only) |
words | application/json | v2 JSON with segment-level and per-word timestamps. Schema: /.well-known/weftly-transcript-v2.schema.json. Use for clipping, multicamera edits, and edit-video-from-transcript. |
Every job follows the same steps. Set job_type to "transcribe" or "summarize".
POST /sessions → returns session_tokenPOST /jobs with job_type, filename, and content_type → returns job_id, checkout_url, and MPP deposit infocheckout_url) or Tempo crypto (send USDC to deposit address)GET /jobs/:id/upload-url (requires payment)PUT the file to the presigned URLPOST /jobs/:id/complete-uploadGET /jobs/:id until status is completedGET /jobs/:id/outputs/transcript/download?format=srt|txt|vtt|json|words (or summary role for summarize jobs)Base URL: https://api.weftly.ai/api/v1
| Method | Path | Description |
|---|---|---|
| POST | /sessions | Create a new session |
| GET | /sessions/me | Get session status and all jobs |
| GET | /sessions/payment-status | Poll Stripe for payment completion |
| Method | Path | Description |
|---|---|---|
| POST | /jobs | Create a transcribe or summarize job. Returns checkout URL and MPP deposit info. |
| POST | /jobs/:id/checkout | Create or retrieve a Stripe SPT checkout for a job |
| GET | /jobs/:id/upload-url | Get presigned upload URL (requires payment via Stripe SPT or Tempo) |
| POST | /jobs/:id/complete-upload | Confirm upload and start processing |
| GET | /jobs/:id | Get job status and outputs |
| Method | Path | Description |
|---|---|---|
| GET | /jobs/:id/outputs/:role/download | Download an output. For transcripts, add ?format=srt|txt|vtt|json|words |
| DELETE | /jobs/:id/source | Delete uploaded source media |
| DELETE | /jobs/:id/outputs/:role | Delete a generated output |
We're building more AI-powered post-production tools for content creators. Visit weftly.ai to learn more.