Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/youraitools-co:youraitools-co-transcribe-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: YourAITools Transcribe API
version: 1.0.0
description: Pay-per-call tools for AI agents, paid per request in USDC via x402 on Base, Polygon, Arbitrum One or Solana, with each tool's own spec at https://api.youraitools.co//openapi.json.
contact:
email: hello@youraitools.co
url: https://youraitools.co/built-by-us
servers:
- url: https://api.youraitools.co
tags:
- name: Transcribe
paths:
/transcribe/v1/transcribe:
post:
operationId: transcribe_audio
summary: Transcribe audio ($0.003 per minute)
description: 'Speech-to-text API (audio transcription) for AI agents. Send MP3, WAV, M4A or OGG/Opus (body, audio_url or base64, up to 30 min); get transcript, language, timestamped segments, optional SRT/VTT; task=translate gives English. $0.003 per audio minute, rounded up; the 402 quotes your file''s exact total. Search intents: speech to text api, transcribe audio file, mp3 to text, wav to text, pay per minute transcription api, srt vtt subtitles, podcast transcription.'
tags:
- Transcribe
x-payment-info:
price:
mode: dynamic
currency: USD
amount: '0.003'
unit: audio minute (rounded up, min 1)
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '3000'
amountUnit: per billed audio minute
assetSymbol: USDC
x402Versions:
- 2
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
parameters:
- name: audio_url
in: query
required: false
schema:
type: string
description: Public https URL of an MP3, WAV, M4A or OGG/Opus file (up to 30 minutes / 30 MB). Or POST the file as the raw body (e.g. Content-Type audio/mpeg, audio/wav, audio/mp4 or audio/ogg), or JSON audio_base64.
- name: language
in: query
required: false
schema:
type: string
description: Optional ISO 639-1 code of the spoken language (e.g. en, es, de); detected when omitted
- name: task
in: query
required: false
schema:
type: string
enum:
- transcribe
- translate
description: transcribe (default) or translate (to English)
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- srt
- vtt
description: json (default); srt or vtt also returns subtitles in the srt / vtt field
- name: vad
in: query
required: false
schema:
type: boolean
description: Skip silence with voice activity detection (default false)
- name: prompt
in: query
required: false
schema:
type: string
description: Optional context words or spellings (max 500 chars)
requestBody:
required: true
content:
audio/mpeg:
schema:
type: string
format: binary
audio/wav:
schema:
type: string
format: binary
audio/mp4:
schema:
type: string
format: binary
audio/ogg:
schema:
type: string
format: binary
application/json:
schema:
type: object
properties:
audio_url:
type: string
description: Public https URL of an MP3, WAV, M4A or OGG/Opus file (up to 30 minutes / 30 MB). Or POST the file as the raw body (e.g. Content-Type audio/mpeg, audio/wav, audio/mp4 or audio/ogg), or JSON audio_base64.
language:
type: string
description: Optional ISO 639-1 code of the spoken language (e.g. en, es, de); detected when omitted
task:
type: string
enum:
- transcribe
- translate
description: transcribe (default) or translate (to English)
format:
type: string
enum:
- json
- srt
- vtt
description: json (default); srt or vtt also returns subtitles in the srt / vtt field
vad:
type: boolean
description: Skip silence with voice activity detection (default false)
prompt:
type: string
description: Optional context words or spellings (max 500 chars)
audio_base64:
type: string
description: Base64 MP3, WAV, M4A or OGG bytes (alternative to audio_url)
responses:
'200':
description: Transcript (payment settled)
content:
application/json:
example:
schema: transcribe/1
text: Agents can pay per minute for transcription using x402. This is a short test of the speech-to-text route.
language: en
language_probability: 0.999
duration_seconds: 10.79
billed_minutes: 1
price_per_minute_usd: '0.003'
total_usd: '0.003'
task: transcribe
source:
type: url
format: mp3
bytes: 43520
pieces: 1
segments:
- start: 0
end: 3.4
text: Agents can pay per minute for transcription using x402.
- start: 3.6
end: 7.9
text: This is a short test of the speech-to-text route.
srt: null
vtt: null
processing_ms: 1400
schema:
type: object
properties:
text:
type: string
language:
type:
- string
- 'null'
duration_seconds:
type: number
billed_minutes:
type: integer
total_usd:
type: string
segments:
type: array
items:
type: object
properties:
start:
type: number
end:
type: number
text:
type: string
srt:
type:
- string
- 'null'
vtt:
type:
- string
- 'null'
'400':
description: Invalid input, or a paid request with no audio (never charged)
'402':
description: 'Payment Required: PAYMENT-REQUIRED header quotes billed minutes x price; X-Audio-Duration-Seconds and X-Billed-Minutes headers. With no audio in the request: minimum quote (1 minute, X-Quote: minimum); send audio for the exact per-file quote'
'413':
description: Audio too large or longer than 30 minutes (never charged)
'415':
description: Unsupported audio format (e.g. WebM, FLAC); send MP3, WAV, M4A or OGG (never charged)
'422':
description: audio_url could not be fetched (never charged)
'502':
description: Speech model failed on a piece after a retry (never charged)
'503':
description: Daily capacity full or model unavailable (never charged)
get:
operationId: transcribe_audio_url
summary: Transcribe audio from a URL ($0.003 per minute)
description: 'Speech-to-text API (audio transcription) for AI agents. Send MP3, WAV, M4A or OGG/Opus (body, audio_url or base64, up to 30 min); get transcript, language, timestamped segments, optional SRT/VTT; task=translate gives English. $0.003 per audio minute, rounded up; the 402 quotes your file''s exact total. Search intents: speech to text api, transcribe audio file, mp3 to text, wav to text, pay per minute transcription api, srt vtt subtitles, podcast transcription.'
tags:
- Transcribe
x-payment-info:
price:
mode: dynamic
currency: USD
amount: '0.003'
unit: audio minute (rounded up, min 1)
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '3000'
amountUnit: per billed audio minute
assetSymbol: USDC
x402Versions:
- 2
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
name: Solana
asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
symbol: USDC
payTo: FH73WbbUe2UyNzfy72MJs5nT3NxyDf9GrqE7kzjL2Jte
parameters:
- name: audio_url
in: query
required: true
schema:
type: string
description: Public https URL of an MP3, WAV, M4A or OGG/Opus file (up to 30 minutes / 30 MB). Or POST the file as the raw body (e.g. Content-Type audio/mpeg, audio/wav, audio/mp4 or audio/ogg), or JSON audio_base64.
- name: language
in: query
required: false
schema:
type: string
description: Optional ISO 639-1 code of the spoken language (e.g. en, es, de); detected when omitted
- name: task
in: query
required: false
schema:
type: string
enum:
- transcribe
- translate
description: transcribe (default) or translate (to English)
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- srt
- vtt
description: json (default); srt or vtt also returns subtitles in the srt / vtt field
- name: vad
in: query
required: false
schema:
type: boolean
description: Skip silence with voice activity detection (default false)
- name: prompt
in: query
required: false
schema:
type: string
description: Optional context words or spellings (max 500 chars)
responses:
'200':
description: Transcript (payment settled)
content:
application/json:
example:
schema: transcribe/1
text: Agents can pay per minute for transcription using x402. This is a short test of the speech-to-text route.
language: en
language_probability: 0.999
duration_seconds: 10.79
billed_minutes: 1
price_per_minute_usd: '0.003'
total_usd: '0.003'
task: transcribe
source:
type: url
format: mp3
bytes: 43520
pieces: 1
segments:
- start: 0
end: 3.4
text: Agents can pay per minute for transcription using x402.
- start: 3.6
end: 7.9
text: This is a short test of the speech-to-text route.
srt: null
vtt: null
processing_ms: 1400
schema:
type: object
properties:
text:
type: string
language:
type:
- string
- 'null'
duration_seconds:
type: number
billed_minutes:
type: integer
total_usd:
type: string
segments:
type: array
items:
type: object
properties:
start:
type: number
end:
type: number
text:
type: string
srt:
type:
- string
- 'null'
vtt:
type:
- string
- 'null'
'400':
description: Invalid input, or a paid request with no audio (never charged)
'402':
description: 'Payment Required: PAYMENT-REQUIRED header quotes billed minutes x price; X-Audio-Duration-Seconds and X-Billed-Minutes headers. With no audio in the request: minimum quote (1 minute, X-Quote: minimum); send audio for the exact per-file quote'
'413':
description: Audio too large or longer than 30 minutes (never charged)
'415':
description: Unsupported audio format (e.g. WebM, FLAC); send MP3, WAV, M4A or OGG (never charged)
'422':
description: audio_url could not be fetched (never charged)
'502':
description: Speech model failed on a piece after a retry (never charged)
'503':
description: Daily capacity full or model unavailable (never charged)
/transcribe/v1/capacity:
get:
operationId: transcribe_capacity
summary: 'Free: audio minutes left today (UTC)'
tags:
- Transcribe
security: []
responses:
'200':
description: Capacity
/transcribe/sample.mp3:
get:
operationId: transcribe_sample
summary: 'Free: 11 s sample MP3 for testing'
tags:
- Transcribe
security: []
responses:
'200':
description: audio/mpeg
components:
securitySchemes:
creditsKey:
type: http
scheme: bearer
description: yatc_... credits key