apick-api 4.2.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +1 -1
- package/docs/guide.en.md +3 -1
- package/docs/guide.ko.md +3 -1
- package/package.json +1 -1
- package/src/index.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
# 4.2.1
|
|
2
|
+
|
|
3
|
+
- `youtubeSubtitle()` fails with guidance to use an original-language track when an auto-translated caption (`translated: true`) is refused; such calls are not charged. Examples now pick a manual or original-language track. YouTube requests interrupted by a server restart are retried automatically.
|
|
4
|
+
- 자동 번역 자막(`translated: true`)을 받지 못하면 원어 자막을 쓰라는 안내와 함께 실패로 응답합니다(과금 없음). 예제는 수동·원어 자막을 고르도록 바꿨습니다. 서버 재시작으로 끊긴 유튜브 요청은 서버가 자동으로 다시 시도합니다.
|
|
5
|
+
|
|
1
6
|
# 4.2.0
|
|
2
7
|
|
|
3
8
|
- Add `amazonProduct`, `xProfile` and `xPost`, and collection jobs `createInstagramPostsJob`, `createInstagramCommentsJob`, `createTiktokSearchJob`, `createTiktokVideoJob`, `createTiktokCommentsJob`, `createAmazonReviewsJob` with `getScrapeJob` and `waitForScrapeJob`, all with typed results.
|
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ Leave the allowed-IP list blank for unrestricted access. To restrict access, reg
|
|
|
78
78
|
| `youtubeMetadata(url)` | 유튜브 영상 정보 / YouTube video metadata | JSON |
|
|
79
79
|
| `youtubeThumbnail(url)` | 유튜브 썸네일 / YouTube thumbnail | JPG |
|
|
80
80
|
| `youtubeSubtitleList(url)` | 유튜브 자막 언어 목록 / YouTube subtitle languages | JSON |
|
|
81
|
-
| `youtubeSubtitle(url, lang, options)` | 유튜브 자막 다운로드 / YouTube subtitles | VTT·SRT·TXT |
|
|
81
|
+
| `youtubeSubtitle(url, lang, options)` | 유튜브 자막 다운로드(원어 자막 권장) / YouTube subtitles (prefer original-language tracks) | VTT·SRT·TXT |
|
|
82
82
|
| `youtubeSearch(query, options)` | 유튜브 검색(정렬·필터) / YouTube search with sort and filters | JSON |
|
|
83
83
|
| `youtubeChannel(channel, options)` | 유튜브 채널 정보·탭 목록 / YouTube channel and tab items | JSON |
|
|
84
84
|
| `youtubePlaylist(url, options)` | 유튜브 재생목록 / YouTube playlist | JSON |
|
package/docs/guide.en.md
CHANGED
|
@@ -128,7 +128,9 @@ await screenshot.save('./example.jpeg');
|
|
|
128
128
|
// Public YouTube videos: a video URL or the 11-character video ID
|
|
129
129
|
const video = await client.youtubeMetadata('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
|
|
130
130
|
const tracks = await client.youtubeSubtitleList(video.data.video_id);
|
|
131
|
-
|
|
131
|
+
// Auto-translated captions (translated=true) may be refused by YouTube, so pick a manual or original-language track.
|
|
132
|
+
const track = tracks.data.subtitles[0] || tracks.data.automatic_captions.find(item => !item.translated);
|
|
133
|
+
const subtitle = await client.youtubeSubtitle(video.data.video_id, track.lang, { format: 'srt' });
|
|
132
134
|
await subtitle.save('./' + subtitle.filename);
|
|
133
135
|
await (await client.youtubeThumbnail(video.data.video_id)).save('./thumbnail.jpg');
|
|
134
136
|
|
package/docs/guide.ko.md
CHANGED
|
@@ -128,7 +128,9 @@ await screenshot.save('./example.jpeg');
|
|
|
128
128
|
// 유튜브 공개 영상: 영상 주소 또는 11자리 영상 ID
|
|
129
129
|
const video = await client.youtubeMetadata('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
|
|
130
130
|
const tracks = await client.youtubeSubtitleList(video.data.video_id);
|
|
131
|
-
|
|
131
|
+
// 자동 번역 자막(translated=true)은 유튜브 제한으로 받지 못할 수 있어 수동 자막이나 원어 자동 자막을 고른다.
|
|
132
|
+
const track = tracks.data.subtitles[0] || tracks.data.automatic_captions.find(item => !item.translated);
|
|
133
|
+
const subtitle = await client.youtubeSubtitle(video.data.video_id, track.lang, { format: 'srt' });
|
|
132
134
|
await subtitle.save('./' + subtitle.filename);
|
|
133
135
|
await (await client.youtubeThumbnail(video.data.video_id)).save('./thumbnail.jpg');
|
|
134
136
|
|
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -455,6 +455,7 @@ export interface YoutubeMetadata {
|
|
|
455
455
|
age_limit: number | null; chapters: YoutubeChapter[]; thumbnail: string | null; thumbnails: YoutubeThumbnail[];
|
|
456
456
|
subtitle_languages: string[]; automatic_caption_count: number;
|
|
457
457
|
}
|
|
458
|
+
/** translated=true 인 자동 번역 자막은 유튜브 제한으로 받지 못할 수 있다. 수동 자막이나 원어 자동 자막을 권장한다. */
|
|
458
459
|
export interface YoutubeSubtitleTrack { lang: string; name: string | null; auto: boolean; formats: string[]; translated?: boolean; }
|
|
459
460
|
export interface YoutubeSubtitleList {
|
|
460
461
|
video_id: string; title: string | null; original_language: string | null;
|