ai-coding-mines목차GitHub

Gradio Space를 REST로 직접 호출할 때

배포 · 인프라

gradio_client 패키지 없이 2단계 REST로 호출한다(런타임에 의존성 추가 불필요).

POST {base}/gradio_api/call/{fn}   body: {"data":[...]}   → event_id
GET  {base}/gradio_api/call/{fn}/{event_id}               → SSE에서 결과 URL 파싱

basehttps://{owner}-{space}.hf.space (소문자, /-).

1. 파라미터를 추측하지 말고 info로 확인한다

GET {base}/gradio_api/infonamed_endpoints에 함수명과 파라미터 순서·타입·기본값이 전부 있다.

추측으로 predict, [prompt, '', w, h, 5]를 넣었다가 전부 헛돌았다. 실제는 /generate_video[prompt, aspect_ratio(Literal 문자열), steps, negative_prompt, ...] 였다.

2. float를 보내면 error, int여야 한다

rate/pitch0.0(float)을 보내면 event: error만 뱉고 끝난다. 0(int)이면 정상. 에러 본문이 null이라 원인이 안 보인다 — 동일 요청을 타입만 바꿔 비교해야 잡힌다.

3. 토큰 없으면 error

무기명 호출은 event: error. 무료 계정의 Read 토큰이면 충분하다.

4. 결과 URL은 임시 경로다

{base}/gradio_api/file=/tmp/gradio/.../x.mp4 형태. 접근은 되지만 휘발성이므로 받아서 즉시 스토리지에 올린다.