Import Video Post
postnitro_import_videoCreate a video post (postType VIDEO) from your own scene content. Returns an embedPostId to track progress.
Scenes use the SAME slide array as a carousel: exactly 1 starting_slide, at least 1 body_slide, exactly 1 ending_slide — each slide becomes a scene. Infographic layouts work as they do on carousel slides.
Output: 'DESIGN' (default) creates the design without rendering; 'MP4' renders the video file.
Motion: the video is animated without asking, as its template is, or in the clean style, and runs as long as that takes (at most 2:00). videoSettings.motionStyle picks a style, built-in or saved; videoSettings.sequenceId puts a saved sequence on every slide. Find saved ones with postnitro_list_motion_styles and postnitro_list_motion_sequences.
templateId, brandId, and responseType are optional if you've saved defaults via postnitro_set_defaults.
Use postnitro_check_status to monitor, then postnitro_get_output to retrieve. Or use postnitro_import_video_and_wait for one step.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"slides": "<slides>"
},
"name": "postnitro_import_video"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slides | Yes | The scenes, as an array of 3+ typed slides (exactly 1 starting_slide first, 1+ body_slide, exactly 1 ending_slide last). | |
| brandId | No | Brand ID (optional if saved via postnitro_set_defaults) | |
| templateId | No | Template ID (optional if saved via postnitro_set_defaults) | |
| requestorId | No | Optional custom tracking ID | |
| responseType | No | Output format for a video. 'DESIGN' (default) creates the design without rendering — fastest, and enough for scheduling or finishing in the editor. 'MP4' renders the video file. A video cannot be rendered as PDF or PNG. | |
| videoSettings | No | A video's motion, music and voiceover, all optional: without it the video is still animated. It runs as long as its motion and narration take, up to 2:00. When it's later scheduled as a reel, the API reuses its music. | |
| generateImages | No | Optional AI image generation — include this object to enable it, omit it for no images. When included, `context` is required and you (the agent) must author it from the post. Best-effort: the post still COMPLETES if images fail or aren't permitted (free plan / exhausted AI-image quota); check the GENERATE_IMAGES step via postnitro_check_status. Requires a paid plan, consumes the org's AI-image quota (separate from post credits), and adds latency. | |
| idempotencyKey | No | Optional key that makes this call safe to retry. Generate a new one (e.g. a UUID) for each new action. If the call times out, fails with a network or 5xx error, or you are unsure it went through, call again with the SAME key and the same arguments: PostNitro returns the first call's result instead of creating a second post, charging credits again or scheduling a duplicate. Only a successful call is remembered, so after an error you can fix the arguments and retry with the same key; reusing a successful call's key with different arguments is rejected (422). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | Initial job status ('PENDING') | |
| message | No | Message returned by the PostNitro API | |
| success | Yes | True when the job was accepted | |
| nextStep | Yes | The suggested follow-up call | |
| warnings | No | Non-fatal issues worth surfacing to the user (e.g. AI image generation did not complete) | |
| embedPostId | Yes | Generation-job ID — pass to postnitro_check_status, then postnitro_get_output | |
| usedDefaults | Yes | The values actually applied — explicit arguments, saved defaults, or an auto-selected sole candidate |