Felo API PlatformFelo API Platform

Felo APIs

YouTube Subtitling API

زیرنویس‌های YouTube را با پارامترهای اختیاری زبان و مهر زمانی دریافت کنید.

GET/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_codestringبله-شناسه ویدیوی YouTube، مانند dQw4w9WgXcQ.
languagestringخیر-کد زبان زیرنویس، مانند en یا zh-CN. اگر حذف شود، سرویس پایین‌دست زبان در دسترس را انتخاب می‌کند.
with_timebooleanخیرfalseگنجاندن فیلدهای برچسب زمانی (start و duration) برای هر مورد زیرنویس.

سرویس در داخل از حالت کامل عنوان‌و-رونوشت استفاده می‌کند. نیازی نیست پارامتر نوع تابع یا حالت بفرستید.

پاسخ

پاسخ موفق

{
  "status": "ok",
  "message": null,
  "data": {
    "title": "Example Video Title",
    "contents": [
      {
        "start": 0.32,
        "duration": 14.26,
        "text": "Subtitle text"
      }
    ]
  }
}

فیلدهای پاسخ

فیلدنوعتوضیح
statusstringوضعیت پاسخ. معمولاً ok برای درخواست موفق.
messagestring یا nullپیام اضافی. معمولاً null برای درخواست‌های موفق.
data.titlestringعنوان ویدیوی YouTube.
data.contentsarrayفهرست موارد زیرنویس.
data.contents[].startnumberزمان شروع زیرنویس به ثانیه. وقتی داده برچسب زمانی موجود باشد، به‌ویژه با with_time=true، برگردانده می‌شود.
data.contents[].durationnumberمدت زیرنویس به ثانیه. وقتی داده برچسب زمانی موجود باشد، به‌ویژه با with_time=true، برگردانده می‌شود.
data.contents[].textstringمحتوای متنی زیرنویس.

پاسخ‌های خطا

وضعیت HTTPکد خطاتوضیحاقدام پیشنهادی
400YOUTUBE_SUBTITLING_FAILEDاعتبارسنجی درخواست شکست خورد، ویدیو وجود ندارد، زیرنویس در دسترس نیست، یا سرویس پایین‌دست خطای سمت کلاینت برگرداند.video_code، در دسترس بودن زیرنویس و language را بررسی کنید.
401UNAUTHORIZEDکلید API گم‌شده، نامعتبر یا لغوشده است.کلید API و سرآیند احراز هویت خود را بررسی کنید.
500YOUTUBE_SUBTITLING_FAILEDخطای داخلی سرویس.درخواست را دوباره تلاش کنید. اگر مشکل ادامه یافت با پشتیبانی تماس بگیرید.
502YOUTUBE_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 حذف شود، انتخاب زبان زیرنویس به در دسترس بودن پایین‌دست بستگی دارد.