import './App.css'; import * as Form from '@radix-ui/react-form'; import { PlusIcon } from '@radix-ui/react-icons'; import { Box, Button, Container, Flex, Heading, Section, TextField, } from '@radix-ui/themes'; import OpenAI from 'openai'; import { useState } from 'react'; import { client as baseClient } from './client/client.gen'; import { OpenAi } from './client/sdk.gen'; const sdk = new OpenAI({ apiKey: import.meta.env.VITE_OPENAI_API_KEY, dangerouslyAllowBrowser: true, }); baseClient.setConfig({ auth() { return import.meta.env.VITE_OPENAI_API_KEY; }, }); const client = new OpenAi({ client: baseClient, }); function App() { const [isRequiredNameError] = useState(false); const onCreateResponse = async (values: FormData) => { const stream = await sdk.responses.create({ input: values.get('input') as string, model: 'gpt-5-nano', stream: true, }); for await (const event of stream) { console.log(event); } const { data, error } = await client.createResponse({ body: { input: values.get('input') as string, model: 'gpt-5-nano', stream: true, }, }); if (error) { console.log(error); return; } console.log(data?.output); }; return (
Hey API logo @hey-api/openapi-ts 🤝 OpenAI
{ event.preventDefault(); onCreateResponse(new FormData(event.currentTarget)); }} >
Input {isRequiredNameError && ( Please enter a name )} Please enter an input
{/* */}
); } export default App;