Capture a screenshot with Snagit's COM API and render a Camtasia project to MP4 -- the two fundamental TechSmith automation operations.
# Create a Snagit image capture object
$capture = New-Object -ComObject Snagit.ImageCapture
# Configure capture settings
$capture.Input = 4 # siiWindow = 4 (capture active window)
$capture.Output = 2 # sioFile = 2 (save to file)
$capture.OutputImageFile.FileType = 4 # sitJPEG = 4
$capture.OutputImageFile.Directory = "C:\Screenshots"
$capture.OutputImageFile.Filename = "capture"
# Enable preview in Snagit Editor
$capture.EnablePreview = $false # Set $true to open in editor
# Capture!
$capture.Capture()
Write-Host "Screenshot saved to C:\Screenshots\capture.jpg"
$videoCapture = New-Object -ComObject Snagit.VideoCapture
$videoCapture.Input = 2 # siiRegion = 2
$videoCapture.Output = 2 # sioFile = 2
$videoCapture.OutputImageFile.Directory = "C:\Recordings"
# Start recording
$videoCapture.Capture()
# Recording starts -- manually stop via Snagit UI or timer
# Render a .tscproj to MP4 using CamtasiaProducer
$producer = "C:\Program Files\TechSmith\Camtasia 2025\CamtasiaProducer.exe"
& $producer `
/i "C:\Projects\tutorial.tscproj" `
/o "C:\Output\tutorial.mp4" `
/preset "MP4 - Smart Player (up to 1080p)" `
/watermark "none"
Write-Host "Camtasia render complete: tutorial.mp4"
import win32com.client
# Snagit image capture
capture = win32com.client.Dispatch("Snagit.ImageCapture")
capture.Input = 0 # siiDesktop = 0 (full screen)
capture.Output = 2 # sioFile
capture.OutputImageFile.FileType = 3 # sitPNG
capture.OutputImageFile.Directory = "C:\\Screenshots"
capture.OutputImageFile.Filename = "auto_capture"
capture.EnablePreview = False
capture.Capture()
print("Screenshot captured via Python")
Screenshot saved to C:\Screenshots\capture.jpg
Camtasia render complete: tutorial.mp4
| Error | Cause | Solution |
|---|---|---|
Snagit not running |
COM requires Snagit open | Launch Snagit first |
Access denied on capture |
Screen lock or UAC | Run as administrator |
| Camtasia render fails | Missing codec | Install required codec pack |
| Output file exists | Overwrite conflict | Add timestamp to filename |
Proceed to techsmith-local-dev-loop for development workflow.