---
title: Groq API Integration on Truto
slug: groq
category: Conversational Intelligence
canonical: "https://truto.one/integrations/detail/groq/"
---

# Groq API Integration on Truto



**Category:** Conversational Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 21 tools for Groq that AI agents can call directly.

- **create_a_groq_audio_transcription** — Transcribe an audio file into text using groq's audio transcription API. Returns: text (the full transcription), and when response_format is verbose_json also task, language, duration, segments, words, and x_groq metadata. Required: file, model.
- **create_a_groq_audio_translation** — Create an audio translation in groq by uploading an audio file, converting spoken content into English text. Returns: text. Required: file, model.
- **create_a_groq_transcription** — Create an audio transcription in groq by uploading an audio file or supplying a URL to convert speech to text. Returns: text, segments, words. Required: model. Either file or url must also be provided.
- **create_a_groq_chat_completion** — Create a chat completion in Groq using a specified model and message array, with optional assistant-prefill and stop-sequence control. Returns: id, object, model, choices (containing the assistant message, finish_reason, and logprobs), usage (prompt_tokens, completion_tokens, total_tokens, prompt_time, completion_time, total_time), and x_groq. Required: messages, model.
- **create_a_groq_response** — Create a model response using Groq's OpenAI-compatible Responses API. Accepts a model identifier and input (text or message array) along with optional sampling, tool, and reasoning parameters. Returns: id, object, model, output, usage, status, created_at, and metadata describing the completed response.
- **create_a_groq_audio_speech** — Create synthesized audio speech from text using groq's OpenAI-compatible text-to-speech API. Returns binary audio data in the requested format (not a JSON body). Required: model, input, voice.
- **list_all_groq_models** — List all models available on groq. Returns a collection of model objects, each including id, object, created, and owned_by.
- **get_single_groq_model_by_id** — Get a single groq model by id. Returns the model object including id, object, created, and owned_by. Required: id.
- **list_all_groq_batches** — List all batches in groq. Returns a collection of batch objects each including id, object, status, endpoint, input_file_id, completion_window, created_at, request_counts, and associated file identifiers.
- **create_a_groq_batch** — Create a new batch in groq to process a group of requests asynchronously. Returns the created batch object including id, status, endpoint, input_file_id, completion_window, created_at, and request_counts. Required: input_file_id, endpoint, completion_window.
- **get_single_groq_batch_by_id** — Get a single groq batch by id. Returns the full batch object including id, status, endpoint, input_file_id, completion_window, created_at, request_counts, output_file_id, and all lifecycle timestamps. Required: id.
- **groq_batches_cancel** — Cancel an in-progress groq batch by id. Returns the updated batch object reflecting the cancellation, including id, status (cancelling or cancelled), endpoint, input_file_id, completion_window, created_at, and request_counts. Required: id.
- **list_all_groq_files** — List all files uploaded to groq. Returns: id, object, bytes, created_at, filename, purpose for each file in the account.
- **create_a_groq_file** — Upload a file to groq for use with other API endpoints. Returns: id, object, bytes, created_at, filename, purpose. Required: file, purpose.
- **get_single_groq_file_by_id** — Get metadata for a specific groq file by id. Returns: id, object, bytes, created_at, filename, purpose. Required: id.
- **delete_a_groq_file_by_id** — Delete a groq file by id. Returns: id, object, deleted. Required: id.
- **groq_files_download** — Download the raw content of a groq file by id. Returns the file's binary or text payload; the response shape depends on the file's content type. Required: id.
- **list_all_groq_fine_tunings** — List fine-tuning jobs in groq. Returns: id.
- **create_a_groq_fine_tuning** — Create a new fine-tuning job in groq. Returns: id.
- **get_single_groq_fine_tuning_by_id** — Get a single groq fine-tuning job by id. Returns: id. Required: id.
- **delete_a_groq_fine_tuning_by_id** — Delete a groq fine-tuning job by id. Returns an empty 204 response on success. Required: id.

## How it works

1. **Link your customer's Groq account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Groq.** The Proxy API is a 1-to-1 mapping of the Groq API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Offer BYOK Groq inference to your enterprise customers** — Let your customers connect their own Groq API keys via Truto so latency-sensitive workloads run on their account. You ship the feature without absorbing inference costs or managing per-tenant key storage.
- **Power sub-second voice agents inside your platform** — SaaS platforms building voicebots or live call assistants can route transcription, chat completion, and text-to-speech through customer-owned Groq accounts to eliminate the awkward pauses typical of GPU-backed providers.
- **Enable customer-specific fine-tuned models** — Customers who have fine-tuned open-weight models on Groq want them used inside your product. Truto lets you list their available models and route prompts to the right one without you managing the training lifecycle.
- **Run high-volume async processing on the customer's ledger** — Legal, compliance, and support-analytics platforms can push large JSONL workloads into Groq's Batch API through the customer's connection — moving the compute bill downstream while you orchestrate the workflow.
- **Add real-time multilingual support to conversational products** — Use the customer's Groq account to translate spoken audio and immediately feed it into chat completions, enabling live international support or meeting copilots without standing up a separate translation stack.

## What you can build

- **Real-time voice agent loop** — Chain Groq audio transcription, chat completion, and audio speech endpoints to build voice agents that respond in milliseconds using the customer's connected Groq account.
- **Customer model picker** — List every model available on the customer's Groq account — including their fine-tuned variants — and let admins pick which one powers each workflow in your product.
- **Batch document processing pipeline** — Upload JSONL files, create Groq batch jobs, poll for status, and download results to summarize or classify thousands of tickets, emails, or documents per customer.
- **Self-serve fine-tuning launcher** — Let customers upload training files and trigger Groq fine-tuning jobs directly from your UI, then surface job status and the resulting model ID back into your model picker.
- **Live transcription and translation feed** — Stream audio into Groq transcription or translation endpoints to power live call captioning, meeting notes, or multilingual chat threads.
- **Cost-aware inference routing** — Route latency-sensitive prompts to the customer's Groq connection while keeping other workloads on your default provider, all behind a single abstraction in your app.

## FAQs

### How do end users authenticate their Groq account?

Groq uses API key authentication. Your users paste their Groq API key into your app, Truto stores and rotates it securely per connected account, and all calls you make through Truto are scoped to that user's key.

### Which Groq capabilities can I call through Truto?

Chat completions, responses, audio transcription, audio translation, audio speech (TTS), models listing, files (upload, list, get, delete, download), batches (create, list, get, cancel), and fine-tuning (create, list, get, delete) are all available as tools.

### Can I use a customer's fine-tuned models?

Yes. Call list_all_groq_models or get_single_groq_model_by_id on the customer's connection to discover their fine-tuned models, then pass the model ID into chat completion or response calls.

### How do I handle Groq's batch workflow?

Upload a JSONL file via create_a_groq_file, kick off the job with create_a_groq_batch, poll with get_single_groq_batch_by_id, and retrieve outputs using groq_files_download. groq_batches_cancel is available if you need to stop a job.

### Will rate limits apply to my SaaS or to the end user?

Because requests are made with the end user's Groq API key, Groq's rate limits and billing apply to their account — not yours. This is what makes BYOK patterns viable for high-volume workloads.

### Is Groq's API really OpenAI-compatible through Truto?

Groq's API mirrors OpenAI's surface for chat completions and related endpoints, and Truto exposes Groq-specific tools that preserve that shape, so migrating prompts or reusing existing schemas is straightforward.
