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)

더 알아보기 (Learn more)