Documentation

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 KeyDisplay NameFileStyle
liberation-sansLiberation SansLiberationSans-Regular.ttfRegular
liberation-sans-boldLiberation Sans BoldLiberationSans-Bold.ttfBold
liberation-sans-italicLiberation Sans ItalicLiberationSans-Italic.ttfItalic
liberation-sans-bold-italicLiberation Sans Bold ItalicLiberationSans-BoldItalic.ttfBold Italic
liberation-serifLiberation SerifLiberationSerif-Regular.ttfRegular
liberation-serif-boldLiberation Serif BoldLiberationSerif-Bold.ttfBold
liberation-serif-italicLiberation Serif ItalicLiberationSerif-Italic.ttfItalic
liberation-serif-bold-italicLiberation Serif Bold ItalicLiberationSerif-BoldItalic.ttfBold Italic
liberation-monoLiberation MonoLiberationMono-Regular.ttfRegular
liberation-mono-boldLiberation Mono BoldLiberationMono-Bold.ttfBold
liberation-mono-italicLiberation Mono ItalicLiberationMono-Italic.ttfItalic
liberation-mono-bold-italicLiberation Mono Bold ItalicLiberationMono-BoldItalic.ttfBold Italic

DejaVu Font Family (Complete Collection)

High-quality fonts with excellent Unicode support and extensive style variants.

Font KeyDisplay NameFileStyle
dejavu-sansDejaVu SansDejaVuSans.ttfRegular
dejavu-sans-boldDejaVu Sans BoldDejaVuSans-Bold.ttfBold
dejavu-sans-obliqueDejaVu Sans ObliqueDejaVuSans-Oblique.ttfOblique
dejavu-sans-bold-obliqueDejaVu Sans Bold ObliqueDejaVuSans-BoldOblique.ttfBold Oblique
dejavu-sans-extralightDejaVu Sans ExtraLightDejaVuSans-ExtraLight.ttfExtraLight
dejavu-sans-condensedDejaVu Sans CondensedDejaVuSansCondensed.ttfCondensed
dejavu-sans-condensed-boldDejaVu Sans Condensed BoldDejaVuSansCondensed-Bold.ttfCondensed Bold
dejavu-sans-condensed-obliqueDejaVu Sans Condensed ObliqueDejaVuSansCondensed-Oblique.ttfCondensed Oblique
dejavu-sans-condensed-bold-obliqueDejaVu Sans Condensed Bold ObliqueDejaVuSansCondensed-BoldOblique.ttfCondensed Bold Oblique
dejavu-serifDejaVu SerifDejaVuSerif.ttfRegular
dejavu-serif-boldDejaVu Serif BoldDejaVuSerif-Bold.ttfBold
dejavu-serif-italicDejaVu Serif ItalicDejaVuSerif-Italic.ttfItalic
dejavu-serif-bold-italicDejaVu Serif Bold ItalicDejaVuSerif-BoldItalic.ttfBold Italic
dejavu-serif-condensedDejaVu Serif CondensedDejaVuSerifCondensed.ttfCondensed
dejavu-serif-condensed-boldDejaVu Serif Condensed BoldDejaVuSerifCondensed-Bold.ttfCondensed Bold
dejavu-serif-condensed-italicDejaVu Serif Condensed ItalicDejaVuSerifCondensed-Italic.ttfCondensed Italic
dejavu-serif-condensed-bold-italicDejaVu Serif Condensed Bold ItalicDejaVuSerifCondensed-BoldItalic.ttfCondensed Bold Italic
dejavu-monoDejaVu Sans MonoDejaVuSansMono.ttfRegular
dejavu-mono-boldDejaVu Sans Mono BoldDejaVuSansMono-Bold.ttfBold
dejavu-mono-obliqueDejaVu Sans Mono ObliqueDejaVuSansMono-Oblique.ttfOblique
dejavu-mono-bold-obliqueDejaVu Sans Mono Bold ObliqueDejaVuSansMono-BoldOblique.ttfBold Oblique
dejavu-mathDejaVu Math TeX GyreDejaVuMathTeXGyre.ttfMathematical

Chinese/CJK Fonts

Noto CJK Font Family (Complete Collection)

Professional Chinese fonts optimized for video rendering with multiple weights.

