webhooks
Webhook notifications for render completion and file processing events. Configure endpoints, verify HMAC signatures, and handle real-time status payloads.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Webhook notifications for render completion and file processing events. Configure endpoints, verify HMAC signatures, and handle real-time status payloads.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | webhooks |
| description | Webhook notifications for render completion and file processing events. Configure endpoints, verify HMAC signatures, and handle real-time status payloads. |
| license | MIT |
| metadata | {"author":"editframe","version":"2.0"} |
Receive real-time HTTP notifications when renders complete, files finish processing, or other asynchronous events occur in your Editframe account.
// 1. Create an API key with webhook configuration
const apiKey = await createApiKey({
name: "My App",
webhookUrl: "https://your-app.com/webhooks/editframe",
webhookEvents: ["render.completed", "render.failed"]
});
// 2. Store the webhook secret for signature verification
const webhookSecret = apiKey.webhook_secret;
// 3. Handle webhook requests
app.post("/webhooks/editframe", async (req, res) => {
const signature = req.headers["x-webhook-signature"];
const payload = JSON.stringify(req.body);
// Verify signature
const expectedSignature = crypto
.createHmac("sha256", webhookSecret)
.update(payload)
.digest("hex");
if (signature !== expectedSignature) {
return res.status(401).send("Invalid signature");
}
// Process event
const { topic, data } = req.body;
if (topic === "render.completed") {
console.log(`Render ${data.id} completed!`);
console.log(`Download: ${data.download_url}`);
}
res.status(200).send("OK");
});
Webhooks are triggered for specific event topics:
render.created — Render job createdrender.pending — Render queued for processingrender.rendering — Render is actively processingrender.completed — Render successfully finishedrender.failed — Render encountered an errorRender event payloads include expires_at (null for permanent renders).
file.created — File record createdfile.uploading — File is being uploadedfile.processing — File is being processed (video only)file.ready — File is ready for usefile.failed — File processing failedFile event payloads include expires_at (null for permanent uploads, or an ISO 8601 datetime). See references/events.md and editframe-api references/files.md for retention rules.
unprocessed_file.created — Unprocessed file created (deprecated)Configure webhooks when creating or updating an API key:
Webhook URL: The HTTPS endpoint where Editframe will send POST requests Webhook Events: Array of event topics you want to receive Webhook Secret: Auto-generated HMAC secret for signature verification
See references/getting-started.md for detailed setup instructions.
All webhook requests include an X-Webhook-Signature header containing an HMAC-SHA256 signature. Always verify this signature before processing webhook payloads.
See references/security.md for signature verification implementation.
Test your webhook endpoint before going live:
# Use the Editframe dashboard to send test webhooks
# Or trigger test events via the API
See references/testing.md for testing strategies including local development with ngrok.
Common issues and solutions:
See references/troubleshooting.md for detailed debugging guidance.
Create video compositions with Editframe using HTML web components or React. Supports video, audio, images, text, captions, transitions, and cloud rendering.
JavaScript/TypeScript SDK for Editframe's video rendering API. Create renders, upload video and image files, manage assets, and sign URLs for playback.
Build video editing interfaces with Editframe's GUI components. Assemble timeline, scrubber, filmstrip, preview, playback controls, and transform handles into custom editing UIs. Use when building video editors, editing tools, or when working with timeline, scrubber, preview, playback controls, volume, mute, fullscreen, picture-in-picture, resolution, trim handles, hierarchy, or editor UIs.