Felo APIs
YouTube Subtitling API
زیرنویسهای YouTube را با پارامترهای اختیاری زبان و مهر زمانی دریافت کنید.
/v2/youtube/subtitlingاحراز هویت
Bearer API key
نوع محتوا
لازم نیست
یادداشت نرخ
ممکن است محدودیتهای مخصوص endpoint اعمال شود.
YouTube Subtitling API داده ساختیافته زیرنویس را برای یک ویدیوی YouTube واکشی میکند. این API برای عاملها، ابزارهای تحلیل محتوا، محصولات آموزشی، نمایههای جستجو و گردشکارهایی طراحی شده که به محتوای ویدیو بهصورت متن نیاز دارند.
Endpoint
GET https://openapi.felo.ai/v2/youtube/subtitlingاحراز هویت
کلید API خود را در سرآیند Authorization بفرستید:
Authorization: Bearer YOUR_API_KEYبرای جزئیات ساخت و مدیریت کلیدهای API راهنمای احراز هویت را ببینید.
استفاده با عاملهای هوش مصنوعی
بسته کامل felo-ai را نصب کنید تا زیرنویس YouTube و هر Felo Skill در دسترس دیگر به یک عامل داده شود. نصبکننده بهصورت پویا هر پوشه بسته شامل SKILL.md را کشف میکند، پس به فهرست ثابتی از Skill وابسته نیست. همه Skillهای کشفشده را در ~/.codex/skills مربوط به Codex، ~/.claude/skills مربوط به Claude Code، ~/.agents/skills مربوط به OpenClaw یا ~/.hermes/skills مربوط به Hermes Agent نصب کنید. برای پیکربندی کلید API و بررسی مخصوص هر پلتفرم راهنمای راهاندازی دستی عامل هوش مصنوعی را به کار ببرید.
درخواست
پارامترهای پرسوجو
| پارامتر | نوع | الزامی | پیشفرض | توضیح |
|---|---|---|---|---|
video_code | string | بله | - | شناسه ویدیوی YouTube، مانند dQw4w9WgXcQ. |
language | string | خیر | - | کد زبان زیرنویس، مانند en یا zh-CN. اگر حذف شود، سرویس پاییندست زبان در دسترس را انتخاب میکند. |
with_time | boolean | خیر | false | گنجاندن فیلدهای برچسب زمانی (start و duration) برای هر مورد زیرنویس. |
سرویس در داخل از حالت کامل عنوانو-رونوشت استفاده میکند. نیازی نیست پارامتر نوع تابع یا حالت بفرستید.
پاسخ
پاسخ موفق
{
"status": "ok",
"message": null,
"data": {
"title": "Example Video Title",
"contents": [
{
"start": 0.32,
"duration": 14.26,
"text": "Subtitle text"
}
]
}
}فیلدهای پاسخ
| فیلد | نوع | توضیح |
|---|---|---|
status | string | وضعیت پاسخ. معمولاً ok برای درخواست موفق. |
message | string یا null | پیام اضافی. معمولاً null برای درخواستهای موفق. |
data.title | string | عنوان ویدیوی YouTube. |
data.contents | array | فهرست موارد زیرنویس. |
data.contents[].start | number | زمان شروع زیرنویس به ثانیه. وقتی داده برچسب زمانی موجود باشد، بهویژه با with_time=true، برگردانده میشود. |
data.contents[].duration | number | مدت زیرنویس به ثانیه. وقتی داده برچسب زمانی موجود باشد، بهویژه با with_time=true، برگردانده میشود. |
data.contents[].text | string | محتوای متنی زیرنویس. |
پاسخهای خطا
| وضعیت HTTP | کد خطا | توضیح | اقدام پیشنهادی |
|---|---|---|---|
| 400 | YOUTUBE_SUBTITLING_FAILED | اعتبارسنجی درخواست شکست خورد، ویدیو وجود ندارد، زیرنویس در دسترس نیست، یا سرویس پاییندست خطای سمت کلاینت برگرداند. | video_code، در دسترس بودن زیرنویس و language را بررسی کنید. |
| 401 | UNAUTHORIZED | کلید API گمشده، نامعتبر یا لغوشده است. | کلید API و سرآیند احراز هویت خود را بررسی کنید. |
| 500 | YOUTUBE_SUBTITLING_FAILED | خطای داخلی سرویس. | درخواست را دوباره تلاش کنید. اگر مشکل ادامه یافت با پشتیبانی تماس بگیرید. |
| 502 | YOUTUBE_SUBTITLING_FAILED | سرویس زیرنویس YouTube پاییندست شکست خورد یا در دسترس نبود. | بعداً دوباره تلاش کنید. |
نمونهها
درخواست پایه
curl -X GET "https://openapi.felo.ai/v2/youtube/subtitling?video_code=dQw4w9WgXcQ" \
-H "Authorization: Bearer YOUR_API_KEY"درخواست یک زبان مشخص
curl -X GET "https://openapi.felo.ai/v2/youtube/subtitling?video_code=dQw4w9WgXcQ&language=en" \
-H "Authorization: Bearer YOUR_API_KEY"گنجاندن برچسبهای زمانی
curl -X GET "https://openapi.felo.ai/v2/youtube/subtitling?video_code=dQw4w9WgXcQ&with_time=true" \
-H "Authorization: Bearer YOUR_API_KEY"گنجاندن برچسبهای زمانی برای یک زبان مشخص
curl -X GET "https://openapi.felo.ai/v2/youtube/subtitling?video_code=dQw4w9WgXcQ&language=zh-CN&with_time=true" \
-H "Authorization: Bearer YOUR_API_KEY"کاربردها
- فهمیدن یک ویدیوی YouTube توسط عامل پیش از پاسخ به پرسشها.
- ساخت نمایه متنی قابل جستجو برای محتوای ویدیو.
- آمادهسازی متن منبع برای گردشکارهای خلاصهسازی یا ترجمه.
- نگاشت یادداشتها یا نقلقولهای تولیدشده به برچسبهای زمانی.
- تحلیل ویدیوهای آموزشی یا پژوهشی بدون دانلود فایل ویدیو.
یادداشتها
- این API ویدیو یا صدا را دانلود نمیکند.
- زیرنویسهای موجود را برمیگرداند. برای ویدیوهایی که داده زیرنویس ندارند زیرنویس تولید نمیکند.
- برخی ویدیوها ممکن است زیرنویس نداشته باشند یا زبان درخواستی را ارائه نکنند.
- اگر
languageحذف شود، انتخاب زبان زیرنویس به در دسترس بودن پاییندست بستگی دارد.