تبدیل متن به گفتار با API (audio/speech)

خواندن متن فارسی و انگلیسی با POST /v1/audio/speech و SDK رسمی OpenAI: انتخاب صدا، قالب mp3 و wav، سرعت، انتخاب خودکار مدل فارسی و قیمت به‌ازای هر نویسه.

به‌روزرسانی: ۱۲ مهر ۱۴۰۵

مسیر POST /v1/audio/speech همان شکل OpenAI را دارد و خود فایل صوتی را برمی‌گرداند، پس client.audio.speech.create بدون تغییر کار می‌کند.

Python

from openai import OpenAI

client = OpenAI(base_url="https://api.uttapen.ir/v1", api_key="sk-up-...")

audio = client.audio.speech.create(
    model="uttapen/auto-speech",      # برای متن فارسی، مدلی انتخاب می‌شود که فارسی را درست می‌خواند
    voice="",                         # خالی: صدای پیش‌فرض مدلی که انتخاب می‌شود
    input="سلام! به یوتاپن خوش آمدید.",
)
audio.write_to_file("hello.mp3")

Node

import OpenAI from "openai";
import { writeFile } from "node:fs/promises";

const client = new OpenAI({ baseURL: "https://api.uttapen.ir/v1", apiKey: "sk-up-..." });
const res = await client.audio.speech.create({ model: "uttapen/auto-speech", voice: "", input: "Hello from uttapen." });
await writeFile("hello.mp3", Buffer.from(await res.arrayBuffer()));

فیلدها

فیلدتوضیح
modelشناسهٔ مدل یا uttapen/auto-speech
inputمتن، حداکثر ۵٬۰۰۰ نویسه
voiceیکی از صداهای همان مدل (فهرست در صفحهٔ مدل). خالی یعنی صدای پیش‌فرض؛ با انتخاب خودکار خالی بگذار، چون مدل انتخاب‌شده را از قبل نمی‌دانی
response_formatmp3 (پیش‌فرض)، wav، opus، aac، flac، pcm
speed۰٫۲۵ تا ۴

صدای نامعتبر 400 با param: "voice" و چند نمونهٔ مجاز می‌دهد.

پاسخ

بدنه خود فایل صوتی است. هزینه و لینک فایل در هدرها می‌آیند:

هدرمقدار
X-Uttapen-Cost-Tomanهزینهٔ همین درخواست
X-Uttapen-Balance-Tomanموجودی بعد از شارژ
X-Uttapen-Media-Urlلینک امضاشدهٔ ۲۴ ساعته به همین فایل (نگهداری ۳۰ روز)
X-Uttapen-Media-Idشناسهٔ کار برای GET /v1/uttapen/media/{id}

اگر ساخت از چند دقیقه بیشتر طول بکشد، به‌جای فایل 202 با شیء کار برمی‌گردد؛ نتیجه را بعداً با همان شناسه بگیر.

قیمت

برخلاف تصویر و ویدیو، سازندگان مدل‌های گفتار هزینهٔ هر درخواست را گزارش نمی‌کنند. برای همین شارژ = قیمت منتشرشدهٔ مدل × تعداد نویسه (برای مدل‌هایی که خروجی صوتی را توکنی قیمت می‌دهند، با تخمین ثابت توکن صوتی به‌ازای هر نویسه). قیمت هر ۱٬۰۰۰ نویسه در مدل‌های گفتار آمده و همین عدد پیش از اجرا هم رزرو می‌شود. درخواست ناموفق رایگان است. جزئیات در مرور رسانه.

هنوز کلید API نداری؟

با شماره موبایل ثبت‌نام کن، کیف پول را از ۱۰۰٬۰۰۰ تومان شارژ کن و کلید بساز. مدل‌های رایگان بدون شارژ هم کار می‌کنند — تا ۵۰ درخواست در روز. ساخت کلید API ←