- A one-line description of the use case
- The full request body, ready to send
- The endpoint and a one-line cURL
- A note on how to retrieve the rendered video
YOUR_API_KEY with your pictai_ API key from the API Access page.
Every recipe uses the same authentication pattern:
Authorization: YOUR_API_KEY (no Bearer prefix). After submitting a render, the response includes a jobId. Poll GET /v1/jobs/{jobid} every 10–30 seconds until status is completed, OR include a webhook URL in the request body to receive the result automatically.Recipe 1 — Text-to-Video with AI Voice-Over
Use case: Turn a short script into a narrated video with auto-selected stock visuals. Endpoint:POST /v2/video/storyboard/render
Recipe 2 — Multilingual Video (Generate Narration in a Target Language)
Use case: Render the same video in French (or any of 14 supported languages) with native-language narration and voice. Endpoint:POST /v2/video/storyboard/render
zh, nl, en, fr, de, hi, it, ja, ko, mr, pt, ru, es, ta
Default Male STD Voice by Language
If you do not specify a voice, use the documented default male STD voice for the target language. For languages without a documented default, the API falls back to the English voice — in that case, prefer callingGET /v1/voiceovers/tracks to pick a native voice.
language | Default voice (speaker) |
|---|---|
en | Martin |
nl | Tim |
fr | Gabriel |
de | Wilbur |
it | Marco |
pt | Aurelio |
es | Hugo |
hi, ru | Martin (English fallback — no native STD default) |
zh, ja, ko, mr, ta | None documented — discover via GET /v1/voiceovers/tracks |
Recipe 3 — PowerPoint to Video with Speaker Notes
Use case: Convert a PowerPoint deck into a video using the slides as visuals and the speaker notes as narration. Endpoint:POST /v2/video/storyboard/render
Recipe 4 — Avatar Video (Chef Walking Through a Recipe)
Use case: Render a how-to video where an AI avatar narrates the steps. Each step becomes its own scene; the avatar reads the scene’sstory text. The avatar is configured once at the top level and applies across all scenes.
Endpoint: POST /v2/video/storyboard/render
GET /v1/avatars.
Recipe 5 — Render Against an Existing Project as a Template
Use case: You built a master template in the Pictory web app and want every new video to inherit its branding, layouts, music, and transitions. Pass the template’sprojectId as templateId.
Endpoint: POST /v2/video/storyboard/render
Use
templateId when you want to reuse an existing project as a template with new content. Use saveProject: true when you want the render to create a new project in My Projects. These two options serve different purposes and can be combined.Recipe 6 — Re-render a Saved Project As-Is
Use case: You have an existing project saved in your Pictory dashboard and you just want to re-render it without changes (e.g., to regenerate the video file after editing branding). Endpoint:POST /v2/projects/{projectid}/render
Recipe 7 — Brand Kit Applied via brandName
Use case: Apply your saved brand kit (colors, fonts, logo, intro/outro) to a video. You can identify the brand by eitherbrandId or brandName — not both.
Endpoint: POST /v2/video/storyboard/render
GET /v1/brands/video.
Recipe 8 — Webhook-Driven Async Workflow
Use case: You do not want to poll for job status. Pass awebhook URL and Pictory will POST the result to your server when the render completes.
Endpoint: POST /v2/video/storyboard/render
- Publicly reachable HTTPS URL
- Accepts
POSTwithContent-Type: application/json - Responds with a
2xxstatus within 30 seconds - The
webhookInputobject you pass is echoed back in the callback payload — use it for correlation
Recipe 9 — Create a Storyboard Preview Before Rendering
Use case: Generate scene thumbnails and a project structure for review before committing to a full render. Endpoint:POST /v2/video/storyboard
- Review the scenes via
GET /v1/jobs/{jobid} - Edit scenes via
PUT /v2/video/storyboard/elements - Render with
PUT /v2/video/render/{storyboardjobid}, passing the preview job ID in the path
Recipe 10 — Poll Job Status
Use case: You submitted a render and need to check whether it is done. Endpoint:GET /v1/jobs/{jobid}
data.videoURL. Poll every 10–30 seconds. Typical render time is 2–10 minutes depending on video length and complexity. For full response details, see the Get Video Render Job API.
How to Choose the Right Recipe
| Your Goal | Use Recipe |
|---|---|
| Quick text-to-video | 1 |
| Localize for non-English audience | 2 |
| Convert PPT deck | 3 |
| Avatar-narrated walk-through | 4 |
| Reuse a master template | 5 |
| Re-render a saved project | 6 |
| Apply brand kit | 7 |
| Avoid polling | 8 |
| Review before committing render | 9 |
| Check job status | 10 |
Next Steps
Use Pictory with an LLM
Hand these recipes to an LLM for natural-language video generation
API Reference
Full endpoint-level documentation
OpenAPI Spec
Machine-readable spec for codegen and tooling
Webhook Setup
Async result delivery via webhook
