YourAITools Transcribe API

The Transcribe API from YourAITools — 3 operation(s) for transcribe.

GitHub OpenAPI

Operations 4

0 of 4 operations are conformant: apis.io called them with no credentials and the responses matched this contract; 1 more answered but could not be checked against a schema. Checked 2026-11-12. how this works · status file

POST /transcribe/v1/transcribe Transcribe audio ($0.003 per minute) #
GET /transcribe/v1/transcribe Transcribe audio from a URL ($0.003 per minute) #
GET /transcribe/v1/capacity Free: audio minutes left today (UTC) observed #
GET /transcribe/sample.mp3 Free: 11 s sample MP3 for testing #

Work with this as data

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 Specification

youraitools-co-transcribe-api-openapi.yml Raw ↑
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