Retrieve Output Videos

Once your project finishes processing, you can retrieve the output videos — whether they were generated in Clipping Mode (multiple short clips extracted from a long video) or Editing Mode (send a short video for clipping).

You can access finished results in two ways:

  • Polling: Periodically check project status until output videos are ready.
  • Webhook: Have Vizard automatically notify your server when processing completes.

Both modes use the same retrieval API endpoint and return structure. The only difference is:

  • Clipping Mode → the videos array will contain multiple clips
  • Editing Mode → the videos array will typically contain a single edited video

Polling Output Videos

After submitting a video (for either editing or clipping), you can retrieve the generated output by polling the project using the projectId returned during submission.

Each output includes:

  • Video download URL
  • Video duration
  • Transcript (if available)
  • Title (AI-generated or inherited)
  • Additional metadata such as viral score (Clipping Mode only)

Example Request

curl -X GET "https://elb-api.vizard.ai/hvizard-server-front/open-api/v1/project/query/{projectId}" \
     -H "VIZARDAI_API_KEY: YOUR_API_KEY"

Please replace parameter projectId in request URL with the actual projectId returned in previous step.

Example Response

{
  "code": 2000,
  "shareLink": "https://vizard.ai/project?invite=BW77vF&susId=1862&utm_source=project_share&utm_medium=project_share_email&utm_campaign=project_share_email",
  "videos": [
    {
      "videoId": 14015572,
      "videoUrl": "https://cdn-video.vizard.ai/vizard/video/export/...",
      "videoMsDuration": 80400,
      "title": "Transform Content Creation with Spark 1.0's AI Video Editing",
      "transcript": "Hi, we're here with Vizard...",
      "viralScore": "10",
      "viralReason": "This clip leverages the appeal of AI technology...",
      "relatedTopic": "[]",
      "clipEditorUrl": "https://vizard.ai/editor?id=99058552&type=clip"
    },
    ...
  ],
    "projectId": 17861706,
    "projectName" : "My first project"
}

Top-level Fields

FieldTypeDescription
codeintResponse status code. 2000 means success, 1000 means still processing.
projectIdlongThe ID of the project you queried.
projectNamestringThe name of the project you queried.
shareLinkstringShareable link to the project. Business/Team plan only.
videosarrayList of generated clips, sorted by viral score.

videos Object Fields

FieldTypeDescription
videoIdlongUnique identifier for the clip.
videoUrlstringTemporary download URL for the clip. Valid for 7 days.
videoMsDurationlongClip duration in milliseconds.
titlestringAI-generated title based on the clip content.
transcriptstringFull transcript of the clip.
viralScorestringViral score (0–10). Higher values suggest stronger engagement potential.
viralReasonstringExplanation of why the clip is considered engaging.
relatedTopicstringStringified JSON array of related keywords/topics.
clipEditorUrlstringThe URL of the web editor where you can edit this clip.

⚠️ videoUrl is a temporary download link for the clip, valid for 7 days. If it expires, simply re-query the API to obtain a new link.

Retry Behavior

If your video is still processing, the videos array may be empty. Poll the endpoint again after a few seconds. You can safely retry every 30 seconds until clips appear.

Common Status Codes

CodeMeaning
2000Success – clips retrieved
1000Still processing – try again later
4001Invalid API key
4002Clipping failed
4003Rate limit exceeded
4004Unsupported video format
4005Invalid video URL in Clipping Mode, or video too long in Editing Mode.
4006Illegal parameter
4007Insufficient account time
4008Failed to download video