POST /v1/video/render and Sigmora writes the narration plan,
records the voice-over, makes the visuals and renders the file. The call returns
a job id straight away; poll the job and download the video when it is done.
You do not upload the text or look up an id first. You only need a
project to file the video in.
Render a video
Response
status: "queued" means the render was accepted, not that it is finished.
Parameters
projectId and story are the only fields you need. story takes up to 40,000
characters — a long lecture fits.
Lessons can also take
courseWorkflowId with courseWorkflowVersion,
courseCapabilities, courseVideoArchetype and courseVideoTemplateId to pick
a specific teaching workflow and visual template. Omit them to use the default
lesson workflow, general_course version 1; the response reports which one
ran. GET /v1/video/options lists every installed workflow, template, voice and
renderer.
Choose how it is filmed
videoType picks a different production, not a different style on one template:
When you omit
videoType, Sigmora reads your writing: imperatives and numbered
steps become a how-to, definitions and derivations a lesson, past-tense action a
story. It never picks social on its own, because the same paragraph can be a
lesson or a short depending on where you will post it. The response always says
which type was used — if it is not what you wanted, set it explicitly next time.
To render an entry from Sigmora’s video catalogue instead of your own text,
send
domain and videoId rather than story. List the domains with
GET /v1/video/catalog/domains and find ids with
GET /v1/video/catalog/{domain}. Sending domain together with story is
refused.Collect the video
Rendering takes minutes. Poll the job every 15–30 seconds:job.artifacts.download is your video file. It is a signed link: fetch it
without an Authorization header, or hand it to a browser, a downloader or a
<video> tag. Captions come with it as SubRip (srt) and WebVTT (vtt).
Branch on status, not phase: phase is a progress label that changes as the
pipeline evolves. A qa_failed render is blocked from release — read
artifacts.scriptReview to see why, and do not publish it. See
Jobs & polling for every status.
Get the posting package
Most videos are made to be posted, so the extras come with the render:- The posting block — title, timestamped chapters, tags and full transcript —
comes with every render at no extra cost:
job.artifacts.youtubeas text to paste, andjob.artifacts.metadataas JSON to publish programmatically. - Shorts, when you ask for them with
package:
job.package once the video is done:
package.status is pending until the video finishes, then ready. With
shorts: 0 it is skipped.
Shorts are scripts, not video files. Each one names its platform, target
length, the part of your video it comes from and why, plus the script. Shorts
are charged when they are planned, after the video finishes — a render that
never finishes never bills for them.
Plan shorts later
To decide after you have seen the video, plan shorts from the finished job withPOST /v1/video/shorts:
Retry without paying twice
Keep theIdempotency-Key with your record of the render. If the request times
out, send the same body with the same key: you get the original response back
instead of a second render and a second charge. A render that fails after it was
accepted is refunded.
If the document is not written yet
POST /v1/video/render narrates text you already have. To start from a topic,
write it first with a text capability — text.research for a brief,
text.paraphrase to restyle something long, or text.script to build on a seed
video — then render the result.
Video, footage & 3D
Edit your own footage, render 3D, and discover every video option.
Jobs & polling
Every job status, artifact and how to cancel.