Speech-to-text transcription
| Method | Path | Summary |
|---|---|---|
GET | /transcribe | List transcriptions |
POST | /transcribe | Create a transcription |
GET | /transcribe/{transcriptionId} | Get a transcription |
DELETE | /transcribe/{transcriptionId} | Delete a transcription |
{% api-endpoint method=“GET” path=“/transcribe” /%}
List transcriptions
Operation ID: listTranscriptions
| Name | Type | Required | Description |
| --------- | ---------- | ------------ | ------------- | -------- | ------------ | --- | ------------------------------------------------------------------- |
| page | integer | No | Default: 1 |
| perPage | integer | No | Default: 20 |
| status | "pending" | "processing" | "completed" | "failed" | "cancelled" | No | Values: pending, processing, completed, failed, cancelled |
Paginated list of transcriptions
| Field | Type | Required | Description |
|---|---|---|---|
data | object[] | No | - |
pagination | object | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.transcribe.listTranscriptions({
page: 1,
perPage: 1,
status: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.transcribe.list_transcriptions(
page=1,
per_page=1,
status="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/transcribe?page=1&perPage=1&status=example-value' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/transcribe” /%}
Create a transcription
Operation ID: createTranscription
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
sourceId | string | Yes | - |
sourceType | string | Yes | Values: video, audio |
language | string | No | - |
speakerLabels | boolean | No | Default: false |
wordTimestamps | boolean | No | Default: false |
punctuation | boolean | No | Default: true |
model | string | No | Default: "default" |
Transcription created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
sourceId | string | No | - |
sourceType | string | No | Values: video, audio |
status | string | No | Values: pending, processing, completed, failed, cancelled |
language | string | No | - |
text | string | No | - |
duration | number | No | - |
wordCount | integer | No | - |
confidence | number | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.transcribe.createTranscription({
sourceId: "abc-123",
sourceType: "video",
language: "example-value",
speakerLabels: false,
wordTimestamps: false,
punctuation: true,
model: "default",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.transcribe.create_transcription(
source_id="abc-123",
source_type="example-value",
language="example-value",
speaker_labels=True,
word_timestamps=True,
punctuation=True,
model="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/transcribe' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"sourceId": "abc-123",
"sourceType": "video",
"language": "example-value",
"speakerLabels": false,
"wordTimestamps": false,
"punctuation": true,
"model": "default"
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/transcribe/{transcriptionId}” /%}
Get a transcription
Operation ID: getTranscription
| Name | Type | Required | Description |
|---|---|---|---|
transcriptionId | string | Yes | - |
Transcription details
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
sourceId | string | No | - |
sourceType | string | No | Values: video, audio |
status | string | No | Values: pending, processing, completed, failed, cancelled |
language | string | No | - |
text | string | No | - |
duration | number | No | - |
wordCount | integer | No | - |
confidence | number | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.transcribe.getTranscription("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.transcribe.get_transcription(
transcription_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/transcribe/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“DELETE” path=“/transcribe/{transcriptionId}” /%}
Delete a transcription
Operation ID: deleteTranscription
| Name | Type | Required | Description |
|---|---|---|---|
transcriptionId | string | Yes | - |
Transcription deleted
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.transcribe.deleteTranscription("abc-123");
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.transcribe.delete_transcription(
transcription_id="abc-123"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X DELETE 'https://api.wave.online/transcribe/abc-123' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}