BrandApp Control Center
brandapp-ui - Control
createReoptEavClientcreateReoptTermsClient
Text-to-image studio combining brandapp-sdk image generation with opt-ui primitives.
Image Studio
brandapp-sdk × opt-ui
최근 생성
Server route (required)
Surface는 fetch(generateEndpoint)로 아래 라우트를 호출합니다.sdk.ai.generateImage는 Vercel Blob URL과 크레딧 사용량을 반환합니다.
// app/api/brandapp-image/route.ts
import "server-only";
import { createLazySDK, isReoptSDKError } from "@reopt-ai/brandapp-sdk";
import type { ReoptImageGenerateRequest } from "@/components/reopt-ai-image-studio";
const sdk = createLazySDK(() => ({
clientId: process.env.BRANDAPP_CLIENT_ID!,
clientSecret: process.env.BRANDAPP_CLIENT_SECRET!,
brandappId: process.env.BRANDAPP_ID!,
}));
export async function POST(req: Request) {
const body = (await req.json()) as ReoptImageGenerateRequest;
try {
return Response.json(await sdk.ai.generateImage(body));
} catch (error) {
// typed 에러 code를 내려주면 Surface가 친화 메시지로 매핑합니다.
if (isReoptSDKError(error)) {
return Response.json(
{ error: { code: error.code, message: error.message } },
{ status: error.status },
);
}
throw error;
}
}generateImage 응답의 Vercel Blob URL을 그대로 렌더합니다.