Back
CapCut TTS / STT API
2025Solo Project

CapCut TTS / STT API

Tool Developer, Reverse Engineering

Project Overview

A pure Python command-line client that reverse-engineers CapCut's internal common-task API to expose Text-to-Speech (TTS) and Speech-to-Text / subtitle recognition (STT) as scriptable CLI commands. All request construction, RSA payload signing, AWS SigV4 authorization, and VOD upload are implemented in Python from scratch — zero native libraries, zero ctypes, zero .dylib dependencies. Designed for developers who need programmatic access to CapCut's high-quality TTS voices and ASR engine.

Key Features

  • TTS: build SSML → sign RSA payload → POST to CapCut → poll task result → receive audio
  • STT: upload audio/video via VOD (AWS SigV4) → submit ASR task → poll subtitles
  • All-in-one stt-file command: upload + submit STT in a single CLI call
  • RSA PKCS#1 v1.5 payload signing — pure Python, no openssl binary needed
  • AWS SigV4 for ApplyUploadInner and CommitUploadInner — pure Python
  • x-ss-stub (MD5 body hash) and request sign header generation
  • --device-json override for custom CapCut device/session profiles
  • --dry-run flag to preview signed request without calling the API
  • Subtitle extractor: parses utterances with start/end timestamps and word-level data
  • Open source, MIT-friendly — supports vi-VN and other CapCut locales

Project Link

Visit Live Site

Technologies

Python 3.9+RSA PKCS#1 v1.5AWS SigV4REST APIReverse EngineeringCLI Tool

Details

Position

Tool Developer, Reverse Engineering

Timeline

2025

Team Size

Solo Project