Search
Code3,174
# hello-realtimeHello Realtime is a complete OpenAI Realtime application that supports both WebRTC and SIP users.You can access the app via WebRTC at https://hello-realtime.val.run, or via SIP by calling 425-800-0042.This demo shows off the new SIP API, the new all-in-one WebRTC API, and the new server-side websocket interface.If you remix the app, you'll just need to pop in your own OPENAI_API_KEY (from platform.openai.com), and also the OPENAI_SIGNING_SECRET if you want to use the SIP interface.
observer.post("/:callId", async (c) => { const callId = c.req.param("callId"); const url = `wss://api.openai.com/v1/realtime?call_id=${callId}`; const ws = new WebSocket(url, { headers: makeHeaders() }); ws.on("open", () => {
<meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>OpenAI Realtime API Voice Agent</title> <style> :root {
const MODEL = "gpt-realtime";const INSTRUCTIONS = ` Greet the user in English, and thank them for trying the new OpenAI Realtime API. Give them a brief summary based on the list below, and then ask if they have any questions. Answer questions using the information below. For questions outside this scope, - higher audio quality - improved handling of alphanumerics (eg, properly understanding credit card and phone numbers) - support for the OpenAI Prompts API - support for MCP-based tools - auto-truncation to reduce context sizeconst VOICE = "marin";const OPENAI_API_KEY = Deno.env.get("OPENAI_API_KEY");if (!OPENAI_API_KEY) { throw new Error("🔴 OpenAI API key not configured");}export function makeHeaders(contentType?: string) { const obj: Record<string, string> = { Authorization: `Bearer ${OPENAI_API_KEY}`, }; if (contentType) obj["Content-Type"] = contentType;
sip.post("/", async (c) => { // Verify the webhook. const OPENAI_SIGNING_SECRET = Deno.env.get("OPENAI_SIGNING_SECRET"); if (!OPENAI_SIGNING_SECRET) { console.error("🔴 webhook secret not configured"); return c.text("Internal error", 500); } const webhook = new Webhook(OPENAI_SIGNING_SECRET); const bodyStr = await c.req.text(); let callId: string | undefined; // Accept the call. const url = `https://api.openai.com/v1/realtime/calls/${callId}/accept`; const headers = makeHeaders("application/json"); const body = JSON.stringify(makeSession());
rtc.post("/", async (c) => { // Create the call. const url = "https://api.openai.com/v1/realtime/calls"; const headers = makeHeaders(); const fd = new FormData();
# hello-realtimeHello Realtime is a complete OpenAI Realtime application that supports both WebRTC and SIP users.You can access the app via WebRTC at https://hello-realtime.val.run, or via SIP by calling 425-800-0042.This demo shows off the new SIP API, the new all-in-one WebRTC API, and the new server-side websocket interface.If you remix the app, you'll just need to pop in your own OPENAI_API_KEY (from platform.openai.com), and also the OPENAI_SIGNING_SECRET if you want to use the SIP interface.
observer.post("/:callId", async (c) => { const callId = c.req.param("callId"); const url = `wss://api.openai.com/v1/realtime?call_id=${callId}`; const ws = new WebSocket(url, { headers: makeHeaders() }); ws.on("open", () => {
<meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>OpenAI Realtime API Voice Agent</title> <style> :root {
const curl = [ 'curl --request POST \\\n' + ' --url https://api.groq.com/openai/v1/chat/completions \\\n' + ` --header 'authorization: Bearer ${apiKey}' \\\n` + " --header 'content-type: application/json' \\\n" +async function convertAnalysisToJson(apiKey, email, analysisText) { try { const convModel = 'openai/gpt-oss-20b'; const convSys = [ 'You convert analysis text into a strict JSON object. Do not browse or call tools.', { role: 'user', content: 'Email: ' + email + '\nTask: web search legitimacy check.' } ]; const model = 'openai/gpt-oss-20b'; const payload = { model, messages, stream: false, temperature: 0.2, tools: [{ type: 'browser_search' }] }; const r1 = await groqChatCompletion(apiKey, payload);async function finalJudgeAssess(apiKey, email, systemPrompt, evidence) { console.log('>> [final judge] evidence:', email, JSON.stringify(evidence)); const model = 'openai/gpt-oss-120b'; const schema = '{ "status": "person_high|person_low|person_none|spam", "message": string, "explanation_short": string, "evidence": string[] }'; const sys = [
reconsumeralization
import { OpenAI } from "https://esm.town/v/std/openai";
import { sqlite } from "https://esm.town/v/stevekrouse/sqlite";
/**
* Practical Implementation of Collective Content Intelligence
* Bridging advanced AI with collaborative content creation
*/
exp
kwhinnery_openai
lost1991
import { OpenAI } from "https://esm.town/v/std/openai";
export default async function(req: Request): Promise<Response> {
if (req.method === "OPTIONS") {
return new Response(null, {
headers: {
"Access-Control-Allow-Origin": "*",
No docs found