Make Videos Programmatically

1. Product Positioning

A large share of business video is not authored, it is produced. Product catalogues, listing updates, event recaps, localised campaign variants, training clips regenerated when a policy changes. The content is structurally identical every time and only the data differs, which makes it a poor fit for a manual editing workflow and a natural fit for code.

Make Videos Programmatically is the arrangement Meishe’s Video Capture & Editing SDK supports for that class of work. Instead of a person opening a timeline, a template defines the structure and the slots, your system supplies a payload, and the engine renders. The SDK does not ship a UI; your service supplies the orchestration, and the SDK supplies the editing and rendering engine underneath it.

The decision that makes this work is the split between template and payload. Everything that does not vary between renders belongs in the template: layout, timing, transitions, colour treatment, caption styling. Everything that does vary belongs in the payload: media references, text, durations, per-asset timing overrides. Getting that boundary right is most of the engineering, and it is almost entirely a design problem rather than a coding one.

The buyers are engineering teams building automated production backends, and product teams whose video volume has outgrown manual editing.

Make Videos Programmatically
Face Beauty SDK

2. Core Capabilities

Templates as structured containers

A template carries the composition: track layout, clip durations, transition types, effect parameters, caption style. Slots are typed, so a video slot expects media, a text slot expects a string with a known maximum length, and the renderer validates rather than silently degrading. One-tap video generation and “make the same video” template workflows cover the interactive side of the same mechanism, which means a template authored in a design context is the same artefact your batch job consumes.

Payload-driven assembly

Your service generates a payload per output. Conceptually that looks like this:

“`

Conceptual payload — not a literal API call

{ “template”: “product_intro_v3”, “slots”: { “hero_clip”: { “media”: “s3://…/sku-88231.mp4”, “trim”: [0.0, 4.2] }, “detail_a”: { “media”: “s3://…/sku-88231-detail-1.jpg”, “duration”: 2.5 }, “title”: { “text”: “Aluminium Travel Tripod”, “max_chars”: 42 }, “price”: { “text”: “$89.00” } }, “output”: { “profile”: “1080p25”, “audio”: “bed_track_07” } } “`

The engine binds the payload to the template and produces a project, then renders it. Nothing in that step requires a screen.

Unattended batch rendering

Because a project is data, a queue can produce many of them. A nightly job can render a catalogue update, a webhook can render one asset when a record changes, and a re-render can be triggered across the whole set when a template is revised. Failures are per-item, so one bad asset does not stop the batch.

Conditional structure

Real payloads are not uniform. A listing may have one image or six; a clip may be three seconds or thirty. Templates handle this with optional slots and rules: repeat a sequence for each item in an array, drop a section when a field is empty, extend a hold when text is longer than expected. Encoding those rules in the template keeps them out of your application code, where they would otherwise accumulate.

Text and caption generation

Captions are part of the payload as often as the media. AI subtitles generate a timed caption track from audio; LLM-assisted creation workflows supply titles and descriptions. Both are inputs to the same render, so a localised version is a new payload in a new language against the same template.

Deterministic output

The same template plus the same payload plus the same media produces the same file. That sounds obvious and is not always true of video pipelines. It matters because it makes automated output testable: a reference render can be compared, and a template change can be evaluated by re-rendering a known set.

3. Platform and Integration

LayerWhere it runsNotes
Orchestration serviceYour backendGenerates payloads, queues jobs, stores output
Batch rendererDesktop (Windows) SDKLong-running unattended sessions
Server-side previewWeb SDKSpot-check output without a local build
Client-side generationiOS, AndroidOn-device one-tap generation from a template
Cross-framework clientFlutter (short-video solution)Shared client logic across mobile
Capture inputSmart hardwareDevices feeding material into the pipeline

Integration is a library embed. The renderer is a component in your service, and you own the queue, the storage, the retry policy and the monitoring. Projects, effects and modules interoperate across targets, so a template authored and checked on desktop renders on mobile.

Note the operational shape: batch rendering is CPU and GPU work with real wall-clock cost. Size the queue against render time at your output profile, and decide the concurrency policy before the first production run rather than after.

4. Technical Advantages

  • Effects evaluate in real time. No pre-processing pass is required before playback or export, which shortens each render and simplifies the pipeline.
  • Resolution and dynamic range headroom. Up to 8K video and 16K image processing, HDR preview while editing, mixed HDR/SDR timelines, export in HLG or ST 2084.
  • Modest footprint. Around 3 MB for the SDK, with AI, beauty, AR and template modules loaded only when invoked.
  • Full finishing surface available to automation. 2D and 3D transitions including vertex stretch, lens flare, pixel diffusion and rotation; timeline effects such as rewind, repeat and slow motion; professional colour grading with adjustable intensity; the subtitle feature set with per-character animation and dynamic highlighted captions; audio finishing through a 30-band graphic equalizer with effects, mixing and speed change with pitch handling.
  • AI modules as pipeline steps. Portrait and background segmentation and intelligent colour correction can run as stages of the render rather than as separate pre-processing services.
  • Modular addressability. Timeline, effects, captions, colour, audio and templates are separately addressable, so a job can adjust one parameter without rebuilding the project.

5. Use Cases and Target Users

ScenarioWhat teams buildCapabilities that matter
Catalogue and listing videoOne clip per product, regenerated on updatePayload binding, batch rendering
Localised campaign variantsThe same creative in many languagesText slots, AI subtitles, template reuse
Data and report recapsPeriodic video summaries of metricsConditional structure, deterministic output
Training content refreshCourses re-rendered when policy changesTemplate versioning, re-render on change
User-generated batch exportMany users’ drafts rendered server-sideUnattended queue, per-item failure isolation
Social clip generationShort variants cut from long recordingsSegmentation, timeline effects, caption styles

Who it is for: teams whose video output is repetitive in structure and variable in content, and who would rather maintain a template library and a payload schema than a queue of manual edit requests.

6. Integration and Services

Start from the production-ready demo source code, which shows the full path from project construction through render. Build the smallest useful job first: one template, one payload, one output, run from a command line. The batch layer is ordinary queue engineering on top of a working single render.

Meishe supplies material authoring tools with training, which is how design staff produce and version templates, filter packages and caption styles independently of your release cycle. Custom feature and effect development covers capability beyond the standard library. Each client is assigned a project team with 1-to-1 technical support, and SDK upgrades are included.