Skip to content

Add Smallest AI (Pulse) to the leaderboard#5

Open
harshitajain165 wants to merge 5 commits into
gladiaio:mainfrom
harshitajain165:add-smallest-ai-pulse
Open

Add Smallest AI (Pulse) to the leaderboard#5
harshitajain165 wants to merge 5 commits into
gladiaio:mainfrom
harshitajain165:add-smallest-ai-pulse

Conversation

@harshitajain165

@harshitajain165 harshitajain165 commented Jun 3, 2026

Copy link
Copy Markdown

Closes #4

What this adds

Provider: Smallest AI — https://smallest.ai
Model: Pulse

Implementation details

  • src/lib/providers/smallest.ts — transcription via POST https://api.smallest.ai/waves/v1/stt?model=pulse with raw application/octet-stream audio and word_timestamps=true
  • src/lib/providers.ts — registered in the PROVIDERS array
  • src/lib/transcribe.ts — wired into PROVIDER_MAP
  • prisma/seed.ts — added to the seed list
  • public/providers/smallest.svg — provider logo
  • .env.example — documents SMALLEST_API_KEY

The 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.

@vercel

vercel Bot commented Jun 3, 2026

Copy link
Copy Markdown

@harshitajain165 is attempting to deploy a commit to the Gladia Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@harshitajain165, we couldn't start this review because you've reached your PR review rate limit.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 11193af1-5896-4cff-beed-b5f748ec6dd6

📥 Commits

Reviewing files that changed from the base of the PR and between e30493f and 9bc117d.

⛔ Files ignored due to path filters (1)
  • public/providers/smallest.svg is excluded by !**/*.svg
📒 Files selected for processing (5)
  • .env.example
  • prisma/seed.ts
  • src/lib/providers.ts
  • src/lib/providers/smallest.ts
  • src/lib/transcribe.ts
📝 Walkthrough

Walkthrough

This 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.

Changes

Smallest AI Provider Integration

Layer / File(s) Summary
Provider configuration and metadata
.env.example, src/lib/providers.ts, prisma/seed.ts
Environment variable SMALLEST_API_KEY is added for API authentication. Provider entry with slug smallest, logo URL, color, and model is registered in PROVIDERS. Seed script includes Smallest AI for database population.
Provider implementation and dispatch integration
src/lib/providers/smallest.ts, src/lib/transcribe.ts
New module transcribeWithSmallest authenticates via API key, POSTs audio as application/octet-stream to Smallest Waves STT endpoint with word_timestamps=true, parses JSON response, maps word objects to internal WordTimestamp format, and returns transcript text, timestamps, and request duration. Function is imported and registered in PROVIDER_MAP for dispatch via transcribeForProvider, and provider name is added to sanitizeError for consistent error messaging.

Sequence Diagram

sequenceDiagram
  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)
Loading

Estimated Code Review Effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A hoppy hop to Smallest's call,
Pulse beats true through endpoints all,
Words timestamped, neat and tight—
Another provider shines so bright! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR successfully implements all coding requirements from issue #4: provider integration in PROVIDERS, transcription endpoint implementation with octet-stream audio, word timestamps support, API key configuration, and seed data following existing patterns.
Out of Scope Changes check ✅ Passed All changes are directly related to integrating Smallest AI: provider registration, transcription logic, environment configuration, and seed data. No unrelated or extraneous changes detected.
Title check ✅ Passed The title accurately describes the main change: adding Smallest AI provider support to the application, though it omits the specific model variant (Pulse Pro) mentioned in the objective.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between f3b22c5 and e30493f.

⛔ Files ignored due to path filters (1)
  • public/providers/smallest.svg is excluded by !**/*.svg
📒 Files selected for processing (5)
  • .env.example
  • prisma/seed.ts
  • src/lib/providers.ts
  • src/lib/providers/smallest.ts
  • src/lib/transcribe.ts

Comment thread src/lib/providers/smallest.ts
@harshitajain165 harshitajain165 changed the title Add Smallest AI (Pulse Pro) to the leaderboard Add Smallest AI (Pulse) to the leaderboard Jun 3, 2026
@harshitajain165 harshitajain165 force-pushed the add-smallest-ai-pulse branch from e82c904 to 91527f4 Compare June 5, 2026 10:40
harshitajain165 and others added 5 commits June 5, 2026 16:28
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>
@harshitajain165 harshitajain165 force-pushed the add-smallest-ai-pulse branch from df17006 to 9bc117d Compare June 5, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Smallest AI (Pulse) to the leaderboard

1 participant