API Documentation

Interactive Testing

Quick Start

Vowise API provides a simple and easy-to-use speech-to-text service. Get started with just an API key.

Authentication

All API requests require your API key in the header:

Authorization: Bearer YOUR_API_KEY

Note: For backward compatibility, the transcription API also supports X-API-Key header

Speech-to-Text Endpoint

POSThttps://api.vowise.com/transcribe

Request Parameters

audioRequired

Audio file (Supported formats: WAV, MP3, M4A, WebM, MP4, MPGA, MPEG, OGG)

promptOptional

Custom prompt to optimize transcription results. If not provided, your default prompt from settings will be used automatically

dictOptional

Custom dictionary in JSON array format. If not provided, your dictionary from settings will be loaded automatically. Format: [{"misspelling": "wrong", "correct_spelling": "right"}]

Request Example

Using cURL:

curl -X POST https://api.vowise.com/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "audio=@/path/to/audio.wav" \
  -F "prompt=Interview about AI technology" \
  -F 'dict=[{"misspelling":"AI","correct_spelling":"Artificial Intelligence"}]'

Using Python:

import requests
import json

url = "https://api.vowise.com/transcribe"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

with open("audio.wav", "rb") as audio_file:
    files = {"audio": audio_file}
    data = {
        "prompt": "Interview about AI technology",
        "dict": json.dumps([
            {"misspelling": "AI", "correct_spelling": "Artificial Intelligence"}
        ])
    }
    
    response = requests.post(url, headers=headers, files=files, data=data)
    print(response.json())

Using JavaScript:

const formData = new FormData();
formData.append('audio', audioFile);
formData.append('prompt', 'Interview about AI technology');
formData.append('dict', JSON.stringify([
  {misspelling: 'AI', correct_spelling: 'Artificial Intelligence'}
]));

const response = await fetch('https://api.vowise.com/transcribe', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

const result = await response.json();
console.log(result);

Response Format

Success Response (200 OK):

{
  "success": true,
  "transcription": "Your transcribed text will appear here...",
  "duration": 45.5,
  "credits_used": 1,
  "remaining_credits": 99
}

Error Response:

{
  "success": false,
  "error": "Invalid API key",
  "code": "INVALID_API_KEY"
}

Dictionary Management Endpoints

Use the Dictionary API to manage your custom terms and improve transcription accuracy for domain-specific vocabulary.

Get User Dictionary

GEThttps://api.vowise.com/api/v1/dictionary

Headers

Authorization: Bearer YOUR_API_KEY

Response Example

{
  "success": true,
  "dictionary": [
    {
      "misspelling": "Claude Code",
      "correct_spelling": "Claude Code",
      "is_replacement": true
    },
    {
      "misspelling": "Vowise",
      "correct_spelling": "Vowise",
      "is_replacement": false
    }
  ],
  "count": 2,
  "dict_string": "Claude Code → Claude Code; Vowise → Vowise",
  "prompt_preview": "请注意以下词汇的正确识别:'Claude Code' 应为 'Claude Code'...",
  "user_id": "user-uuid-here"
}

Add or Update Dictionary Entry

POSThttps://api.vowise.com/api/v1/dictionary/add

Request Body

misspellingRequired

The word to be replaced or hinted

correct_spellingRequired

The correct spelling or replacement

is_replacementOptional

Whether it's a replacement (true) or hint (false), default is true

Request Example

curl -X POST https://api.vowise.com/api/v1/dictionary/add \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "misspelling": "AI",
    "correct_spelling": "Artificial Intelligence",
    "is_replacement": true
  }'

Python Example

import requests

url = "https://api.vowise.com/api/v1/dictionary/add"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "misspelling": "AI",
    "correct_spelling": "Artificial Intelligence",
    "is_replacement": True
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Delete Dictionary Entry

DELETEhttps://api.vowise.com/api/v1/dictionary/delete

Query Parameters

misspellingRequired

The dictionary entry to delete

Request Example

curl -X DELETE "https://api.vowise.com/api/v1/dictionary/delete?misspelling=AI" \
  -H "Authorization: Bearer YOUR_API_KEY"

Dictionary Usage Guide

Replacement Dictionary:

Words in transcription results will be directly replaced. Suitable for abbreviations and proper nouns.

例如: "AI" → "Artificial Intelligence"
Hint Dictionary:

Provides context hints to the speech recognition model to improve accuracy.

例如: "Claude Code" 作为专有名词提示
Best Practices:
  • Add dictionary entries for frequently used technical terms
  • Use replacement dictionary to standardize abbreviation expansions
  • Use hint dictionary to preserve original pronunciation while improving accuracy
  • Regularly update dictionary to include new terms

Error Codes

CodeDescription
INVALID_API_KEYInvalid or missing API key
INSUFFICIENT_CREDITSInsufficient credits
INVALID_AUDIO_FORMATUnsupported audio format
FILE_TOO_LARGEFile too large (max 25MB)
RATE_LIMIT_EXCEEDEDRate limit exceeded

Usage Limits

  • Maximum file size: 25MB
  • Maximum audio duration: 30 minutes
  • Rate limit: 60 requests per minute
  • Supported languages: English, Chinese, Spanish, French, German, Italian, Portuguese, Dutch, and more

iOS Shortcuts Integration

You can use Vowise API directly through iOS Shortcuts. Download our pre-configured shortcut and add your API key to get started.

Shortcut Setup Steps:

  1. Get your API key from the dashboard
  2. Download the Vowise Shortcut
  3. Add your API key to the shortcut
  4. Run the shortcut to record and transcribe

Need Help?

If you have any questions or need assistance, please contact our support team:

[email protected]