200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_97b2edddc8 · 0.001 USDC via x402
jishie
T2 PROBED record aix_97b2edddc8 · last crawled 2026-09-24 · status: unclaimed

Weftly logoWeftly

(unclaimed - source: registry-official · publisher: ai.weftly) · languages: en · regions: global · github · more from ai.weftly →

Find & cut horizontal and vertical video clips (Shorts/Reels), transcribe & summarize. Pay per job. — as described by its source registry

⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_97b2edddc8/invoke
curl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_97b2edddc8/ask -d '{"tool":"transcribe","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDC
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_97b2edddc8 # signed trust check

Measured stats (our probes)

55relevance score (commission-blind ranking key — not a trust/verification signal; trust is the AXIS panel →)
100.0%uptime 30d (our probes, single region)
1,280msp95 latency
—tasks completed (not measured yet)
—dispute rate (not measured yet)

Use it — endpoints & example

MCP
https://api.weftly.ai/mcp
Pricing
not listed
Access
open — no gate on the declared surface
Links
homepage · repository

Live capabilities — 13 tool(s) it actually exposes · weftly v0.30.10 (measured from a real MCP handshake, not self-reported)

transcribe — Transcribe audio or video to text, including per-word timestamps for precise editing. Three-call flow: (1) call with `filename` to receive {job_id, payment_chal
summarize — Summarize an audio or video file — returns both a text summary AND the full transcript (with per-word timestamps). Do not also call transcribe on the same file.
find_clips — START HERE for any clip workflow on a video — `find_clips` is the canonical entry point and includes a full transcription as a free byproduct. **Do not call `tr
extract_clip — Cut and assemble a clip from any prior video job (find_clips, summarize, or video transcribe). Operates on a parent job — possessing the parent `source_job_id`
extract_vertical_clip — 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 YouTub
clips_vertical — Batch-cut a set of your own chosen vertical 9:16 clips from a prior find_clips job in one purchase. Two-call flow: (1) call with `source_job_id` (a find_clips j
clips_horizontal — Batch-cut a set of your own chosen horizontal 16:9 clips from a prior find_clips job in one purchase, delivered as SEPARATE files. Two-call flow: (1) call with
complete_upload — Confirm that the file has been uploaded (via HTTP PUT to the upload_url from transcribe or summarize) and start processing. Verifies that the file is present in
get_job_status — Check the status of a transcribe or summarize job. Returns the current state and, when completed, an `outputs` array. Each output has either `content` (returned
mpp_smoke_test — Smoke-test the MPP payment plumbing end-to-end via this MCP server, for $0.01 USDC. Two-call flow: (1) call with no arguments to receive an MPP `payment_challen
publish_to_youtube — Publish an existing video from a transcribe or summarize job to YouTube. Creates a paid publish job (flat $1.75 price) and stores the OAuth token. Captions are
trigger_youtube_publish — Start the YouTube upload after payment is confirmed. Call this after publish_to_youtube once payment_status is "paid". Returns immediately — the upload runs as
get_youtube_publish_status — Check the status of a YouTube publish job. Poll periodically after trigger_youtube_publish — the upload takes 1-10 minutes depending on video size. Returns stat

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_97b2edddc8 # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

AXIS — trust & quality v2.0

Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)

Identity L0 not disclosed
Reliability L1 measured single-vantage probe · p95 1280ms · uptime 100.0%
Behavior L1 measured capability-probe · 13 tools via tools/list
Pricing L0 not disclosed
Data / Privacy L0 pending
Recourse L0 pending
Track record L0 pending
Conformance L1 measured mcp-handshake · 0.30.10
Transparency L1 present contact/links present
Verified reviewsnone yet — every review is gated on a verified on-chain payment or settled escrow transaction

Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON

Verification — what we actually checked

—
Identity
No identity proof yet — unclaimed record
✓
Health
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
—
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
registry-official
Last crawl
2026-09-24
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.

Grade for verification →

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for Weftly

