API 문서

VoiceText AI는 REST API를 통해 음성 파일을 텍스트로 변환합니다.

기본 URL: https://vt.kiam.kr

인증

모든 API 요청에 X-API-Key 헤더가 필요합니다. API 키는 대시보드에서 발급받으세요.

X-API-Key: vt_your_api_key_here

POST /api/v1/transcribe.php

오디오 파일을 텍스트로 변환합니다.

POST/api/v1/transcribe.php

요청 파라미터 (multipart/form-data)

파라미터타입필수설명
fileFile필수오디오 파일 (WAV, MP3, M4A, OGG, WEBM, FLAC)
languagestring선택언어 코드 (기본값: ko)
enginestring선택엔진 (whisper | gpt4o, 기본값: whisper)

성공 응답 (200)

{
  "success": true,
  "text": "안녕하세요, 반갑습니다.",
  "language": "ko",
  "duration": 3.2,
  "engine": "whisper",
  "remaining": 28
}

오류 응답

{
  "success": false,
  "error": "월 사용 한도(30회)를 초과했습니다."
}

오류 코드

HTTP 코드의미
401API 키가 없거나 유효하지 않음
400잘못된 요청 (파일 없음, 형식 오류 등)
413파일 크기 초과
429월 사용 한도 초과
500서버 내부 오류

curl 예제

curl -X POST https://vt.kiam.kr/api/v1/transcribe.php \
  -H "X-API-Key: vt_your_key" \
  -F "file=@audio.wav" \
  -F "language=ko"

PHP 예제

<?php
$apiKey = 'vt_your_key';
$filePath = '/path/to/audio.wav';

$ch = curl_init('https://vt.kiam.kr/api/v1/transcribe.php');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => ['file' => new CURLFile($filePath), 'language' => 'ko'],
    CURLOPT_HTTPHEADER     => ['X-API-Key: ' . $apiKey],
    CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

if ($response['success']) {
    echo $response['text'];
}

Python 예제

import requests

api_key = 'vt_your_key'
with open('audio.wav', 'rb') as f:
    response = requests.post(
        'https://vt.kiam.kr/api/v1/transcribe.php',
        headers={'X-API-Key': api_key},
        files={'file': f},
        data={'language': 'ko'}
    )
data = response.json()
if data['success']:
    print(data['text'])

JavaScript (Node.js) 예제

import FormData from 'form-data';
import fetch from 'node-fetch';
import fs from 'fs';

const fd = new FormData();
fd.append('file', fs.createReadStream('audio.wav'));
fd.append('language', 'ko');

const res = await fetch('https://vt.kiam.kr/api/v1/transcribe.php', {
    method: 'POST',
    headers: { 'X-API-Key': 'vt_your_key', ...fd.getHeaders() },
    body: fd
});
const data = await res.json();
console.log(data.text);