TinyFish Agent
TinyFish Agent
TinyFish Agent API의 패스스루 엔드포인트를 소개할게요. 목표 기반 웹 자동화(goal-based web automation)를 네이티브 형식 그대로(변환 없이) 호출할 수 있는 기능이에요. 공식 TinyFish SDK의 베이스 URL만 프록시로 바꾸면 코드 수정 없이 그대로 동작합니다. 완료 상태(COMPLETED)에서 비용은 단계 수 × $0.016(num_of_steps x $0.016)로 계산되며, 모델 tinyfish/automation-run으로 기록돼요.
출처: 문서
본문
연결 대상 호스트는 https://agent.tinyfish.ai이고, 프록시를 통한 주소는 이렇게 구성돼요.
LITELLM_PROXY_BASE_URL/tinyfish
지원되는 라우트는 다음과 같아요.
/v1/automation/run
/v1/automation/run-async
/v1/automation/run-sse
/v1/runs/{id}
/v1/runs/{id}/cancel
GET /v1/runs
빠른 시작 (Quick Start)
1. 프록시에 TinyFish API 키 추가하기
TINYFISH_API_KEY 환경 변수를 설정하고, config.yaml에서 해당 모델에 use_in_pass_through: true를 지정해요.
export TINYFISH_API_KEY="your-tinyfish-api-key"
2. 자동화 실행하기
curl http://localhost:4000/tinyfish/v1/automation/run \
-H "X-API-Key: $LITEL...KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://scrapeme.live/shop",
"goal": "Extract the first 2 product names and prices. Return JSON."
}'
응답은 다음과 같아요.
{
"run_id": "1e7d076e-c464-4f13-8edf-817e9cd78a8b",
"status": "COMPLETED",
"started_at": "2026-09-14T17:59:19.562Z",
"finished_at": "2026-09-14T18:00:20.438Z",
"num_of_steps": 2,
"result": {"result": [{"name": "Bulbasaur", "price": "£63.00"}, {"name": "Ivysaur", "price": "£87.00"}]},
"error": null
}
3. 또는 공식 TinyFish SDK 사용하기
SDK의 base_url을 /tinyfish 경로로 지정하고, X-API-Key 대신 LiteLLM 키를 쓰면 돼요.
from tinyfish import TinyFish
client = TinyFish(
base_url="http://localhost:4000/tinyfish",
api_key="sk-you...-key",
)
run = client.agent.run(
url="https://scrapeme.live/shop",
goal="Extract the first 2 product names and prices. Return JSON.",
)
print(run.status, run.num_of_steps, run.result)
4. 로그 확인하기
실행 이벤트는 tinyfish / tinyfish/automation-run 태그로 로그에 기록돼요.
비용 추적 (Spend Tracking)
비용은 num_of_steps x $0.016로 계산돼요.
POST /v1/automation/run,POST /v1/automation/run-async호출 후,GET /v1/runs/{id}폴링으로 작업 상태를 확인해요.POST /v1/automation/run-sse는 SSE 스트림 종료까지 대기한 뒤 비용을 계산해요.- 작업 상태가
COMPLETED,FAILED,CANCELLED중 하나가 되면GET /v1/runs/{id}에서 단계 수를 읽어 비용을 기록해요.
단계당 비용은 TINYFISH_COST_PER_STEP 환경 변수로 바꿀 수 있어요.
인증 실행 (Authenticated Runs)
로그인이 필요한 페이지를 자동화하려면 use_vault(자격 증명 항목 credential_item_ids) 또는 use_profile(profile_id) 옵션을 쓸 수 있어요. 이를 위해선 TINYFISH_ALLOW_AUTHENTICATED_RUNS=true를 설정해야 해요. 요청 본문의 custom_body, stream, query_params가 필요할 때는 general_settings에서도 구성이 가능합니다.
타임아웃 (Timeouts)
general_settings.pass_through_request_timeout으로 패스스루 요청 타임아웃을 조절할 수 있어요.
환경 변수 (Environment Variables)
| 변수 | 설명 |
|---|---|
TINYFISH_API_KEY |
TinyFish API 키 |
TINYFISH_AGENT_API_BASE |
Agent API 베이스 URL (기본: https://agent.tinyfish.ai) |
TINYFISH_COST_PER_STEP |
단계당 비용 |
TINYFISH_ALLOW_AUTHENTICATED_RUNS |
인증 실행 허용 여부 (true) |