Veedeo API V3 Font Reference
Complete Font Support Guide Last Updated: September 18, 2025 Version: 3.0 (with Source Han Sans Support)
Overview
The Veedeo API V3 provides a curated set of professional fonts optimized for video subtitle rendering. All fonts are pre-installed in our rendering containers to ensure consistent output across all environments.
Supported Font Families
English/Latin Fonts
Liberation Font Family (Complete Collection)
Based on metrics-compatible alternatives to Arial, Times New Roman, and Courier.
Font Key | Display Name | File | Style |
---|---|---|---|
liberation-sans | Liberation Sans | LiberationSans-Regular.ttf | Regular |
liberation-sans-bold | Liberation Sans Bold | LiberationSans-Bold.ttf | Bold |
liberation-sans-italic | Liberation Sans Italic | LiberationSans-Italic.ttf | Italic |
liberation-sans-bold-italic | Liberation Sans Bold Italic | LiberationSans-BoldItalic.ttf | Bold Italic |
liberation-serif | Liberation Serif | LiberationSerif-Regular.ttf | Regular |
liberation-serif-bold | Liberation Serif Bold | LiberationSerif-Bold.ttf | Bold |
liberation-serif-italic | Liberation Serif Italic | LiberationSerif-Italic.ttf | Italic |
liberation-serif-bold-italic | Liberation Serif Bold Italic | LiberationSerif-BoldItalic.ttf | Bold Italic |
liberation-mono | Liberation Mono | LiberationMono-Regular.ttf | Regular |
liberation-mono-bold | Liberation Mono Bold | LiberationMono-Bold.ttf | Bold |
liberation-mono-italic | Liberation Mono Italic | LiberationMono-Italic.ttf | Italic |
liberation-mono-bold-italic | Liberation Mono Bold Italic | LiberationMono-BoldItalic.ttf | Bold Italic |
DejaVu Font Family (Complete Collection)
High-quality fonts with excellent Unicode support and extensive style variants.
Font Key | Display Name | File | Style |
---|---|---|---|
dejavu-sans | DejaVu Sans | DejaVuSans.ttf | Regular |
dejavu-sans-bold | DejaVu Sans Bold | DejaVuSans-Bold.ttf | Bold |
dejavu-sans-oblique | DejaVu Sans Oblique | DejaVuSans-Oblique.ttf | Oblique |
dejavu-sans-bold-oblique | DejaVu Sans Bold Oblique | DejaVuSans-BoldOblique.ttf | Bold Oblique |
dejavu-sans-extralight | DejaVu Sans ExtraLight | DejaVuSans-ExtraLight.ttf | ExtraLight |
dejavu-sans-condensed | DejaVu Sans Condensed | DejaVuSansCondensed.ttf | Condensed |
dejavu-sans-condensed-bold | DejaVu Sans Condensed Bold | DejaVuSansCondensed-Bold.ttf | Condensed Bold |
dejavu-sans-condensed-oblique | DejaVu Sans Condensed Oblique | DejaVuSansCondensed-Oblique.ttf | Condensed Oblique |
dejavu-sans-condensed-bold-oblique | DejaVu Sans Condensed Bold Oblique | DejaVuSansCondensed-BoldOblique.ttf | Condensed Bold Oblique |
dejavu-serif | DejaVu Serif | DejaVuSerif.ttf | Regular |
dejavu-serif-bold | DejaVu Serif Bold | DejaVuSerif-Bold.ttf | Bold |
dejavu-serif-italic | DejaVu Serif Italic | DejaVuSerif-Italic.ttf | Italic |
dejavu-serif-bold-italic | DejaVu Serif Bold Italic | DejaVuSerif-BoldItalic.ttf | Bold Italic |
dejavu-serif-condensed | DejaVu Serif Condensed | DejaVuSerifCondensed.ttf | Condensed |
dejavu-serif-condensed-bold | DejaVu Serif Condensed Bold | DejaVuSerifCondensed-Bold.ttf | Condensed Bold |
dejavu-serif-condensed-italic | DejaVu Serif Condensed Italic | DejaVuSerifCondensed-Italic.ttf | Condensed Italic |
dejavu-serif-condensed-bold-italic | DejaVu Serif Condensed Bold Italic | DejaVuSerifCondensed-BoldItalic.ttf | Condensed Bold Italic |
dejavu-mono | DejaVu Sans Mono | DejaVuSansMono.ttf | Regular |
dejavu-mono-bold | DejaVu Sans Mono Bold | DejaVuSansMono-Bold.ttf | Bold |
dejavu-mono-oblique | DejaVu Sans Mono Oblique | DejaVuSansMono-Oblique.ttf | Oblique |
dejavu-mono-bold-oblique | DejaVu Sans Mono Bold Oblique | DejaVuSansMono-BoldOblique.ttf | Bold Oblique |
dejavu-math | DejaVu Math TeX Gyre | DejaVuMathTeXGyre.ttf | Mathematical |
Chinese/CJK Fonts
Noto CJK Font Family (Complete Collection)
Professional Chinese fonts optimized for video rendering with multiple weights.
Font Key | Display Name | File | Language & Weight |
---|---|---|---|
noto-serif-sc | Noto Serif CJK SC | NotoSerifCJKsc-Regular.otf | Simplified Chinese (Regular) |
noto-serif-sc-bold | Noto Serif CJK SC Bold | NotoSerifCJKsc-Bold.otf | Simplified Chinese (Bold) |
noto-serif-sc-light | Noto Serif CJK SC Light | NotoSerifCJKsc-Light.otf | Simplified Chinese (Light) |
noto-serif-tc | Noto Serif CJK TC | NotoSerifCJKtc-Regular.otf | Traditional Chinese (Regular) |
noto-serif-tc-bold | Noto Serif CJK TC Bold | NotoSerifCJKtc-Bold.otf | Traditional Chinese (Bold) |
noto-serif-tc-light | Noto Serif CJK TC Light | NotoSerifCJKtc-Light.otf | Traditional Chinese (Light) |
Source Han Sans Font Family (Adobe CJK - Premium Quality)
Professional sans-serif fonts from Adobe for superior CJK rendering quality.
Font Key | Display Name | File | Language & Weight |
---|---|---|---|
sourcehan-sans-sc | Source Han Sans SC | SourceHanSansSC-Regular.otf | Simplified Chinese (Regular) |
sourcehan-sans-sc-bold | Source Han Sans SC Bold | SourceHanSansSC-Bold.otf | Simplified Chinese (Bold) |
sourcehan-sans-sc-light | Source Han Sans SC Light | SourceHanSansSC-Light.otf | Simplified Chinese (Light) |
sourcehan-sans-tc | Source Han Sans TC | SourceHanSansTC-Regular.otf | Traditional Chinese (Regular) |
sourcehan-sans-tc-bold | Source Han Sans TC Bold | SourceHanSansTC-Bold.otf | Traditional Chinese (Bold) |
sourcehan-sans-tc-light | Source Han Sans TC Light | SourceHanSansTC-Light.otf | Traditional Chinese (Light) |
Font Aliases
For convenience, the following aliases are available:
Alias | Maps To | Purpose |
---|---|---|
sans | liberation-sans | Generic sans-serif |
serif | liberation-serif | Generic serif |
mono | liberation-mono | Generic monospace |
monospace | dejavu-mono | Alternative monospace |
chinese | sourcehan-sans-sc | Default Chinese (Updated to Source Han Sans) |
chinese-sans | sourcehan-sans-sc | Chinese sans-serif |
chinese-serif | noto-serif-sc | Chinese serif |
chinese-tc | noto-serif-tc | Traditional Chinese serif |
chinese-tc-sans | sourcehan-sans-tc | Traditional Chinese sans-serif |
Legacy Aliases
Backward compatibility aliases for common font requests:
Alias | Maps To | Note |
---|---|---|
arial | liberation-sans | Liberation Sans is metrics-compatible |
arial-black | liberation-sans-bold | Bold variant |
times | liberation-serif | Liberation Serif is metrics-compatible |
times-new-roman | liberation-serif | Liberation Serif alternative |
courier | liberation-mono | Liberation Mono alternative |
courier-new | liberation-mono | Liberation Mono alternative |
helvetica | liberation-sans | Liberation Sans alternative |
georgia | liberation-serif | Liberation Serif alternative |
Usage Examples
Basic Font Selection
{
"properties": {
"font_family": "liberation-sans",
"font_size": 24,
"color": "#FFFFFF"
}
}
Bold Font Usage
{
"properties": {
"font_family": "dejavu-sans-bold",
"font_size": 28,
"color": "#FFFFFF"
}
}
Chinese Text
{
"properties": {
"font_family": "sourcehan-sans-sc",
"font_size": 26,
"color": "#FFFFFF"
}
}
Source Han Sans (Premium Chinese)
{
"properties": {
"font_family": "sourcehan-sans-sc-bold",
"font_size": 28,
"color": "#FFFFFF"
}
}
Using Aliases
{
"properties": {
"font_family": "sans",
"font_size": 22,
"color": "#FFFFFF"
}
}
Legacy Compatibility
{
"properties": {
"font_family": "arial",
"font_size": 24,
"color": "#FFFFFF"
}
}
Subtitle Preset Font Usage
Built-in Presets
Each preset uses carefully selected fonts optimized for their use case:
Preset | Font | Rationale |
---|---|---|
netflix | dejavu-sans | Modern, clean look matching Netflix style |
youtube | liberation-sans | Reliable, standard web font |
professional | liberation-serif | Professional serif for broadcast |
minimal | sourcehan-sans-sc | Clean, minimal sans-serif (Updated to Source Han Sans) |
cinema | dejavu-serif | Elegant serif for cinematic feel |
douyin | sourcehan-sans-sc-bold | Bold Chinese font for Douyin/TikTok style |
xiaohongshu | sourcehan-sans-sc | Elegant Chinese font for Xiaohongshu style |
wechat-video | sourcehan-sans-sc | Professional Chinese font for WeChat Video |
Preset Usage
{
"properties": {
"preset": "netflix",
"font_size": 24
}
}
Custom Styling with Preset Base
{
"properties": {
"preset": "professional",
"font_family": "dejavu-serif-bold",
"font_size": 28,
"color": "#F0F0F0"
}
}
Chinese Platform Presets
{
"properties": {
"preset": "douyin",
"font_size": 26
}
}
{
"properties": {
"preset": "xiaohongshu",
"font_family": "sourcehan-sans-sc-bold"
}
}
{
"properties": {
"preset": "wechat-video",
"color": "#F0F0F0"
}
}
Font Validation
Strict Font Policy
The API enforces a strict font policy:
- Only fonts from the approved list are supported
- No system font fallbacks are used
- Invalid font names will cause render errors
Error Handling
If you specify an unsupported font, you'll receive an error like:
{
"error": {
"code": "FONT_NOT_SUPPORTED",
"message": "STRICT FONT POLICY: Font 'Comic Sans' not found in fonts/ directory. Available fonts: liberation-sans, dejavu-sans, ..."
}
}
Validation Function
Before submitting requests, you can validate fonts using this logic:
const supportedFonts = [
// Liberation fonts (all variants)
'liberation-sans', 'liberation-sans-bold', 'liberation-sans-italic', 'liberation-sans-bold-italic',
'liberation-serif', 'liberation-serif-bold', 'liberation-serif-italic', 'liberation-serif-bold-italic',
'liberation-mono', 'liberation-mono-bold', 'liberation-mono-italic', 'liberation-mono-bold-italic',
// DejaVu fonts (all variants)
'dejavu-sans', 'dejavu-sans-bold', 'dejavu-sans-oblique', 'dejavu-sans-bold-oblique', 'dejavu-sans-extralight',
'dejavu-sans-condensed', 'dejavu-sans-condensed-bold', 'dejavu-sans-condensed-oblique', 'dejavu-sans-condensed-bold-oblique',
'dejavu-serif', 'dejavu-serif-bold', 'dejavu-serif-italic', 'dejavu-serif-bold-italic',
'dejavu-serif-condensed', 'dejavu-serif-condensed-bold', 'dejavu-serif-condensed-italic', 'dejavu-serif-condensed-bold-italic',
'dejavu-mono', 'dejavu-mono-bold', 'dejavu-mono-oblique', 'dejavu-mono-bold-oblique', 'dejavu-math',
// Noto CJK fonts (all variants)
'noto-serif-sc', 'noto-serif-sc-bold', 'noto-serif-sc-light',
'noto-serif-tc', 'noto-serif-tc-bold', 'noto-serif-tc-light',
// Source Han Sans fonts (all variants)
'sourcehan-sans-sc', 'sourcehan-sans-sc-bold', 'sourcehan-sans-sc-light',
'sourcehan-sans-tc', 'sourcehan-sans-tc-bold', 'sourcehan-sans-tc-light',
// Aliases
'sans', 'serif', 'mono', 'monospace', 'chinese', 'chinese-sans', 'chinese-serif', 'chinese-tc', 'chinese-tc-sans',
'arial', 'arial-black', 'times', 'times-new-roman', 'courier', 'courier-new', 'helvetica', 'georgia'
];
function isValidFont(fontName) {
const normalized = fontName.toLowerCase().replace(/\s+/g, '-');
return supportedFonts.includes(normalized);
}
Best Practices
Font Selection Guidelines
- For English content: Use
liberation-sans
ordejavu-sans
- For Chinese content: Use
sourcehan-sans-sc
(Simplified) orsourcehan-sans-tc
(Traditional) for sans-serif,noto-serif-sc
/noto-serif-tc
for serif - For professional content: Use
liberation-serif
ordejavu-serif
- For emphasis: Use bold variants (
-bold
suffix) - For technical content: Use
liberation-mono
ordejavu-mono
Performance Considerations
- All fonts are pre-loaded in rendering containers
- Font switching within a video has no performance impact
- Bold fonts may appear slightly larger at the same font size
Accessibility
- Use high contrast ratios (white text on dark backgrounds)
- Minimum font size recommendation: 18px for readability
- Serif fonts may be more readable for longer text content
Language-Specific Recommendations
English/Latin Text
- Primary:
liberation-sans
,dejavu-sans
- Professional:
liberation-serif
,dejavu-serif
- Technical:
liberation-mono
,dejavu-mono
Chinese Text
- Simplified Chinese Sans-serif:
sourcehan-sans-sc
(recommended),sourcehan-sans-sc-bold
- Simplified Chinese Serif:
noto-serif-sc
,noto-serif-sc-bold
- Traditional Chinese Sans-serif:
sourcehan-sans-tc
,sourcehan-sans-tc-bold
- Traditional Chinese Serif:
noto-serif-tc
,noto-serif-tc-bold
- Mixed content: Use
chinese
alias for automatic selection (now defaults to Source Han Sans)
Migration Guide
From Previous Versions
If you're migrating from older API versions:
-
Replace custom font names with supported fonts:
- "font_family": "Arial" + "font_family": "liberation-sans"
-
Use aliases for convenience:
- "font_family": "Times New Roman" + "font_family": "times"
-
Update Chinese font references:
- "font_family": "SimSun" + "font_family": "sourcehan-sans-sc"
-
Upgrade to premium Chinese fonts:
- "font_family": "noto-serif-sc" + "font_family": "sourcehan-sans-sc"
Testing Font Changes
- Start with safe defaults: Use
liberation-sans
for testing - Test with actual content: Ensure Chinese characters render correctly with Source Han Sans
- Verify on mobile: Check readability at different resolutions
- Use presets: Leverage built-in presets for consistent styling
- Compare quality: Test Source Han Sans vs Noto CJK for your use case
Troubleshooting
Common Issues
Font Not Found Error
Solution: Check font name against supported list, use exact keys
Chinese Characters Not Displaying
Solution: Use 'sourcehan-sans-sc' or 'sourcehan-sans-tc' for best CJK rendering
Alternative: Use 'noto-serif-sc' or 'noto-serif-tc' for serif style
Text Appears Too Small/Large
Solution: Adjust font_size, consider font family differences
Bold Text Not Working
Solution: Use explicit bold variants (e.g., 'dejavu-sans-bold')
Getting Help
For font-related issues:
- Check this reference document
- Validate font names against supported list
- Test with basic presets first
- Contact support with specific font requirements
Last Updated: September 18, 2025 API Version: 3.0 (with Source Han Sans Support) Documentation Version: 1.1
For technical support or font requests, contact support@veedeo.dev.