Zum Hauptinhalt springen

Exports

Exports are the final rendered outputs generated from designs. A design serves as a container that holds your template configuration, and exports are the rendered results created from that configuration. When you export a design, the platform renders the template with your design's configuration (control values, selected sizes, color palette, etc.) and creates the final image, video, or PDF files. Each design can have multiple exports - for different sizes, formats, or created at different times - all based on the same saved configuration.

What exports enable:

  • Final output generation: Create rendered images, videos, or PDFs from your designs
  • Multiple formats: Export to different sizes and formats (Instagram, LinkedIn, Twitter, etc.)
  • Media types: Generate static images or animated videos from the same design
  • Carousel support: Export multi-page templates as carousels with multiple images or videos
  • Progress tracking: Monitor export status and rendering progress in real-time

How it works: An export is created from a design by selecting a template size (output format) and triggering the rendering process. The platform takes the design's configuration - including control values, color palette, and media type preference - and renders it using the template structure for the selected size. The export goes through status stages (pending, processing, completed, failed) and provides URLs to the final rendered files once complete.

Export Structure

An export represents a single rendered output for a specific template size. Each export is linked to a design (which serves as the container for the configuration) and contains the rendered media files (images, videos, PDFs), status information, and metadata about the rendering process. The design-container model means that you first create a design with your configuration, then generate exports from that design. This allows you to create multiple exports from the same design configuration, making it easy to regenerate outputs or export to additional formats without recreating the configuration.

The Base Export Object

The main export object structure (internally called "Export" in the API):

interface Export {
id: string; // UUID
templateId: string; // Source template ID
templateSizeId: string; // Selected template size (format)
name?: string; // Optional export name

// Media type and format
mediaType: 'image' | 'video'; // Rendered as image or video
isCarousel: boolean; // Multi-page/carousel export

// Status
status: 'pending' | 'processing' | 'completed' | 'failed';

// Rendered files
imageUrl?: string; // Final image URL
imagePreviewUrl?: string; // Preview image URL
videoUrl?: string; // Final video URL
videoPreviewUrl?: string; // Preview video URL
pdfUrl?: string; // PDF URL (without crop marks)
pdfUrlWithCropMarks?: string; // PDF URL (with crop marks)
voiceOverUrl?: string; // Voice-over audio URL

// Carousel media (for multi-page exports)
carouselMedia?: CarouselMediaItem[]; // Structured carousel media per page
carouselImageUrls?: string[]; // Legacy: image URLs per page
carouselImagePreviewUrls?: string[]; // Legacy: preview URLs per page

// Rendering metadata
renderId?: string; // Render job ID
renderProgress?: {
totalPages: number;
pages: Array<{
status: 'pending' | 'processing' | 'completed';
percentage: number;
}>;
};
exportRenderStartedAt?: Date; // Rendering start time
exportRenderCompletedAt?: Date; // Rendering completion time
exportRenderTime?: number; // Rendering duration in milliseconds

// Content
controls: Record<string, string>; // Control values used for this export
captionSuggestions?: string[]; // AI-generated caption suggestions
musicTrackId?: string; // Selected music track ID

// Relations
postId?: string; // Design (Post) ID
organizationId: string; // Organization ID

createdAt: Date;
updatedAt: Date;
}

Export Status

Exports go through different status stages during the rendering process:

  • pending: Export has been created and is waiting to be processed
  • processing: Export is currently being rendered
  • completed: Export has been successfully rendered and files are available
  • failed: Export failed during rendering (error details available)

Media Types

Exports can be rendered as different media types:

  • Image: Static image files (PNG, JPEG) - single image or carousel
  • Video: Animated video files (MP4) - single video or carousel with video pages
  • PDF: PDF files for print - with or without crop marks

The media type is determined by the design's mediaType preference and the template's video support configuration.

For multi-page templates, exports can be created as carousels. Each page in the template is rendered separately, and the export contains multiple media items - one for each page. Carousel exports support mixed media types, where different pages can be images or videos depending on the template configuration.

Rendering Progress

For longer exports (especially videos or multi-page carousels), the platform tracks rendering progress. The renderProgress object provides real-time status updates for each page, showing which pages are pending, processing, or completed, along with percentage completion.

See also