# Audio & Video Transcription + Speaker Diarization + SRT (`vivid_astronaut/audio-video-transcription-diarization`) Actor

Transcribe YouTube, TikTok, Instagram and direct audio/video with speaker diarization and SRT/VTT/TXT export. Flat $0.008/min, no OpenAI or other API key required.

- **URL**: https://apify.com/vivid\_astronaut/audio-video-transcription-diarization.md
- **Developed by:** [Fabio Suizu](https://apify.com/vivid_astronaut) (community)
- **Categories:** AI, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 transcription minutes

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Audio & Video Transcription + Speaker Diarization + SRT — $0.008/min, No API Key Needed

Turn **any audio or video URL** into accurate transcripts, speaker-labeled segments, and ready-to-use **SRT / VTT / TXT** files — with **zero setup**.

Paste YouTube, TikTok, or Instagram links, podcast episodes, or direct media files. Press **Start**. Get transcripts. That's it.

**No OpenAI key. No Deepgram account. No GPU. No monthly subscription.** You pay a flat **$0.008 per audio minute** through Apify — everything else is included.

---

### Why this Actor?

Most transcription Actors on the store are thin wrappers: they ask you to **bring your own OpenAI / AssemblyAI / Deepgram API key**, so you end up managing a second account, a second bill, and a second rate limit. This Actor runs on a managed transcription backend — the key is built in.

|                                | **This Actor**                    | Typical alternatives              |
| ------------------------------ | --------------------------------- | --------------------------------- |
| Requires your own API key      | **No — works out of the box**     | Yes (OpenAI, Deepgram, ...)       |
| Price per audio minute         | **$0.008 flat**                   | $0.015+ **plus** your API bill    |
| Speaker diarization            | **Included, on by default**       | Often missing or paid extra       |
| Output formats                 | **JSON + SRT + VTT + TXT**        | Usually JSON only                 |
| YouTube / TikTok / Instagram   | **Built-in media resolver**       | Direct file URLs only             |
| Subtitle quality               | **Short, speaker-aware cues**     | Raw dumps, overlong lines         |
| Billing                        | **Pay per event — only minutes actually transcribed** | Per run / per compute unit |

A 60-minute podcast costs **$0.48**. A 10-minute YouTube video costs **$0.08**. Failed sources are never charged.

### What it does

1. **Resolves media** from almost any URL using a built-in downloader — YouTube, TikTok, Instagram, X/Twitter, Vimeo, SoundCloud, podcast feeds, and 1000+ other sites, plus direct links to `.mp3`, `.mp4`, `.wav`, `.ogg`, `.opus`, `.m4a`, `.webm`, `.flac` files (including files stored in Apify key-value stores). Only the audio track is downloaded, so even long videos process fast.
2. **Transcribes** the audio with a state-of-the-art Whisper-class speech model — the spoken language is detected automatically and returned with every transcript, or you can force a specific language for extra accuracy on noisy audio.
3. **Identifies speakers** (diarization): speaker attribution is computed at the **word level**, then grouped into clean segments labeled `SPEAKER_00`, `SPEAKER_01`, ... so interviews, podcasts, and meetings stay readable.
4. **Exports everything**: full text, timed speaker segments (JSON), and subtitle files (SRT + VTT) — pushed to the dataset **and** saved as downloadable files in the key-value store. Cues are kept short and readable: a new cue starts on speaker change, on pauses, or before a line gets too long. No wall-of-text captions.

### Input

```json
{
    "sources": [
        "https://www.youtube.com/watch?v=jNQXAC9IVRw",
        "https://www.tiktok.com/@user/video/7300000000000000000",
        "https://example.com/podcast/episode-42.mp3"
    ],
    "language": "auto",
    "diarization": true,
    "output_formats": ["json", "srt", "vtt", "txt"],
    "maxDurationMinutes": 240
}
````

| Field                | Type     | Default                          | Description                                                                 |
| -------------------- | -------- | -------------------------------- | --------------------------------------------------------------------------- |
| `sources`            | array    | *(required)*                     | URLs: YouTube/TikTok/Instagram/podcast pages or direct media file links     |
| `language`           | string   | `"auto"`                         | Spoken language (`auto`, `en`, `pt`, `es`, `fr`, `de`, `ja`, ...)           |
| `diarization`        | boolean  | `true`                           | Label each segment with the detected speaker                                |
| `output_formats`     | array    | `["json", "srt", "vtt", "txt"]`  | Which outputs to generate                                                   |
| `maxDurationMinutes` | integer  | `240`                            | Per-file duration cap; longer sources are skipped (and never charged)       |

### Output

One dataset item per source:

```json
{
    "url": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
    "title": "Me at the zoo",
    "language": "en",
    "duration_s": 19,
    "text": "All right, so here we are in front of the elephants. The cool thing about these guys is that they have really long trunks.",
    "segments": [
        { "start": 0.0, "end": 2.1, "speaker": "SPEAKER_00", "text": "All right, so here we are" },
        { "start": 2.1, "end": 4.2, "speaker": "SPEAKER_00", "text": "in front of the elephants." },
        { "start": 4.6, "end": 7.3, "speaker": "SPEAKER_00", "text": "The cool thing about these guys" }
    ],
    "srt": "1\n00:00:00,000 --> 00:00:02,100\n[SPEAKER_00] All right, so here we are\n...",
    "vtt": "WEBVTT\n\n00:00:00.000 --> 00:00:02.100\n[SPEAKER_00] All right, so here we are\n...",
    "charged_minutes": 1,
    "files": {
        "srt": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-www.youtube.com-watch-v-jNQXAC9IVRw.srt",
        "vtt": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-www.youtube.com-watch-v-jNQXAC9IVRw.vtt",
        "txt": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-www.youtube.com-watch-v-jNQXAC9IVRw.txt"
    }
}
```

Subtitle files are also stored in the run's **key-value store**, so you can download `.srt` / `.vtt` / `.txt` directly or hotlink them from your app.

If a source fails (private video, dead link, over the duration cap), the run **keeps going** and the failed source produces an item like:

```json
{ "url": "https://example.com/broken-link.mp3", "error": "Could not download media from this URL: HTTP 404" }
```

### Pricing

**$0.008 per transcribed minute**, rounded up per source, minimum 1 minute. Billed via Apify's pay-per-event — no subscription, no compute-unit math, no surprise bills.

| Content                          | Cost      |
| -------------------------------- | --------- |
| 5-minute TikTok compilation      | $0.04     |
| 10-minute YouTube video          | $0.08     |
| 60-minute podcast episode        | $0.48     |
| 100 x 3-minute clips             | $2.40     |
| Competitor at $0.015/min + your own OpenAI bill for the same podcast | $0.90+ and two invoices |

### Use it via API

Run the Actor from any language using the [Apify API](https://docs.apify.com/api/v2):

```bash
curl -X POST "https://api.apify.com/v2/acts/<username>~audio-video-transcription-diarization/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "sources": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"], "language": "auto" }'
```

JavaScript:

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('<username>/audio-video-transcription-diarization').call({
    sources: ['https://www.youtube.com/watch?v=jNQXAC9IVRw'],
    diarization: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].text);
```

