← Zefmatic

Zefmatic API

Render lyric videos programmatically. Create an API key in your account (Account → API access). Every render costs 1 credit from the key owner's balance.

Authentication

Authorization: Bearer zfk_your_key_here

Create a video from your own audio

POSThttps://zefmatic.com/v1/videos (multipart/form-data)

curl -X POST https://zefmatic.com/v1/videos \
  -H "Authorization: Bearer zfk_..." \
  -F "audio=@song.mp3" \
  -F "title=Midnight Drive" \
  -F "lyrics=Paste the full lyrics here..." \
  -F "visual=galaxy3d" \
  -F "captionStyle=hollow" \
  -F "colorTheme=ember" \
  -F "format=landscape" \
  -F "resolution=1080"

Create a video from a concept (AI-generated song)

POSThttps://zefmatic.com/v1/videos (application/json)

curl -X POST https://zefmatic.com/v1/videos \
  -H "Authorization: Bearer zfk_..." \
  -H "Content-Type: application/json" \
  -d '{"concept":"a nostalgic summer road trip","genre":"indie pop","vocal":"female","visual":"tunnel3d","captionStyle":"stacked"}'

Fields

fieldvalues
visualsee GET /api/visuals — 35 styles incl. 8 True-3D
captionStylesee GET /api/captions — 26 styles
colorThemesee GET /api/themes — zefmatic, ocean, ember, royal, rose, emerald, mono, sunset
formatlandscape (16:9) or shorts (9:16, auto-clipped to the chorus)
resolution720, 1080, 1440, 2160
aiCovertrue to generate AI cover art when no artwork exists (uploads)
vocalmale, female, instrumental (generated songs)

Check status / download

GET /v1/videos            # latest 50
GET /v1/videos/:id        # {"id","status","downloadUrl",...}
GET /v1/videos/:id/file       # the finished MP4
GET /v1/videos/:id/audio.mp3  # the song audio
GET /v1/videos/:id/audio.wav  # 16-bit 44.1kHz WAV (distribution-ready)

Status flow: queued → timing/generating → rendering → done (or error — the credit is refunded automatically on failure).

Limits

30 video creations per hour per account. Songs up to 6 minutes. Need more? support@zefmatic.com.