@hasna/skills 0.1.46 → 0.1.48

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.
@@ -1,100 +1,80 @@
1
1
  ---
2
2
  name: transcript
3
- description: Transcribe audio and video files using ElevenLabs Scribe, OpenAI Whisper, or Google Gemini. Supports automatic chunking for large files, speaker diarization, timestamps, and multiple output formats (text, SRT, VTT, JSON).
3
+ description: Transcribe audio, video, YouTube, Vimeo, and generic media URLs with iapp-transcriber or the hosted Skills runtime. Supports OpenAI GPT-4o transcription, OpenAI diarization, ElevenLabs Scribe v2, DeepGram, chunking, source metadata, subtitles, and JSON outputs.
4
4
  ---
5
5
 
6
- # Audio Transcription Skill
6
+ # Transcript
7
7
 
8
- This skill provides high-quality speech-to-text transcription using multiple AI providers. It automatically handles large files through compression and chunking.
8
+ Create transcripts from local audio/video files or media URLs. Use this skill when the user asks to transcribe, caption, diarize, summarize, or package spoken audio/video content.
9
9
 
10
- This CLI is API-backed. Set `SKILLS_API_KEY` when routing through the hosted skills/connectors runtime; provider-specific keys are managed by that runtime.
10
+ ## Choose The Runtime
11
11
 
12
- ## Supported Providers
12
+ - Use the hosted Skills runtime when the user explicitly runs `skills run transcript`, needs remote execution, or has only `SKILLS_API_KEY` configured.
13
+ - Use local `iapp-transcriber` when you are on this machine and need direct access to local files, YouTube/Vimeo/generic `yt-dlp` sources, transcript DB records, MCP tools, comments, exports, or OpenLoops follow-up workflows.
14
+ - The local command is `transcriber` when installed, or `bun run src/cli/index.ts` from `/home/hasna/Workspace/hasnaxyz/internalapp/iapp-transcriber`.
13
15
 
14
- ### ElevenLabs Scribe
15
- - **Accuracy**: 96.7% for English (industry-leading)
16
- - **Max file size**: 3GB / 10 hours
17
- - **Features**: Speaker diarization (up to 32 speakers), word-level timestamps
18
- - **Cost**: $0.40/hour
19
- - **Best for**: Multi-speaker recordings, highest accuracy needs
16
+ ## Hosted Usage
20
17
 
21
- ### OpenAI Whisper
22
- - **Accuracy**: Excellent
23
- - **Max file size**: 25MB (automatic chunking for larger files)
24
- - **Features**: Segment timestamps, language detection
25
- - **Cost**: $0.006/min ($0.003/min with GPT-4o Mini)
26
- - **Best for**: Standard transcription, good balance of cost and quality
18
+ ```bash
19
+ skills run transcript --source ./meeting.mp3 --title "Design review" --provider openai
20
+ skills run transcribe --source https://www.youtube.com/watch?v=... --provider openai --diarize
21
+ ```
27
22
 
28
- ### Google Gemini
29
- - **Accuracy**: Very good
30
- - **Max file size**: 2GB
31
- - **Features**: Multimodal analysis, summarization capabilities
32
- - **Cost**: ~$0.09-0.23/hour (generous free tier available)
33
- - **Best for**: Cost-sensitive projects, multimodal needs
23
+ Poll hosted runs with `skills runs status <run-id>` and download outputs with `skills exports download <run-id>`.
34
24
 
35
- ## Usage
25
+ ## Local Usage
36
26
 
37
- ### Basic Transcription
38
27
  ```bash
39
- bun run src/index.ts transcribe \
40
- --provider openai \
41
- --input ./recording.mp3
28
+ transcriber transcribe ./meeting.mp3 --provider openai --json
29
+ transcriber transcribe https://www.youtube.com/watch?v=... --provider openai --model gpt-4o-transcribe --json
30
+ transcriber transcribe ./meeting.mp3 --provider openai --diarize --json
31
+ transcriber export <transcript-id> --format srt --output captions.srt
42
32
  ```
43
33
 
44
- ### With Speaker Diarization
45
- ```bash
46
- bun run src/index.ts transcribe \
47
- --provider elevenlabs \
48
- --input ./meeting.mp3 \
49
- --diarize \
50
- --timestamps \
51
- --format srt
52
- ```
34
+ Local provider defaults:
53
35
 
