Learn how to create videos with AI-generated visuals using the Visla OpenAPI. For stock-footage-based video creation, see Video Creation Process.
How the AIGC Pipeline Works
The AIGC pipeline splits your video into scenes and produces visuals in two stages:
- Storyboard image generation — For each scene, the AI generates a still image based on your script, chosen visual style, object and environment descriptions, and optional reference images.
- Motion video generation — Each storyboard image is animated into a short motion video clip.
Both stages run asynchronously. Track per-scene progress via the scene status API or receive webhooks on completion.
You can let the pipeline run end-to-end automatically, or take manual control: generate storyboards first, review them scene-by-scene, regenerate any frames you don't like, and then trigger motion video generation only when ready.
Choose a Visual Style
Before creating an AIGC project, browse the available visual styles. The style you choose controls the look and feel of every generated storyboard image.
- List all AIGC styles — see
GET /openapi/v1/project/list-aigc-style
Create an AIGC Video Project
Start the pipeline by creating a project. Provide your script, pick a visual style, and decide whether motion videos should be generated automatically.
For full request and response details, see:
- Create an AIGC video project — returns a project UUID.
- Create an AIGC video and auto-export to clip — returns both a project and a clip; the clip is populated and exported automatically when the pipeline finishes.
Two control modes
The aigc_config object controls how far the pipeline runs without you:
| Mode | auto_generate_motion_video | What happens |
|---|---|---|
| Automatic | true | After storyboards finish, motion videos are generated for all scenes automatically. You only need to wait for the final webhook. |
| Manual | false (default) | The pipeline stops after storyboard images. You review each scene, optionally regenerate frames, then call the motion video endpoint yourself when ready. |
Use Manual mode when you want full control over each storyboard frame before committing to motion video generation (which is the more time- and credit-intensive step).
Key Workflow Steps
Automatic mode
| Step | Endpoint | Purpose | Wait Time |
|---|---|---|---|
| 1 | POST /openapi/v1/project/generate-aigc-video | Create project, start storyboard + motion pipeline | Async |
| 2 | (webhook) project_generation | Storyboards and motion videos complete | 3–10 min |
| 3 | POST /openapi/v1/project/{projectUuid}/export-video | Export the finished video as a clip | Async via webhook |
If you used generate-aigc-video-to-clip, step 3 is handled for you — the clip is created and exported automatically, and you receive both project_generation and project_export webhooks.
Manual mode
| Step | Endpoint | Purpose | Wait Time |
|---|---|---|---|
| 1 | POST /openapi/v1/project/generate-aigc-video | Create project, start storyboard generation | Async |
| 2 | (webhook) project_generation | Storyboard images complete | 1–5 min |
| 3 | GET /openapi/v1/project/{projectUuid}/scene-aigc-info | Review per-scene storyboard status & images | Instant |
| 4 | POST /openapi/v1/project/{projectUuid}/scene/generate-motion-video | Generate motion videos for all (or selected) scenes | Async |
| 5 | (webhook) project_generation | Motion videos complete | 2–10 min |
| 6 | POST /openapi/v1/project/{projectUuid}/export-video | Export the finished video as a clip | Async via webhook |
Scene-Level Status Tracking
The GET /openapi/v1/project/{projectUuid}/scene-aigc-info endpoint returns per-scene AIGC status, so you can see exactly where each scene is in the pipeline.
Each scene reports two items — storyboard and motion video — each with its own status:
| Status | Meaning |
|---|---|
processing | Generation in progress — wait |
completed | Succeeded; the asset URL is available |
failed | Generation failed — you can regenerate |
Poll this endpoint (or listen for webhooks) to decide when to move to the next step.
Handling Failures
Both storyboard and motion video generation can occasionally fail for individual scenes. Visla provides dedicated endpoints to retry without re-running the whole pipeline.
Regenerate motion video for a scene
If a scene's motion video failed (or you want to re-animate an existing frame), use the unified motion video endpoint with force_regenerate:
- See
POST /openapi/v1/project/{projectUuid}/scene/generate-motion-video- Set
force_regenerate: trueto overwrite an existing motion video. - Set
force_regenerate: false(default) to only generate motion videos that are missing or failed.
- Set
Webhook Notifications
AIGC generation is asynchronous. Register a completion_webhook URL when you create the project (or call a generate endpoint) to be notified when each stage finishes.
See Webhook Notifications for the payload structure and event types.
| Event | Trigger |
|---|---|
project_generation | Storyboard images complete (manual mode), or storyboard + motion video complete (automatic mode) |
project_export | The exported clip is ready for download |