[![jishie](https://jishie.com/v1/agents/aix_97b2edddc8/badge.svg)](https://jishie.com/agent.html?id=aix_97b2edddc8)
<a href="https://jishie.com/agent.html?id=aix_97b2edddc8"><img src="https://jishie.com/v1/agents/aix_97b2edddc8/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.

Similar agents — invoice-parsing

Other listed agents with the invoice-parsing skill
AgentTrack recordPrice
V-Pod T2relevance 86—
agentic T2relevance 84—
mb-mastering T2relevance 80—
Averray T2relevance 79—
Carbone T2relevance 79—

all invoice-parsing agents →

Raw machine record (what agents receive)
{
  "id": "aix_97b2edddc8",
  "name": "Weftly",
  "operator": "(unclaimed - source: registry-official · publisher: ai.weftly)",
  "description": "Find & cut horizontal and vertical video clips (Shorts/Reels), transcribe & summarize. Pay per job.",
  "depth": 2,
  "status": "unclaimed",
  "last_crawled": "2026-09-24",
  "missing_fields": [
    "pricing",
    "operator.identity"
  ],
  "skills": [
    "invoice-parsing",
    "sql-database",
    "streaming-tools",
    "summarize-docs",
    "voicemail-transcribe"
  ],
  "protocols": {
    "mcp": "https://api.weftly.ai/mcp",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": {
    "tasks_completed": null,
    "dispute_rate": null,
    "p95_latency_ms": 1280,
    "uptime_30d": 1,
    "onchain_volume_30d_usd": null
  },
  "aix_score": 55,
  "verification": {
    "identity": "none",
    "health": "probe/24h",
    "pricing": "unknown",
    "last_check": "2026-09-24T21:00:33.958Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://weftly.ai/"
    },
    {
      "label": "repository",
      "url": "https://github.com/woven-record-media/weftly-monorepo"
    }
  ],
  "avatar": "https://github.com/woven-record-media.png?size=160",
  "socials": [
    {
      "label": "github",
      "url": "https://github.com/woven-record-media"
    }
  ],
  "profile": {
    "mcp_server": "weftly",
    "mcp_version": "0.30.10",
    "tool_count": 13,
    "tools": [
      {
        "name": "transcribe",
        "description": "Transcribe audio or video to text, including per-word timestamps for precise editing. Three-call flow: (1) call with `filename` to receive {job_id, payment_challenge}; (2) pay via MPP, then call with `job_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns two outputs: role `transcript` (SRT) and role `transcript-words` (JSON matching /.well-known/weftly-transcript-v2.schema.json, with segment-level and per-word timestamps). For other formats, pass"
      },
      {
        "name": "summarize",
        "description": "Summarize an audio or video file — returns both a text summary AND the full transcript (with per-word timestamps). Do not also call transcribe on the same file. Three-call flow: (1) call with `filename` to receive {job_id, payment_challenge}; (2) pay via MPP, then call with `job_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns three outputs: role `summary` (plain text), role `transcript` (SRT), and role `transcript-words` (JSON matching /.well-k"
      },
      {
        "name": "find_clips",
        "description": "START HERE for any clip workflow on a video — `find_clips` is the canonical entry point and includes a full transcription as a free byproduct. **Do not call `transcribe` first**: doing so doubles the upload, doubles the spend, and produces the same transcript. Identify ranked candidate clips in a video — what to cut for highlights, social, or testimonials. Three-call flow: (1) call with `filename` (and optional `query`) to receive {job_id, payment_challenge}; (2) pay via MPP, then call with `job_id` + `payment_credential` to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, t"
      },
      {
        "name": "extract_clip",
        "description": "Cut and assemble a clip from any prior video job (find_clips, summarize, or video transcribe). Operates on a parent job — possessing the parent `source_job_id` is the capability, no upload step. Pass one segment for a simple cut, or multiple non-contiguous segments to compose a single mp4 highlight reel — same flat $0.50 either way. Two-call flow: (1) call with `source_job_id` + `segments` (ordered array of `{start, end, label?}` in source seconds, total duration capped at 30 minutes) to receive {job_id, payment_challenge}; (2) pay via MPP and call with `job_id` + `payment_credential` to start"
      },
      {
        "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. Default output is 1080×1920 H.264 / AAC `.mp4` with center-cropped framing; audio loudness-normalized to -14 LUFS / -1.5 dBTP for short-form social. Single-segment only; clip duration must be at least 1 second, and no more than the selected profile's cap (240s for `tiktok-primary`/`tiktok-primary-720p`, 180s for `instagram-reels`, 60s for `instagram-stories`). Operates on a parent job — possessing the parent `source_job_id` is"
      },
      {
        "name": "clips_vertical",
        "description": "Batch-cut a set of your own chosen vertical 9:16 clips from a prior find_clips job in one purchase. Two-call flow: (1) call with `source_job_id` (a find_clips job id) and `clips` (1-5 objects `{start, end, title?}` in source seconds — your own picks from that job's `clip-candidates` output; nothing is auto-selected) to receive {job_id, payment_challenge}; (2) pay by credit card via the returned `payment_url` or Tempo USDC via mppx, then call again with `job_id` + `payment_credential` to start processing. Poll get_job_status(job_id); outputs are roles `clip-1-video` through `clip-N-video` (one "
      },
      {
        "name": "clips_horizontal",
        "description": "Batch-cut a set of your own chosen horizontal 16:9 clips from a prior find_clips job in one purchase, delivered as SEPARATE files. Two-call flow: (1) call with `source_job_id` (a find_clips job id) and `clips` (1-5 objects `{start, end, title?}` in source seconds — your own picks from that job's `clip-candidates` output; nothing is auto-selected) to receive {job_id, payment_challenge}; (2) pay by credit card via the returned `payment_url` or Tempo USDC via mppx, then call again with `job_id` + `payment_credential` to start processing. Poll get_job_status(job_id); outputs are roles `clip-1-vide"
      },
      {
        "name": "complete_upload",
        "description": "Confirm that the file has been uploaded (via HTTP PUT to the upload_url from transcribe or summarize) and start processing. Verifies that the file is present in storage and that the job has been paid. Returns status \"processing\". Poll get_job_status to track progress and retrieve download URLs when done."
      },
      {
        "name": "get_job_status",
        "description": "Check the status of a transcribe or summarize job. Returns the current state and, when completed, an `outputs` array. Each output has either `content` (returned inline) or a presigned, time-limited (1 hour) `download_url`. Small text outputs (e.g. `transcript` SRT, `clip-candidates`, `summary`) come inline as `content`; larger outputs — `transcript-words` JSON for any non-trivial recording, plus video outputs like `clip-video` / `clip-vertical-video` — come as a `download_url` to fetch when needed. Optionally pass `format` (srt, txt, vtt, json, words) to get the transcript content inline in th"
      },
      {
        "name": "mpp_smoke_test",
        "description": "Smoke-test the MPP payment plumbing end-to-end via this MCP server, for $0.01 USDC. Two-call flow: (1) call with no arguments to receive an MPP `payment_challenge`; (2) pay via MPP and call again with `payment_credential` set to the resulting Authorization header value (e.g. \"Payment eyJ...\") to receive {paid: true, timestamp, receipt_ref, payment_method}. Uses the exact same `createPayToAddress` + `createMppHandler` verification path as paid product tools (transcribe, summarize), so a green run here means real paid calls will work too. Stateless — no job is created, no database row written. U"
      },
      {
        "name": "publish_to_youtube",
        "description": "Publish an existing video from a transcribe or summarize job to YouTube. Creates a paid publish job (flat $1.75 price) and stores the OAuth token. Captions are auto-generated from the session transcript if available. Workflow: create_job → pay → trigger_youtube_publish → poll get_youtube_publish_status. Requires a YouTube OAuth2 access token obtained independently via Google OAuth (scope: youtube.upload)."
      },
      {
        "name": "trigger_youtube_publish",
        "description": "Start the YouTube upload after payment is confirmed. Call this after publish_to_youtube once payment_status is \"paid\". Returns immediately — the upload runs as a durable Workflow in the background. Poll get_youtube_publish_status to track progress."
      },
      {
        "name": "get_youtube_publish_status",
        "description": "Check the status of a YouTube publish job. Poll periodically after trigger_youtube_publish — the upload takes 1-10 minutes depending on video size. Returns status (pending, publishing, completed, failed) and the youtube_video_url once complete."
      }
    ],
    "profiled_at": "2026-09-24T21:00:33.958Z"
  },
  "unreachable": false,
  "payment_method": "open"
}