Font KeyDisplay NameFileLanguage & Weight
noto-serif-scNoto Serif CJK SCNotoSerifCJKsc-Regular.otfSimplified Chinese (Regular)
noto-serif-sc-boldNoto Serif CJK SC BoldNotoSerifCJKsc-Bold.otfSimplified Chinese (Bold)
noto-serif-sc-lightNoto Serif CJK SC LightNotoSerifCJKsc-Light.otfSimplified Chinese (Light)
noto-serif-tcNoto Serif CJK TCNotoSerifCJKtc-Regular.otfTraditional Chinese (Regular)
noto-serif-tc-boldNoto Serif CJK TC BoldNotoSerifCJKtc-Bold.otfTraditional Chinese (Bold)
noto-serif-tc-lightNoto Serif CJK TC LightNotoSerifCJKtc-Light.otfTraditional Chinese (Light)

Source Han Sans Font Family (Adobe CJK - Premium Quality)

Professional sans-serif fonts from Adobe for superior CJK rendering quality.

Font KeyDisplay NameFileLanguage & Weight
sourcehan-sans-scSource Han Sans SCSourceHanSansSC-Regular.otfSimplified Chinese (Regular)
sourcehan-sans-sc-boldSource Han Sans SC BoldSourceHanSansSC-Bold.otfSimplified Chinese (Bold)
sourcehan-sans-sc-lightSource Han Sans SC LightSourceHanSansSC-Light.otfSimplified Chinese (Light)
sourcehan-sans-tcSource Han Sans TCSourceHanSansTC-Regular.otfTraditional Chinese (Regular)
sourcehan-sans-tc-boldSource Han Sans TC BoldSourceHanSansTC-Bold.otfTraditional Chinese (Bold)
sourcehan-sans-tc-lightSource Han Sans TC LightSourceHanSansTC-Light.otfTraditional Chinese (Light)

Font Aliases

For convenience, the following aliases are available:

AliasMaps ToPurpose
sansliberation-sansGeneric sans-serif
serifliberation-serifGeneric serif
monoliberation-monoGeneric monospace
monospacedejavu-monoAlternative monospace
chinesesourcehan-sans-scDefault Chinese (Updated to Source Han Sans)
chinese-sanssourcehan-sans-scChinese sans-serif
chinese-serifnoto-serif-scChinese serif
chinese-tcnoto-serif-tcTraditional Chinese serif
chinese-tc-sanssourcehan-sans-tcTraditional Chinese sans-serif

Legacy Aliases

Backward compatibility aliases for common font requests:

AliasMaps ToNote
arialliberation-sansLiberation Sans is metrics-compatible
arial-blackliberation-sans-boldBold variant
timesliberation-serifLiberation Serif is metrics-compatible
times-new-romanliberation-serifLiberation Serif alternative
courierliberation-monoLiberation Mono alternative
courier-newliberation-monoLiberation Mono alternative
helveticaliberation-sansLiberation Sans alternative
georgialiberation-serifLiberation 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:

PresetFontRationale
netflixdejavu-sansModern, clean look matching Netflix style
youtubeliberation-sansReliable, standard web font
professionalliberation-serifProfessional serif for broadcast
minimalsourcehan-sans-scClean, minimal sans-serif (Updated to Source Han Sans)
cinemadejavu-serifElegant serif for cinematic feel
douyinsourcehan-sans-sc-boldBold Chinese font for Douyin/TikTok style
xiaohongshusourcehan-sans-scElegant Chinese font for Xiaohongshu style
wechat-videosourcehan-sans-scProfessional 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

  1. For English content: Use liberation-sans or dejavu-sans
  2. For Chinese content: Use sourcehan-sans-sc (Simplified) or sourcehan-sans-tc (Traditional) for sans-serif, noto-serif-sc/noto-serif-tc for serif
  3. For professional content: Use liberation-serif or dejavu-serif
  4. For emphasis: Use bold variants (-bold suffix)
  5. For technical content: Use liberation-mono or dejavu-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:

  1. Replace custom font names with supported fonts:

    - "font_family": "Arial"
    + "font_family": "liberation-sans"
    
  2. Use aliases for convenience:

    - "font_family": "Times New Roman"
    + "font_family": "times"
    
  3. Update Chinese font references:

    - "font_family": "SimSun"
    + "font_family": "sourcehan-sans-sc"
    
  4. Upgrade to premium Chinese fonts:

    - "font_family": "noto-serif-sc"
    + "font_family": "sourcehan-sans-sc"
    

Testing Font Changes

  1. Start with safe defaults: Use liberation-sans for testing
  2. Test with actual content: Ensure Chinese characters render correctly with Source Han Sans
  3. Verify on mobile: Check readability at different resolutions
  4. Use presets: Leverage built-in presets for consistent styling
  5. 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:

  1. Check this reference document
  2. Validate font names against supported list
  3. Test with basic presets first
  4. 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.