import Pusher from "pusher-js";
const pusher = new Pusher("modelbeam-prod-key", {
wsHost: "soketi.modelbeam.ai",
wsPort: 443,
wssPort: 443,
forceTLS: true,
enabledTransports: ["ws", "wss"],
authEndpoint: "https://api.modelbeam.ai/broadcasting/auth",
auth: {
headers: {
Authorization: "Bearer YOUR_API_KEY",
Accept: "application/json",
},
},
});
// Subscribe to your private channel
const channel = pusher.subscribe(`private-client.${clientId}`);
channel.bind("request.status.updated", (data) => {
console.log("Status update:", data);
if (data.status === "done") {
console.log("Result URL:", data.result_url);
}
if (data.preview) {
// Display base64 preview image
document.getElementById("preview").src = `data:image/jpeg;base64,${data.preview}`;
}
});
// Handle connection events
pusher.connection.bind("connected", () => {
console.log("Connected to ModelBeam WebSocket");
});
pusher.connection.bind("error", (err) => {
console.error("WebSocket error:", err);
});