54
- ### Export to Subtitles
55
- ```bash
56
- bun run src/index.ts transcribe \
57
- --provider gemini \
58
- --input ./video.mp4 \
59
- --format vtt \
60
- --output ./captions.vtt
61
- ```
36
+ - `openai`: default, uses `gpt-4o-transcribe`; `--diarize` uses `gpt-4o-transcribe-diarize`.
37
+ - `elevenlabs`: uses `scribe_v2`, supports diarization and keyterms.
38
+ - `deepgram`: uses Nova-3, supports diarization.
62
39
 
63
- ### View Provider Info
64
- ```bash
65
- bun run src/index.ts providers
66
- ```
40
+ Local requirements:
67
41
 
68
- ## Output Formats
42
+ - A configured provider credential for the selected local provider.
43
+ - `yt-dlp` for remote media URLs. Set `YTDLP_PATH` if needed.
44
+ - `ffmpeg`/`ffprobe`; the local app bundles npm ffmpeg/ffprobe and also respects `FFMPEG_PATH` and `FFPROBE_PATH`.
69
45
 
70
- | Format | Extension | Description |
71
- |--------|-----------|-------------|
72
- | text | .txt | Plain text transcript |
73
- | srt | .srt | SubRip subtitle format |
74
- | vtt | .vtt | WebVTT subtitle format |
75
- | json | .json | Full structured data with metadata |
46
+ ## Workflow
76
47
 
77
- ## Large File Handling
48
+ 1. Inspect source metadata first for URLs:
78
49
 
79
- The skill automatically handles files larger than provider limits:
50
+ ```bash
51
+ transcriber info <url> --json
52
+ ```
80
53
 
81
- - **Compression**: For OpenAI, files are first compressed using Opus codec
82
- - **Chunking**: Files are split into 10-minute segments with overlap
83
- - **Merging**: Results are intelligently merged to avoid duplicates
54
+ 2. Download audio when the user asks to keep media:
84
55
 
85
- ## Configuration
56
+ ```bash
57
+ transcriber download <url> --format mp3 --json
58
+ ```
86
59
 
87
- ```bash
88
- export SKILLS_API_KEY=your_skill_api_key
89
- ```
60
+ 3. Transcribe with JSON for automation:
90
61
 
91
- ## Dependencies
62
+ ```bash
63
+ transcriber transcribe <path-or-url> --provider openai --json
64
+ ```
92
65
 
93
- For chunking support (OpenAI with large files):
94
- - `ffmpeg` - Audio processing
95
- - `ffprobe` - Duration detection
66
+ 4. Export or post-process:
96
67
 
97
- Install on macOS:
98
- ```bash
99
- brew install ffmpeg
100
- ```
68
+ ```bash
69
+ transcriber get <id> --json
70
+ transcriber export <id> --format txt --output transcript.txt
71
+ transcriber summarize <id>
72
+ ```
73
+
74
+ 5. For repeat work, create OpenLoops command loops around JSON-producing commands, for example `transcriber feed check --json --dry-run`.
75
+
76
+ ## Safety
77
+
78
+ - Only fetch URLs the user is authorized to process.
79
+ - The local app rejects private/local URL hosts by default; set `TRANSCRIBER_ALLOW_PRIVATE_URLS=1` only for trusted internal sources.
80
+ - Prefer `--json` for scripts and OpenLoops so failures include a structured transcript record and nonzero exit code.
@@ -2,7 +2,7 @@
2
2
  "name": "transcript",
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
- "description": "Audio/video transcription skill supporting ElevenLabs, OpenAI Whisper, and Google Gemini with automatic chunking for large files",
5
+ "description": "Audio/video transcription skill backed by iapp-transcriber, OpenAI GPT-4o transcription, ElevenLabs Scribe v2, and hosted Skills runtime",
6
6
  "type": "module",
7
7
  "skills": {
8
8
  "runtime": "hosted",
@@ -1,5 +0,0 @@
1
- {
2
- "env": {
3
- "CLAUDE_CODE_TASK_LIST_ID": "service-apidocs-dev"
4
- }
5
- }
@@ -1,5 +0,0 @@
1
- [install]
2
- peer = false
3
-
4
- [run]
5
- bun = true
@@ -1,5 +0,0 @@
1
- [install]
2
- peer = false
3
-
4
- [run]
5
- bun = true