پرش به محتوا

صدا: گفتار و متن

تبدیل فایل صوتی به متن فارسی، زیرنویس SRT، ترجمهٔ صوت به انگلیسی و ساخت فایل گفتار از متن؛ حجم مجاز فایل، قالب‌ها، صداها و قیمت هر دقیقه یا هر نویسه.

بازبینی: ۸ مهر ۱۴۰۵ ۷ دقیقه مطالعه

سه کار صوتی از یک نشانی: گفتار به متن (فایل صوتی را به متن فارسی یا زیرنویس تبدیل کنید)، ترجمهٔ صوت (متن انگلیسی یک صدای غیرانگلیسی) و متن به گفتار (از متن، فایل صوتی بسازید). درخواست‌ها همان شکل API صوتی OpenAI را دارند.

گفتار به متن#

POSThttps://gisoo.pro/api/v1/audio/transcriptions

فایل را به شکل multipart/form-data در فیلد file بفرستید؛ حداکثر ۲۵ مگابایت، با قالب‌های mp3، mp4، m4a، wav، webm یا ogg.

curl https://gisoo.pro/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $GISOO_API_KEY" \
  -F file=@meeting.mp3 \
  -F model=gpt-4o-mini-transcribe \
  -F language=fa
file file الزامی
فایل صوتی، حداکثر ۲۵ مگابایت.
model string الزامی
مدل گفتار به متن؛ از GET /models?type=audio_stt.
language string
زبان صدا با کد دوحرفی؛ fa دقت فارسی را بالا می‌برد و جلوی حدس اشتباه زبان را می‌گیرد.
prompt string
چند واژهٔ خاص (نام آدم‌ها، برند، اصطلاح) تا مدل املای درستشان را بداند.
response_format string
json (پیش‌فرض)، text، srt، vtt یا verbose_json. زیرنویس و زمان‌بندی فقط در whisper-1 است.
timestamp_granularities string[]
با verbose_json: word و/یا segment برای زمان هر واژه یا هر جمله.

کدام مدل#

modelمناسب برایقیمت‌گذاری
gpt-4o-mini-transcribeمتن روان و دقیق فارسیتوکنی (ورودی صوت و خروجی متن)
gpt-4o-transcribeصدای شلوغ و کیفیت پایینتوکنی
whisper-1زیرنویس SRT/VTT، زمان هر واژه، ترجمه به انگلیسیبه‌ازای هر دقیقهٔ صوت

فهرست به‌روز و قیمت‌ها را از GET /models?type=audio_stt بگیرید.

زیرنویس و زمان‌بندی#

# Subtitles with timestamps (whisper-1)
curl https://gisoo.pro/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $GISOO_API_KEY" \
  -F file=@lecture.mp3 -F model=whisper-1 -F language=fa \
  -F response_format=srt > lecture.srt

ترجمهٔ صوت به انگلیسی#

POSThttps://gisoo.pro/api/v1/audio/translations

صدای هر زبانی را می‌گیرد و متن انگلیسی برمی‌گرداند. فقط با whisper-1:

Python audio.translations
with open("interview-fa.mp3", "rb") as audio:
    english = client.audio.translations.create(model="whisper-1", file=audio)
print(english.text)   # English text of a Persian recording

فایل بزرگ‌تر از ۲۵ مگابایت#

صدای گفت‌وگو با کیفیت پایین‌تر هم خوب شنیده می‌شود. فایل را تک‌کاناله و کم‌حجم کنید و اگر هنوز بزرگ بود، تکه‌تکه بفرستید:

Shell ffmpeg
# Mono, 32 kbps MP3 — speech stays clear, the file shrinks a lot
ffmpeg -i input.m4a -ac 1 -b:a 32k -ar 16000 small.mp3

# Cut a long recording into 15-minute pieces
ffmpeg -i long.mp3 -f segment -segment_time 900 -c copy part-%02d.mp3

صدای بلند با Gemini#

مدل‌های Gemini فایل صوتی را در خود گفت‌وگو می‌پذیرند (بخش input_audio در /chat/completions). مزیتش این است که همان‌جا می‌گویید خروجی چه شکلی باشد: با زمان‌بندی، خلاصه، جدا کردن گوینده‌ها. حجم کل درخواست تا ۲۰ مگابایت است؛ فایل را با دستور ffmpeg بالا کوچک کنید و برای ضبط‌های طولانی تکه‌های ۱۵ دقیقه‌ای بفرستید. Gemini صدا را خودش به کیفیت پایین تبدیل می‌کند، پس کوچک کردن فایل چیزی از دقت کم نمی‌کند.

Python input_audio با Gemini
import base64

with open("voice-note.mp3", "rb") as f:
    b64 = base64.b64encode(f.read()).decode()

reply = client.chat.completions.create(
    model="gemini-3.6-flash",
    max_tokens=4000,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe this Persian recording with [mm:ss] timestamps every few sentences."},
            {"type": "input_audio", "input_audio": {"data": b64, "format": "mp3"}},
        ],
    }],
)
print(reply.choices[0].message.content)
کتابخانهٔ Google

SDK اختصاصی گوگل (google-genai) و بارگذاری فایل در Files API گوگل با گیسو کار نمی‌کنند؛ فایل را همان‌طور که بالا آمده، base64 و داخل پیام بفرستید.

متن به گفتار#

POSThttps://gisoo.pro/api/v1/audio/speech

پاسخ خودِ فایل صوتی است (به‌طور پیش‌فرض mp3)، نه JSON. قیمت به‌ازای تعداد نویسه‌های متن است و هر درخواست حداکثر ۴٬۰۹۶ نویسه می‌پذیرد؛ متن بلندتر را به چند تکه بشکنید.

curl https://gisoo.pro/api/v1/audio/speech \
  -H "Authorization: Bearer $GISOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "voice": "nova",
    "input": "Your order has shipped and will arrive within two days.",
    "response_format": "mp3"
  }' --output notice.mp3
model string الزامی
gpt-4o-mini-tts (با کنترل لحن)، tts-1 (سریع) یا tts-1-hd (کیفیت بالاتر).
input string الزامی
متن، حداکثر ۴٬۰۹۶ نویسه.
voice string الزامی
صدا: alloy، echo، fable، onyx، nova، shimmer و صداهای تازه‌تری که هر مدل دارد.
instructions string
لحن و حالت گفتار، فقط در gpt-4o-mini-tts.
response_format string
mp3، opus، aac، flac، wav یا pcm.
speed number
سرعت خواندن، از ۰٫۲۵ تا ۴.
متن فارسی

این مدل‌ها متن فارسی را هم می‌خوانند، ولی لهجه و آهنگ گفتارشان انگلیسی‌گونه است. پیش از استفاده در محصول، چند جملهٔ واقعی خودتان را با صداهای مختلف بشنوید.

پاسخ پرسشتان را پیدا نکردید؟

شناسهٔ درخواست (هدر X-Request-Id) را با پرسشتان در تیکت بفرستید تا دقیق بررسی کنیم.

تیکت پشتیبانی