Add Smallest AI (Pulse) to the leaderboard#5
Conversation
|
@harshitajain165 is attempting to deploy a commit to the Gladia Team on Vercel. A member of the Team first needs to authorize it. |
|
Warning Review limit reached
More reviews will be available in 25 minutes and 29 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis PR adds Smallest AI Pulse as a new speech-to-text provider to the comparison leaderboard. Configuration includes an API key environment variable, provider metadata with slug and branding, seed data for database setup, and a complete transcription function that authenticates to the Smallest Waves API and parses word-level timestamps from the response. ChangesSmallest AI Provider Integration
Sequence DiagramsequenceDiagram
participant Caller
participant transcribeWithSmallest
participant SmallestAPI as Smallest API
participant ResponseParser
Caller->>transcribeWithSmallest: audio buffer
transcribeWithSmallest->>transcribeWithSmallest: read SMALLEST_API_KEY from env
transcribeWithSmallest->>SmallestAPI: POST /waves/v1/stt (audio, Bearer auth, word_timestamps=true)
SmallestAPI-->>transcribeWithSmallest: JSON (text, words[])
transcribeWithSmallest->>ResponseParser: parse JSON response
ResponseParser->>ResponseParser: map words to WordTimestamp[]
ResponseParser-->>Caller: TranscribeResult (transcript, timestamps, duration)
Estimated Code Review Effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/lib/providers/smallest.ts`:
- Around line 40-42: The thrown Error in the response.ok branch of the Smallest
AI request handler doesn't include a retry-parsable status token; update the
throw in the response handling (the if (!response.ok) block) to append a
standardized token containing the numeric HTTP status so isTransientError can
parse it (for example: include `[status:${response.status}]` or a similar
"status:<code>" token in the Error message along with the existing body and
status). Ensure the message still contains the original status and response text
but adds the bracketed status token so retry logic can detect 429/5xx responses.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 383920ac-b2c3-428e-9922-e9f0970ab2c7
⛔ Files ignored due to path filters (1)
public/providers/smallest.svgis excluded by!**/*.svg
📒 Files selected for processing (5)
.env.exampleprisma/seed.tssrc/lib/providers.tssrc/lib/providers/smallest.tssrc/lib/transcribe.ts
e82c904 to
91527f4
Compare
Adds Smallest AI's Pulse model as a new STT provider. Uses the pre-recorded batch API (POST /waves/v1/stt?model=pulse) with octet-stream audio upload and word-level timestamp support.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
df17006 to
9bc117d
Compare
Closes #4
What this adds
Provider: Smallest AI — https://smallest.ai
Model: Pulse
Implementation details
src/lib/providers/smallest.ts— transcription viaPOST https://api.smallest.ai/waves/v1/stt?model=pulsewith rawapplication/octet-streamaudio andword_timestamps=truesrc/lib/providers.ts— registered in thePROVIDERSarraysrc/lib/transcribe.ts— wired intoPROVIDER_MAPprisma/seed.ts— added to the seed listpublic/providers/smallest.svg— provider logo.env.example— documentsSMALLEST_API_KEYThe API is synchronous (no polling needed) — audio bytes in, JSON transcript out — consistent with how the other pre-recorded providers work here.
API credits
Happy to provide API credits so you can test and run Pulse on your end — please let us know the best way to share them.