VEED Subtitles is a fast AI video subtitle generation model that adds styled captions to videos using automatic transcription or supplied SRT files and subtitle content. Ready-to-use REST inference API for subtitled MP4 generation, social media videos, creator content, marketing clips, accessibility workflows, video localization, and professional captioning with simple integration, no coldstarts, and affordable pricing.
Idle
$0.1per run·~10 / $1
VEED Subtitles adds styled subtitles to a video with optional automatic transcription or user-supplied SRT subtitles. It supports multiple subtitle presets, placement controls, shadow styles, language selection, and resolution tiers, making it suitable for social content, marketing videos, explainers, interviews, and multilingual publishing workflows.
Automatic subtitle generation Upload a video and generate subtitles automatically with optional language selection.
Custom subtitle import
Provide your own subtitles through raw srt_content or an srt_file_url.
Flexible subtitle styling Choose from a wide range of subtitle presets for different visual styles.
Position and shadow control Adjust subtitle placement and text shadow strength for better readability.
Multiple resolution tiers
Choose 480p, 720p, or 1080p depending on your delivery needs.
Production-ready workflow Suitable for short-form content, branded videos, tutorials, interviews, and repurposed media.
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Input video URL. |
| target_resolution | No | Maximum resolution box used before subtitle generation. Supported values: 480p, 720p, 1080p. Default: 720p. |
| preset | No | Subtitle visual preset. Default: simple. Supported values: simple, plain, glass, whisper, glide2, fusion, glide, terminal, handwritten, beans, corpo, boo, shadeplay, casper, capri, lowkey, vinta, diego, ali, slay, kitty, hustle, karl, sprout, flex, mint, rizz, vegas. |
| position | No | Subtitle position. Supported values: top, center, bottom. Default: bottom. |
| shadow | No | Text shadow strength. Supported values: none, min, mid, max. Default: mid. |
| language | No | Optional transcription language locale such as en-US or zh-CN. Leave empty to auto-detect. |
| srt_file_url | No | Optional SRT subtitle file URL. Do not use together with srt_content. |
| srt_content | No | Optional raw SRT subtitle content. Do not use together with srt_file_url. |
480p, 720p, or 1080p.srt_content or srt_file_url if you want to use your own subtitles instead of auto-generated ones.Add clean, branded subtitles to a short interview clip, positioned at the bottom with a readable shadow style and 1080p output.
Pricing is based on video duration and target resolution.
1080p costs 2× the base rate480p and 720p use the same base ratepreset, position, shadow, language, srt_file_url, and srt_content do not affect pricing| Video Duration | 480p / 720p | 1080p |
|---|---|---|
| 1s–60s | $0.10 | $0.20 |
| 61s–120s | $0.20 | $0.40 |
| 121s–180s | $0.30 | $0.60 |
| 181s–240s | $0.40 | $0.80 |
language only when you want to force a specific transcription locale; otherwise leave it empty for auto-detection.srt_content or srt_file_url when timing and wording must stay exact.1080p only when you need higher-resolution output, since it doubles the price.mid or max shadow when subtitles need to remain readable over busy backgrounds.video is required.srt_content or srt_file_url, not both.target_resolution defaults to 720p.position defaults to bottom.shadow defaults to mid.480p and 720p are billed at the same rate, while 1080p is billed at double that rate.Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/veed/subtitles with your input as JSON. The endpoint returns a prediction id; poll the prediction endpoint until status flips to completed, then read the output URL from data.outputs[0]. Examples for Subtitles below.
# Submit the prediction
curl -X POST "https://api.wavespeed.ai/api/v3/veed/subtitles" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"video": "https://example.com/your-input.mp4",
"target_resolution": "720p",
"preset": "simple",
"position": "bottom",
"shadow": "mid",
"language": "af-ZA"
}'
# Response includes a prediction id. Poll for the result:
curl -X GET "https://api.wavespeed.ai/api/v3/predictions/{request_id}/result" \
-H "Authorization: Bearer $WAVESPEED_API_KEY"
# When status is "completed", read the output from data.outputs[0].// npm install wavespeed
const WaveSpeed = require('wavespeed');
const client = new WaveSpeed(); // reads WAVESPEED_API_KEY from env
const result = await client.run("veed/subtitles", {
"video": "https://example.com/your-input.mp4",
"target_resolution": "720p",
"preset": "simple",
"position": "bottom",
"shadow": "mid",
"language": "af-ZA"
});
console.log(result.outputs[0]); // → URL of the generated output# pip install wavespeed
import wavespeed
output = wavespeed.run(
"veed/subtitles",
{
"video": "https://example.com/your-input.mp4",
"target_resolution": "720p",
"preset": "simple",
"position": "bottom",
"shadow": "mid",
"language": "af-ZA"
}
)
print(output["outputs"][0]) # → URL of the generated outputSubtitles is a Veed model for video editing, exposed as a REST API on WaveSpeedAI. VEED Subtitles is a fast AI video subtitle generation model that adds styled captions to videos using automatic transcription or supplied SRT files and subtitle content. Ready-to-use REST inference API for subtitled MP4 generation, social media videos, creator content, marketing clips, accessibility workflows, video localization, and professional captioning with simple integration, no coldstarts, and affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID; poll the prediction endpoint until status flips to "completed", then read the output URL from the result. The playground generates a ready-to-paste code sample in Python, JavaScript, or cURL for whatever inputs you've set. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/veed/veed-subtitles.
Subtitles starts at $0.10 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `video`, `language`, `position`, `preset`, `shadow`, `srt_content`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/veed/veed-subtitles.
Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.
Commercial usage rights depend on the model's license, set by its provider (Veed). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.