커스텀 UI 개방
Any Custom Frontend with Gradio's Backend
·2026.04.01 09:00
핵심 내용
Gradio UI 없이도 커스텀 프런트엔드를 Gradio 백엔드와 결합한다.
자세히 보기
gradio.Server가 FastAPI 확장 형태로 공개되며, Gradio의 큐잉, 동시성 제어, SSE 스트리밍, gradio_client 호환성, ZeroGPU 지원을 그대로 유지한 채 React, Svelte, 또는 순수 HTML/JS 프런트엔드를 붙일 수 있게 됐다.
예시로 소개된 Text Behind Image 앱은:
- 드래그 앤 드롭 캔버스와 레이어 렌더링으로 배경, 텍스트, 전경을 분리해 다룸
- 글꼴 크기, 굵기, 자간, 색상, 투명도, 스트로크, 그림자, 3D extrusion, perspective transform 등 20개 이상 컨트롤을 제공함
- 백엔드에서 BiRefNet 배경 제거 모델을 돌려 투명 PNG를 생성함
- 클라이언트에서 PNG export를 처리함
백엔드는 약 50줄 수준으로 구성된다. @spaces.GPU가 GPU 할당을 맡고, @app.api("remove_background")가 Gradio의 큐잉 엔진을 타는 API 엔드포인트를 제공한다. 일반 FastAPI 라우트인 @app.get("/")는 정적 index.html을 서빙한다.
프런트엔드는 Gradio JS Client로 백엔드와 통신한다. Client.connect(window.location.origin) 뒤 predict("/remove_background", ...)를 호출하면 요청이 Gradio 큐를 통과하므로, GPU 충돌 없이 병렬 요청을 관리할 수 있다.
핵심 변화는 명확하다. Gradio의 인프라를 포기하지 않고도, 디자인 자유도가 높은 맞춤형 웹앱을 만들 수 있게 됐다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.