Skip to main content
POST
/
api
/
public
/
v1
/
export
/
start
curl -X POST "https://app.hoox.video/api/public/v1/export/start" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "video_id": "vid_xyz789",
    "format": "vertical",
    "webhook_url": "https://your-app.com/webhooks/export"
  }'
{
  "job_id": "export_abcd1234",
  "status": "pending",
  "estimated_credits": 0
}

Overview

This endpoint exports a completed video to a downloadable MP4 file. Use this after your video generation is complete to get the final downloadable video file.

Authentication

This endpoint requires API key authentication. Export costs may apply depending on how the video was created.

Request Body

video_id
string
required
The video ID returned from completed video generation.
format
string
Export format override: vertical (9:16), ads (4:5), square (1:1), horizontal (16:9), or custom. If not specified, uses the original video format.
width
number
Custom video width in pixels (max 5000). Only used when format is custom. Defaults to 1080.
height
number
Custom video height in pixels (max 5000). Only used when format is custom. Defaults to 1920.
avatar_model
string
Avatar model quality: standard, premium, ultra, veo-3-fast, or veo-3. Available models for each avatar are returned in the model_available field when fetching avatars from the resources endpoint. If not specified, the system automatically selects the best default model for your avatar (standrd or premium).
webhook_url
string
URL to receive webhook notifications when export completes.

Response

job_id
string
Unique identifier for the export job.
status
string
Current job status: pending.
estimated_credits
number
Estimated credit cost for this export (0 for API-generated videos).
curl -X POST "https://app.hoox.video/api/public/v1/export/start" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "video_id": "vid_xyz789",
    "format": "vertical",
    "webhook_url": "https://your-app.com/webhooks/export"
  }'
{
  "job_id": "export_abcd1234",
  "status": "pending",
  "estimated_credits": 0
}

Export Formats

Vertical (9:16)

1080x1920 Perfect for TikTok, Instagram Stories, YouTube Shorts

Ads (4:5)

1080x1350 Best for Instagram ads, Facebook ads, LinkedIn ads

Square (1:1)

1080x1080 Ideal for Instagram posts, Facebook, LinkedIn

Horizontal (16:9)

1920x1080 Perfect for YouTube, websites, presentations

Custom

Custom dimensions Set your own width and height (max 5000px each)

Credit Costs

Export costs depend on how the video was created, resolution, and which avatar model you choose:

Base Export Cost

  • API-generated videos: 0 credits for base export (included in generation)
  • Dashboard-created videos: 5 credits per 30 seconds

High Resolution Cost

Additional charges apply for videos with resolution exceeding 1080p (width > 1920px OR height > 1080px):
  • High resolution surcharge: 2.5 credits per 30 seconds of video
This surcharge applies to both API-generated and dashboard-created videos when exporting at high resolutions.

Avatar Model Costs

Avatar costs apply only when your video includes an avatar. Cost calculation varies by model type:

Standard

FreeBasic avatar quality with no additional cost.

Premium

0.8 credits/secHighly realistic and dynamic avatars. Billed per second of avatar visibility.Available from Start plan

Ultra

2.3 credits/secEnhanced realism with longer processing time. Billed per second of avatar visibility.Enterprise plan only

Veo 3 Fast

2.3 credits/secGoogle Veo 3 Fast model for quick generation. Billed per avatar segment (each segment = 8 seconds).Available from Start plan

Veo 3

5 credits/secGoogle Veo 3 standard model for highest quality. Billed per avatar segment (each segment = 8 seconds).Available from Start plan
Billing difference: Premium and Ultra models bill based on avatar visibility duration, while Veo models bill based on avatar segments (each segment is billed at 8 seconds).
All costs are calculated separately. Total cost = Base export cost + High resolution cost + Avatar cost.
Example 1: A 60-second API video with 40 seconds of avatar visibility using the Premium model:
  • Base export (API video): 0 credits
  • Avatar cost: 40s × 0.8 = 32 credits (avatar visibility duration)
  • Total: 32 credits
Example 2: A 60-second API video with 3 avatar segments using Veo 3 Fast:
  • Base export (API video): 0 credits
  • Avatar cost: 3 segments × 8 seconds × 2.3 = 55.2 credits
  • Total: 55.2 credits
Example 3: A 60-second API video exported at 3840x2160 (4K):
  • Base export (API video): 0 credits
  • High resolution cost: 2 × 2.5 = 5 credits (60s = 2 segments of 30s)
  • Total: 5 credits
Example 4: A 90-second dashboard video at 4K with 60 seconds of Premium avatar:
  • Base export: 3 × 5 = 15 credits (90s = 3 segments of 30s)
  • High resolution cost: 3 × 2.5 = 7.5 credits
  • Avatar cost: 60s × 0.8 = 48 credits (avatar visibility)
  • Total: 70.5 credits

Prerequisites

Before exporting a video:
  1. Video must be completed: Check generation status is completed
  2. Valid video_id: Use the video_id from generation result
  3. Video ownership: Video must belong to your space

Next Steps

After starting an export:
  1. Monitor Progress: Use /export/status/{jobId} to check export progress
  2. Download Video: Get the download URL when export completes
  3. Webhook Integration: Set up webhooks for automatic notifications

Error Codes

  • MISSING_VIDEO_ID: video_id parameter is required
  • VIDEO_NOT_FOUND: Video with specified ID doesn’t exist
  • UNAUTHORIZED_VIDEO: Video doesn’t belong to your space
  • VIDEO_NOT_READY: Video generation must be completed first
  • INVALID_FORMAT: Invalid export format specified
  • INVALID_AVATAR_MODEL: Invalid avatar model specified
  • INCOMPATIBLE_AVATAR_MODEL: Avatar model not compatible with this avatar
  • INVALID_PARAMETER: avatar_model cannot be used when video has no avatar
  • INSUFFICIENT_CREDITS: Not enough credits for export (dashboard videos only)