AceSense for AI agents: programmatic tennis video analysis
Pay-per-minute REST + MCP API for AI agents to analyze tennis videos. EU-hosted, prepaid credits, OpenAPI 3.1, MCP tools, x402 payments. Build coaching agents on AceSense.
If you're building an AI agent that helps tennis players improve, a coaching bot, a club-management tool, a training-platform integration, and you need a real per-shot video analysis backend, AceSense is built for that. Same pipeline that powers the AceSense iOS + Android app (TrackNet → court keypoints → MediaPipe pose → CatBoost shot/bounce classification → stroke quality), exposed as a clean pay-per-minute API.
This page is the public-facing entry point. Full technical docs live at docs.acesense.io; the OpenAPI 3.1 spec is at openapi.json; the MCP server card is at /.well-known/mcp/server-card.json.
How it works
1. Sign up for an API key → POST https://api.acesense.io/v1/api-keys
2. Top up prepaid credits → POST https://api.acesense.io/v1/billing/checkout (Stripe-hosted)
3. Submit a video → POST https://api.acesense.io/v1/jobs
4. Poll for completion → GET https://api.acesense.io/v1/jobs/{jobId}
5. Fetch the analysis → GET https://api.acesense.io/v1/jobs/{jobId}/result
Or via MCP:
POST https://api.acesense.io/mcp
Authorization: Bearer phk_...
Content-Type: application/json
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "analyze_tennis_video",
"arguments": { "videoUrl": "https://..." } } }
Pricing
| Tier | Per-minute (EUR) | Per-minute (USD) | Per-minute (GBP) | Notes |
|---|---|---|---|---|
| Standard | €0.75 | $0.80 | £0.65 | Default for all agent API keys |
| Volume (>5,000 min/mo) | €0.55 | $0.60 | £0.48 | Email [email protected] |
| Enterprise | custom | custom | custom | Self-hosted GPU optional |
A 90-minute match costs about €67. A 5-minute serve drill costs €3.75.
The first €10 of credit is free for all new API keys, enough to process ~13 minutes and decide if AceSense fits your use case.
Auth
Authorization: Bearer phk_<24-byte-url-safe-random>
Keys are SHA-256-hashed at rest, never logged. Rotate at any time via the admin panel or the revokeApiKey callable.
Discovery surface (well-known endpoints)
| Path | Purpose | Spec |
|---|---|---|
/openapi.json | OpenAPI 3.1, all GET endpoints on the marketing site + the api.acesense.io schema | OpenAPI 3.1 |
/.well-known/api-catalog | Linkset of public retrievable resources | RFC 9727 |
/.well-known/mcp/server-card.json | MCP server metadata | SEP-1649 |
/.well-known/agent-skills/index.json | Agent Skills RFC v0.2.0 catalogue | Cloudflare Agent Skills |
/.well-known/openid-configuration | OIDC discovery (Firebase Auth issuer) | OIDC 1.0 |
/.well-known/x402 | x402 payment-required discovery | x402 |
/.well-known/mpp.json | MPP machine-payment discovery | MPP |
/.well-known/acp.json | ACP merchant discovery | ACP v0.1 |
Use cases for agent operators
- Tennis-coaching chatbots, agent uploads a user's match video, returns coaching tips. Pay per-minute, pass-through to your end-user pricing.
- Training-platform integrations, embed AceSense into a course platform; auto-analyze homework videos and surface stroke-quality scores in your LMS.
- Club-management software, analyze junior tournament matches in bulk, push reports to parents/coaches.
- Research / dataset enrichment, annotate large collections of tennis video for labeled-data products.
What we don't do
We're not a content marketplace. AceSense doesn't take a cut of an agent operator's downstream revenue. The pricing above is the only thing you pay; there are no per-impression or per-end-user surcharges.
Get started
- Sign up: acesense.io/signup (creates a Firebase user account).
- Generate an API key: visit admin.acesense.io → Developer → Create API Key.
- Top up your balance: Stripe Checkout flow.
- First call:
curl -H "Authorization: Bearer phk_..." https://api.acesense.io/v1/healthz.
Email [email protected] with your project description for higher rate limits or volume pricing.
Related
Frequently asked questions
- Can my AI agent analyze a tennis video through AceSense?
- Yes. AceSense exposes a REST API at api.acesense.io and an MCP server at api.acesense.io/mcp. Both accept Bearer API keys (phk_…) and bill against prepaid credits. Submit a job, poll for status, fetch the analysis JSON when done, same shape as the in-app workflow but agent-callable.
- How much does it cost per video?
- Pricing is per minute of video processed at €0.75/min (USD ≈ $0.80, GBP ≈ £0.65). A typical 90-minute match costs about €67. Free tier gives 3 analyses/month with no API key required for evaluation; paid agent usage uses prepaid credits topped up via Stripe Checkout.
- What protocols do you support for agent payments?
- Stripe-hosted prepaid balances (the default), plus x402 payment-required headers and MPP machine-payment-protocol discovery. Agents that already speak x402 can pay per-call without account setup. See /.well-known/api-catalog for the full discovery chain.
- Is this an MCP server I can plug into Claude / ChatGPT?
- Yes. The MCP server at api.acesense.io/mcp uses Streamable HTTP transport and exposes tools, analyze_tennis_video, get_job_status, get_analysis_result, get_pricing, list_my_jobs, plus markdown resources (pricing, accuracy, how-it-works, faq). Bearer auth via the same API key as the REST endpoint.
- Where is video data hosted? GDPR-compliant?
- All uploaded video lives in europe-west1 (Belgium), processed by GPU workers in the same region. AceSense Inc. is a GDPR Article 28 sub-processor for any human end-user whose video an agent submits, agents acting on behalf of an EU resident must have their own lawful basis. DPA available on request.
- What's the rate limit for an API key?
- Default: 10 requests/min and 200 jobs/day per API key. Plan-tier keys (set via the user's billing settings) can raise these. Submit a support request if you need higher limits for production-scale agent operations.