Python:

```python
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("<username>/audio-video-transcription-diarization").call(
    run_input={"sources": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"]}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[0]["text"])
```

### Use it from AI agents (MCP)

This Actor works out of the box with the [Apify MCP server](https://mcp.apify.com), so agents built on Claude, ChatGPT, Cursor, or any MCP-compatible framework can call it as a tool:

```json
{
    "mcpServers": {
        "apify": {
            "url": "https://mcp.apify.com/sse?actors=<username>/audio-video-transcription-diarization"
        }
    }
}
```

Your agent can transcribe any link a user shares with **no API key juggling inside the agent** — this Actor needs none, and pay-per-event billing means you are only ever charged for minutes actually transcribed.

### FAQ

**Do I need an OpenAI (or any other) API key?**
No. That is the point of this Actor. Transcription runs on a managed backend whose credentials are bundled with the Actor. You only need your Apify account.

**Which languages are supported?**
90+ languages with automatic detection — the detected language is returned in every result. Best accuracy on English, Spanish, Portuguese, French, German, Italian, Japanese, Korean, and Chinese. Set `language` explicitly for noisy audio to boost accuracy.

**How accurate is the diarization? How many speakers can it handle?**
Speaker attribution is computed per word, then grouped into segments, which keeps labels tight even in fast exchanges. It reliably separates 2–10 speakers on clean audio (podcasts, interviews, meetings). Heavy crosstalk or very short interjections may occasionally merge speakers.

**Can it transcribe video files?**
Yes. For video sources only the audio track is extracted and processed, which keeps runs fast and cheap.

**Are the subtitles actually usable as-is?**
Yes. Cues are automatically split on speaker changes, pauses, and length limits (roughly 42 characters / 7 seconds per cue), so the SRT/VTT files drop straight into video editors, players, and YouTube uploads without manual cleanup.

**What about very long files?**
The default per-file cap is 240 minutes (configurable up to 24 hours via `maxDurationMinutes`). Each file also has a 30-minute processing timeout. Sources over the cap are skipped with an error item and are never charged.

**Is a whole playlist/channel transcribed if I paste a playlist URL?**
No — playlist expansion is disabled on purpose so you never get surprise charges. Paste individual video URLs (pair this Actor with any channel/playlist scraper to get them).

**What happens when one URL in my batch is broken?**
The run continues. The broken URL produces a `{ url, error }` item in the dataset; all other sources are processed and only successful minutes are charged.

**Where are my subtitle files?**
In the run's key-value store (links are included in each dataset item under `files`), and inline in the dataset item (`srt`, `vtt` fields) if you prefer to grab them from JSON.

**Is my audio stored?**
Audio is processed transiently and deleted from the worker after transcription. Transcripts live in your Apify dataset/key-value store, under your control.

### Related use cases

- Generate subtitles for YouTube/TikTok/Instagram content at scale
- Turn podcasts into blog posts, show notes, and quotes
- Feed meeting or interview transcripts into LLM pipelines and RAG systems
- Monitor spoken mentions of brands across social video
- Caption video ads for accessibility compliance (WCAG / ADA)

# Actor input Schema

## `sources` (type: `array`):

URLs to transcribe: YouTube, TikTok, Instagram, X, podcast episodes, direct media links (.mp3, .mp4, .wav, .ogg, .opus, .m4a, .webm, ...) or files stored in an Apify key-value store.

## `language` (type: `string`):

Language spoken in the audio. Keep "auto" to detect it automatically.

## `diarization` (type: `boolean`):

Detect who is speaking and label each segment (SPEAKER\_00, SPEAKER\_01, ...). Labels are included in SRT/VTT/TXT outputs.

## `output_formats` (type: `array`):

Formats to generate for each source. SRT, VTT and TXT are also saved as downloadable files in the run's key-value store.

## `maxDurationMinutes` (type: `integer`):

Sources longer than this limit are skipped with an error item instead of being transcribed (and charged).

## Actor input object example

```json
{
  "sources": [
    "https://www.youtube.com/watch?v=jNQXAC9IVRw"
  ],
  "language": "auto",
  "diarization": true,
  "output_formats": [
    "json",
    "srt",
    "vtt",
    "txt"
  ],
  "maxDurationMinutes": 240
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "sources": [
        "https://www.youtube.com/watch?v=jNQXAC9IVRw"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("vivid_astronaut/audio-video-transcription-diarization").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "sources": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"] }

# Run the Actor and wait for it to finish
run = client.actor("vivid_astronaut/audio-video-transcription-diarization").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "sources": [
    "https://www.youtube.com/watch?v=jNQXAC9IVRw"
  ]
}' |
apify call vivid_astronaut/audio-video-transcription-diarization --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=vivid_astronaut/audio-video-transcription-diarization",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Audio & Video Transcription + Speaker Diarization + SRT",
        "description": "Transcribe YouTube, TikTok, Instagram and direct audio/video with speaker diarization and SRT/VTT/TXT export. Flat $0.008/min, no OpenAI or other API key required.",
        "version": "1.0",
        "x-build-id": "5RYsmNr1fUDY1V24J"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/vivid_astronaut~audio-video-transcription-diarization/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-vivid_astronaut-audio-video-transcription-diarization",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/vivid_astronaut~audio-video-transcription-diarization/runs": {
            "post": {
                "operationId": "runs-sync-vivid_astronaut-audio-video-transcription-diarization",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/vivid_astronaut~audio-video-transcription-diarization/run-sync": {
            "post": {
                "operationId": "run-sync-vivid_astronaut-audio-video-transcription-diarization",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "sources"
                ],
                "properties": {
                    "sources": {
                        "title": "Audio / video sources",
                        "type": "array",
                        "description": "URLs to transcribe: YouTube, TikTok, Instagram, X, podcast episodes, direct media links (.mp3, .mp4, .wav, .ogg, .opus, .m4a, .webm, ...) or files stored in an Apify key-value store.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "auto",
                            "en",
                            "pt",
                            "es",
                            "fr",
                            "de",
                            "it",
                            "nl",
                            "pl",
                            "ru",
                            "uk",
                            "tr",
                            "ar",
                            "hi",
                            "id",
                            "ja",
                            "ko",
                            "zh",
                            "vi"
                        ],
                        "type": "string",
                        "description": "Language spoken in the audio. Keep \"auto\" to detect it automatically.",
                        "default": "auto"
                    },
                    "diarization": {
                        "title": "Speaker diarization",
                        "type": "boolean",
                        "description": "Detect who is speaking and label each segment (SPEAKER_00, SPEAKER_01, ...). Labels are included in SRT/VTT/TXT outputs.",
                        "default": true
                    },
                    "output_formats": {
                        "title": "Output formats",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Formats to generate for each source. SRT, VTT and TXT are also saved as downloadable files in the run's key-value store.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "json",
                                "srt",
                                "vtt",
                                "txt"
                            ],
                            "enumTitles": [
                                "JSON (text + timed segments)",
                                "SRT subtitles",
                                "VTT subtitles",
                                "Plain text"
                            ]
                        },
                        "default": [
                            "json",
                            "srt",
                            "vtt",
                            "txt"
                        ]
                    },
                    "maxDurationMinutes": {
                        "title": "Max duration per file (minutes)",
                        "minimum": 1,
                        "maximum": 1440,
                        "type": "integer",
                        "description": "Sources longer than this limit are skipped with an error item instead of being transcribed (and charged).",
                        "default": 240
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
