Shuffll Workflow Overview
Shuffll enables seamless AI-powered video creation, allowing businesses and developers to generate, enhance, and export videos automatically.
Integration Options
You can integrate Shuffll in two ways:
1οΈβ£ Shuffll API β For full programmatic control over the video creation process.
2οΈβ£ Shuffll iFrame β Embed Shuffllβs project creation wizard directly into your application.
API Approaches
For API users, there are two different approaches depending on how much control you need:
πΉ 1. Full Sequence: Step-by-Step Control
Use separate API calls for each stage:
- Create Project β Monitor Status β Enhance β Export β Retrieve URL
- Ideal for applications requiring custom processing, additional editing, or detailed progress tracking.
πΉ 2. AutoEnhance + AutoExport with Webhooks: Full Automation
Use a single API call to create a project and let Shuffll handle everything else automatically.
- AutoEnhance applies branding, effects, subtitles, and post-production automatically.
- AutoExport finalizes and delivers a ready-to-publish video.
- Webhooks notify you when each stage is completedβno need for polling.
- Ideal for high-volume automation and reducing API calls.
Polling vs Webhook Flowchart
Shuffll provides two ways to automate video creation:
1οΈβ£ Polling-Based Workflow β Requires multiple API calls to check status at each stage.
2οΈβ£ Webhook-Based Workflow β Uses event-driven automation to reduce API calls and fully automate the process.\
π οΈ Polling Workflow
- Create Project β Call
POST /project/create
- Check Status β Poll
GET /project/{projectId}/status
- Enhance Video β Call
POST /project/{projectId}/enhance
- Check Enhancement Status β Poll
GET /project/{projectId}/enhance/status
- Export Video β Call
POST /project/{projectId}/export
- Check Export Status β Poll
GET /project/{projectId}/export/status
- Retrieve Final Video URL
πΉ More API calls but granular control over each phase.
Webhook-Based Workflow (AutoEnhance + AutoExport)
- Create Project β Call
POST /project/create
- Webhook Notifies Enhancement is Complete
- Webhook Notifies Export is Complete
- Retrieve Final Video URL
πΉ Fewer API calls and fully automated with webhooks.
When to Use Polling vs. Webhooks?
Feature | Polling Workflow | Webhook Workflow |
---|---|---|
Granular Control | β Yes | β No |
Minimizes API Calls | β No | β Yes |
Real-Time Status Checking | β Yes | β No |
Ideal for Large-Scale Automation | β No | β Yes |
Requires Webhook Support | β No | β Yes |
Choose Polling if you need full control, custom logic, or manual intervention.
Choose Webhooks if you want hands-free, fully automated video creation.
The Full Video Creation Process
Shuffll follows a structured workflow with the following steps:
1οΈβ£ Project Creation β Define the idea, create a script, and structure a storyline.
2οΈβ£ Video Generation β Turn the storyline into a full video using AI-driven media creation.
3οΈβ£ Enhancement & Post-Production β Add branding, animations, subtitles, and optimize audio.
4οΈβ£ Export & Publishing β Finalize and distribute the polished video.
iFrame vs. API: Which One to Choose?
Feature | API Integration | iFrame Integration |
---|---|---|
Customization | Full control over every step | Pre-built, ready-to-use UI |
Ease of Use | Requires API development | No-code, easy embedding |
Automation | Can be manual or automated | Fully guided video creation |
Best For | Developers & advanced automation | Platforms wanting to offer video creation as a service |
Webhook Handling Example
Example: Handling a Webhook Notification (Node.js)
const express = require("express");
const app = express();
app.use(express.json());
app.post("/webhook", (req, res) => {
const { event, projectId, videoUrl } = req.body;
if (event === "video_ready") {
console.log(`Video is ready: ${videoUrl}`);
}
res.status(200).send("Webhook received");
});
app.listen(3000, () => console.log("Webhook server running on port 3000"));
This example listens for webhooks and logs when a video is ready.
Full API Workflow Example (AutoEnhance + AutoExport)
Example: Creating a Video with Webhooks, AutoEnhance and AutoExport (Node.js)
# Step 1: Create a Project with AutoEnhance & AutoExport
curl -X POST "https://dapi.shuffllmedia.com/api/v1/project/create" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "How AI is revolutionizing marketing",
"templateId": "123456",
"videoTagId": "Marketing",
"autoEnhance": true,
"autoExport": true,
"webhookUrl": "https://yourserver.com/webhook"
}'
# Step 2: Wait for Webhook Notifications (Your server automatically receives updates)
# Step 3: Retrieve Final Video URL from Webhook Response
This example creates a project with AutoEnhance and AutoExport, and then waits for webhooks to notify you when the video is ready.
Troubleshooting
Webhook Not Triggering? πΉ Ensure the webhook URL is publicly accessible. πΉ Check firewall rules that might block incoming requests.
Polling Causing Rate Limits? πΉ Implement exponential backoff (wait longer between requests). πΉ Consider switching to webhooks for automation.
iFrame Not Loading? πΉ Ensure your embedding domain is whitelisted.
Next Steps
API Integration β Learn how to implement the API step by step. iFrame Integration β Learn how to embed Shuffllβs project creation wizard in your app. Webhook Guide β Set up automation without polling.
Ready to start? Letβs create your first video!
Final Enhancements
β Single-file format for easy access.
β Polling vs. Webhooks Flowchart included.
β iFrame vs. API Table for clear decision-making.
β Webhook Example (Node.js) for event-driven automation.
β Full API Workflow Example (cURL) for automation.
β Troubleshooting Section to solve common issues.