Skip to Content

Get Post Output

Setup

GET https://embed-api.postnitro.ai/post/output/{embedPostId}

Retrieves the generated output for a completed post. Call this once Check Post Status reports the post status as COMPLETED.

Headers

  • embed-api-key: your-api-key-here (required)

Path Parameters

ParameterTypeRequiredDescription
embedPostIdstringYesID of the embed post to retrieve

Example Request

curl --location 'https://embed-api.postnitro.ai/post/output/[embed-post-id]' \ --header 'embed-api-key: pn-your-api-key'

Response

The result object always includes designId, name, size, and editorUrl. Rendered artifact fields (type, mimeType, data) are present only for PNG, PDF, and MP4 — a DESIGN response skips rendering, so it omits them.

If the post was initiated with generateImages, the AI images are baked into the design itself — the output shape below is unchanged. Observe them via the rendered file in result.data (PNG/PDF) or by opening result.editorUrl (any response type).

For DESIGN Response Type

{ "success": true, "data": { "embedPost": { "id": "post123", "postType": "CAROUSEL", "responseType": "DESIGN", "status": "COMPLETED", "credits": 4, "createdAt": "2025-08-03T13:40:49.098Z", "updatedAt": "2025-08-03T13:40:53.425Z" }, "result": { "designId": "design123", "name": "Welcome to the Carousel!", "size": { "id": "4:5", "dimensions": { "width": 1080, "height": 1350 } }, "editorUrl": "https://postnitro.ai/app/carousel-maker/<workspace-identifier>/<designId>" } } }

For PNG Response Type:

{ "success": true, "data": { "embedPost": { "id": "post123", "postType": "CAROUSEL", "responseType": "PNG", "status": "COMPLETED", "credits": 4, "createdAt": "2025-08-03T13:40:49.098Z", "updatedAt": "2025-08-03T13:40:53.425Z" }, "result": { "designId": "design123", "name": "Welcome to the Carousel!", "size": { "id": "4:5", "dimensions": { "width": 1080, "height": 1350 } }, "editorUrl": "https://postnitro.ai/app/carousel-maker/<workspace-identifier>/<designId>", "type": "png", "mimeType": "image/png", "data": [ "image_1_from_postnitro.png", "image_2_from_postnitro.png", "image_3_from_postnitro.png", "image_4_from_postnitro.png" ] } } }

For PDF Response Type:

{ "success": true, "data": { "embedPost": { "id": "post123", "postType": "CAROUSEL", "responseType": "PDF", "status": "COMPLETED", "credits": 4, "createdAt": "2025-08-03T13:59:07.502Z", "updatedAt": "2025-08-03T13:59:12.181Z" }, "result": { "designId": "design123", "name": "Welcome to the Carousel!", "size": { "id": "4:5", "dimensions": { "width": 1080, "height": 1350 } }, "editorUrl": "https://postnitro.ai/app/carousel-maker/<workspace-identifier>/<designId>", "type": "pdf", "mimeType": "application/pdf", "data": "document_from_postnitro.pdf" } } }

For MP4 Response Type:

Returned for postType: "VIDEO" posts rendered with responseType: "MP4". data is a single URL to the rendered video.

{ "success": true, "data": { "embedPost": { "id": "post123", "postType": "VIDEO", "responseType": "MP4", "status": "COMPLETED", "credits": 4, "createdAt": "2025-08-03T13:59:07.502Z", "updatedAt": "2025-08-03T13:59:41.774Z" }, "result": { "designId": "design123", "name": "3 habits of fast teams", "size": { "id": "9:16", "dimensions": { "width": 1080, "height": 1920 } }, "editorUrl": "https://postnitro.ai/app/video-maker/<workspace-identifier>/<designId>", "type": "mp4", "mimeType": "video/mp4", "data": "video_from_postnitro.mp4", "duration": 24.6 } } }

Rendering a video takes longer than a PNG or PDF — keep polling Check Post Status until the post is COMPLETED.

A VIDEO post’s result also has duration: how long the video runs, in seconds, as its motion takes (Length), its voiceover included. A DESIGN response has it too.

When a video is too long

A video can run at most 2:00. A longer one is still made and its design saved, so a DESIGN response completes as usual. An MP4 fails, and this endpoint answers 400 with the error, the video’s length, and the design’s designId and editorUrl: open it in the editor, shorten it (for example with fewer slides), and download it there.

{ "success": false, "message": "Post generation not completed", "data": { "status": "FAILED", "message": "This video runs 2:25, longer than 2:00, the longest a video may be. Shorten it in the editor, for example with fewer slides, then download it again.", "designId": "design123", "editorUrl": "https://postnitro.ai/app/video-maker/<workspace-identifier>/<designId>", "duration": 144.2 } }

Any failed post whose design was saved before it failed answers with its designId and editorUrl the same way.

Result Object Details

FieldTypeDescription
designIdstringDesign ID to be used in the scheduling API call
namestringDesign name (from template or “Untitled”)
sizeobjectDesign aspect ratio (e.g., “4:5”) and dimensions
editorUrlstringDeep link to open the design in the web editor. Present for all response types. null if the workspace or postType can’t be resolved
typestringFile type in lowercase (“png”, “pdf”, or “mp4”). Omitted for DESIGN
mimeTypestringMIME type for the file. Omitted for DESIGN
datastring/arrayPNG: Array of URLs (one per slide)
PDF: Single URL
MP4: Single URL. Omitted for DESIGN
durationnumberVIDEO posts only: how long the video runs, in seconds

An edit’s output has the same designId as the post it edited, since the design changed in place, and credits is what the edit cost. To read a post’s content rather than its files, see Read a Post.

editorUrl structure

<domain>/app/<editor-type>/<workspace-identifier>/<designId>

<editor-type> is derived from postType:

postTypeeditor type
IMAGEimage-maker
CAROUSELcarousel-maker
VIDEOvideo-maker
Last updated on