Output
video
Inputs
- Reference video (required)
Example prompt
Upload a video to auto-generate styled subtitles burned directly into the footageTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/workflow-utilities/auto-subtitle.
POST
/api/v1/generate22 fields · 2 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Optional | Optional model input. |
position | string | Optional | Vertical position of subtitles · Allowed: top, center, bottom · Default: bottom |
font_name | string | Optional | Any Google Font name from fonts.google.com (e.g., 'Montserrat', 'Poppins', 'BBH Sans Hegarty') · Default: Montserrat |
background_color | string | Optional | Background color behind text ('none' or 'transparent' for no background) · Allowed: black, white, red, green, blue, yellow, orange, purple, pink, brown, gray, cyan, magenta, none, transparent · Default: none |
background_opacity | number | Optional | Background opacity (0.0 = fully transparent, 1.0 = fully opaque) · Default: 0 · Range: 0–1 |
font_color | string | Optional | Subtitle text color for non-active words · Allowed: white, black, red, green, blue, yellow, orange, purple, pink, brown, gray, cyan, magenta · Default: white |
language | string | Optional | Language code for transcription (e.g., 'en', 'es', 'fr', 'de', 'it', 'pt', 'nl', 'ja', 'zh', 'ko') or 3-letter ISO code (e.g., 'eng', 'spa', 'fra') · Default: en |
y_offset | number | Optional | Vertical offset in pixels (positive = move down, negative = move up) · Default: 75 · Range: -200–200 |
stroke_color | string | Optional | Text stroke/outline color · Allowed: black, white, red, green, blue, yellow, orange, purple, pink, brown, gray, cyan, magenta · Default: black |
words_per_subtitle | number | Optional | Maximum number of words per subtitle segment. Use 1 for single-word display, 2-3 for short phrases, or 8-12 for full sentences. · Default: 3 · Range: 1–12 |
enable_animation | boolean | Optional | Enable animation effects for subtitles (bounce style entrance) · Default: true |
stroke_width | number | Optional | Text stroke/outline width in pixels (0 for no stroke) · Default: 3 · Range: 0–10 |
font_weight | string | Optional | Font weight (TikTok style typically uses bold or black) · Allowed: normal, bold, black · Default: bold |
font_size | number | Optional | Font size for subtitles (TikTok style uses larger text) · Default: 100 · Range: 20–150 |
highlight_color | string | Optional | Color for the currently speaking word (karaoke-style highlight) · Allowed: white, black, red, green, blue, yellow, orange, purple, pink, brown, gray, cyan, magenta · Default: purple |
video_url | string | Required | Format: uri |
Minimal request example
{
"model_id": "fal-ai/workflow-utilities/auto-subtitle",
"video_url": "https://example.com/video"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fworkflow-utilities%2Fauto-subtitle",
"title": "Auto Subtitle generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/workflow-utilities/auto-subtitle.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/workflow-utilities/auto-subtitle",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"position": {
"title": "Position",
"description": "Vertical position of subtitles",
"default": "bottom",
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
},
"font_name": {
"title": "Font Name",
"description": "Any Google Font name from fonts.google.com (e.g., 'Montserrat', 'Poppins', 'BBH Sans Hegarty')",
"default": "Montserrat",
"type": "string"
},
"background_color": {
"title": "Background Color",
"description": "Background color behind text ('none' or 'transparent' for no background)",
"default": "none",
"type": "string",
"enum": [
"black",
"white",
"red",
"green",
"blue",
"yellow",
"orange",
"purple",
"pink",
"brown",
"gray",
"cyan",
"magenta",
"none",
"transparent"
]
},
"background_opacity": {
"title": "Background Opacity",
"description": "Background opacity (0.0 = fully transparent, 1.0 = fully opaque)",
"default": 0,
"type": "number",
"minimum": 0,
"maximum": 1
},
"font_color": {
"title": "Font Color",
"description": "Subtitle text color for non-active words",
"default": "white",
"type": "string",
"enum": [
"white",
"black",
"red",
"green",
"blue",
"yellow",
"orange",
"purple",
"pink",
"brown",
"gray",
"cyan",
"magenta"
]
},
"language": {
"title": "Language",
"description": "Language code for transcription (e.g., 'en', 'es', 'fr', 'de', 'it', 'pt', 'nl', 'ja', 'zh', 'ko') or 3-letter ISO code (e.g., 'eng', 'spa', 'fra')",
"default": "en",
"type": "string"
},
"y_offset": {
"title": "Y Offset",
"description": "Vertical offset in pixels (positive = move down, negative = move up)",
"default": 75,
"type": "number",
"minimum": -200,
"maximum": 200,
"multipleOf": 1
},
"stroke_color": {
"title": "Stroke Color",
"description": "Text stroke/outline color",
"default": "black",
"type": "string",
"enum": [
"black",
"white",
"red",
"green",
"blue",
"yellow",
"orange",
"purple",
"pink",
"brown",
"gray",
"cyan",
"magenta"
]
},
"words_per_subtitle": {
"title": "Words Per Subtitle",
"description": "Maximum number of words per subtitle segment. Use 1 for single-word display, 2-3 for short phrases, or 8-12 for full sentences.",
"default": 3,
"type": "number",
"minimum": 1,
"maximum": 12,
"multipleOf": 1
},
"enable_animation": {
"title": "Enable Animation",
"description": "Enable animation effects for subtitles (bounce style entrance)",
"default": true,
"type": "boolean"
},
"stroke_width": {
"title": "Stroke Width",
"description": "Text stroke/outline width in pixels (0 for no stroke)",
"default": 3,
"type": "number",
"minimum": 0,
"maximum": 10,
"multipleOf": 1
},
"font_weight": {
"title": "Font Weight",
"description": "Font weight (TikTok style typically uses bold or black)",
"default": "bold",
"type": "string",
"enum": [
"normal",
"bold",
"black"
]
},
"font_size": {
"title": "Font Size",
"description": "Font size for subtitles (TikTok style uses larger text)",
"default": 100,
"type": "number",
"minimum": 20,
"maximum": 150,
"multipleOf": 1
},
"highlight_color": {
"title": "Highlight Color",
"description": "Color for the currently speaking word (karaoke-style highlight)",
"default": "purple",
"type": "string",
"enum": [
"white",
"black",
"red",
"green",
"blue",
"yellow",
"orange",
"purple",
"pink",
"brown",
"gray",
"cyan",
"magenta"
]
},
"video_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"model_id",
"video_url"
],
"additionalProperties": false
}FAQ
How much does Auto Subtitle cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if Auto Subtitle fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Auto Subtitle from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/workflow-utilities/auto-subtitle". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with Auto Subtitle?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.