# Castingwords

CastingWords offers high-quality, human-powered transcription services with a RESTful API for seamless integration into various workflows.

- **Category:** transcription
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 9
- **Triggers:** 0
- **Slug:** `CASTINGWORDS`
- **Version:** 20260223_00

## Tools

### Cancel and Refund Audio File

**Slug:** `CASTINGWORDS_CANCEL_AUDIOFILE`

Tool to cancel an ordered audio file and issue a refund if applicable. Use when no transcription work has been done on the file (Pre-Processing, Audio Processing, Error states).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test` | string | No | If set to 'true', returns a fake approval for testing. Only valid when audiofile_id is 100 or 101. |
| `audiofile_id` | integer | Yes | ID of the audio file to refund. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Prepay Balance

**Slug:** `CASTINGWORDS_GET_PREPAY_BALANCE`

Tool to retrieve the current prepay balance for the account. Use when you need to check available funds before placing new transcription orders.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transcript

**Slug:** `CASTINGWORDS_GET_TRANSCRIPT`

Tool to retrieve the transcript for a given audiofile in the requested format (txt, doc, rtf, or html). Use after a transcription order has been completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test` | string | No | If set to '1' or 'true', returns a fake transcript for testing purposes. Only valid with audiofile_id 100 or 101 and txt extension. |
| `extension` | string ("txt" | "doc" | "rtf" | "html") | No | Output format extension for the transcript. Options: txt (default), doc, rtf, html. |
| `audiofile_id` | integer | Yes | The ID of the audiofile to retrieve the transcript for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get registered webhook URL

**Slug:** `CASTINGWORDS_GET_WEBHOOK`

Tool to retrieve the currently registered webhook URL for account notifications. Use when you need to verify your webhook setup.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Order Transcript

**Slug:** `CASTINGWORDS_ORDER_TRANSCRIPT`

Create a transcription order for audio/video files at publicly accessible URLs. Returns order ID and audiofile IDs for tracking. Requires prepaid balance for non-test orders. Use test=true to validate URLs without charges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | string | Yes | SKU code(s) specifying transcription tier and optional add-ons. Transcription tiers (pick one): TRANS14 (Budget, ~5 day), TRANS2 (1-Day rush), TRANS6 or TRANS7 (7-Day standard). Add-ons (optional, combine with tier): DIFFQ2 (Difficult Audio surcharge), TSTMP1 (Include timestamps), CAPTION1 (Generate captions), VERBATIM1 (Verbatim transcription including filler words). Use SKU_LIST action to get current pricing. |
| `url` | string | Yes | Publicly accessible URL or list of URLs of audio/video files to transcribe. The URL must be directly downloadable by CastingWords servers (not behind authentication). Supported formats: MP3 (preferred), WAV, and common video formats. |
| `name` | array | No | List of speaker names to help transcribers identify and label speakers in the transcript. Helpful for multi-speaker recordings. |
| `test` | boolean | No | If true, creates a test order that validates the URL but does not charge or produce a real transcript. Use for testing integrations. Defaults to false. |
| `notes` | string | No | Optional instructions or context for transcribers. Use for special requests like technical terminology, speaker identification guidance, or handling unclear sections. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Order Upgrades

**Slug:** `CASTINGWORDS_ORDER_UPGRADES`

Tool to order an upgrade for a specific audio file. Use after transcription is complete to add items like timestamps or extra editing. Example: 'Order timestamps for file 12345'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sku` | array | Yes | One or more SKUs to order: DIFFQ2 (Difficult Audio), TSTMP1 (Timestamps), EDIT01 (Extra Editing), UPGRD1 (TRANS14→TRANS6), UPGRD2 (TRANS14→TRANS2), UPGRD3 (TRANS6→TRANS2) |
| `test` | boolean | No | Set to true to run in test mode returning a fake success. Only valid for audiofile IDs 100 and 101. |
| `audiofile_id` | integer | Yes | ID of the audio file to upgrade |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Register Webhook

**Slug:** `CASTINGWORDS_REGISTER_WEBHOOK`

Registers a webhook URL to receive CastingWords event notifications. When events occur (e.g., transcript completion, refund issued, difficult audio), CastingWords will POST to your registered URL with event details. Use CASTINGWORDS_GET_WEBHOOK to verify the current webhook, and CASTINGWORDS_TEST_WEBHOOK to test notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook` | string | Yes | The HTTP or HTTPS endpoint URL where CastingWords will POST notifications when events occur (e.g., transcript completion, refunds). Must be a valid URL starting with http:// or https://. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Available SKUs

**Slug:** `CASTINGWORDS_SKU_LIST`

Retrieves all available CastingWords transcription service SKUs with pricing. Use this tool to discover available services (transcription, captions, etc.) and their per-minute prices before placing an order. Returns SKU codes needed for order placement.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Test Webhook Call

**Slug:** `CASTINGWORDS_TEST_WEBHOOK`

Tool to request a test webhook call for a specific event type. Use after registering a webhook URL to ensure webhook notifications are functioning properly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("TRANSCRIPT_COMPLETE" | "DIFFICULT_AUDIO" | "REFUND_ISSUED") | Yes | Type of webhook event to test. One of 'TRANSCRIPT_COMPLETE', 'DIFFICULT_AUDIO', or 'REFUND_ISSUED'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
