# APICK AI

> LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation

- name: app.apick/ai
- version: 3.5.0
- connection class: R0 (autonomous)
- trust: 92/100 flags: duplicate-repo
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.apick%2Fai
- tools: https://api.protogrid.dev/v1/servers/app.apick%2Fai/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ai": {
      "type": "http",
      "url": "https://apick.app/mcp/ai",
      "headers": {
        "Authorization": "Bearer ${AI_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${AI_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-15d-ago -duplicate-repo(10 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 15 of 15 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 6 of 15 tools declare all four hints; missing: text_summary (destructiveHint, idempotentHint); text_polish (destructiveHint, idempotentHint); seedance_jobs_status (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 6,692 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 16 tool changes in 30 days
- fail `stability.rug_pull`: 7 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 15, about 6,692 tokens to load them all
- tool set hash: 1c20e0281625577f412622eb07e263a5
- tools last changed: 2026-10-15T07:55:06.166Z
- badge: [![protogrid quality](https://protogrid.dev/badge/app.apick/ai.svg)](https://protogrid.dev/servers/app.apick/ai)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `text_polish` changed (description)
  - before: Polish a text (up to 100,000 characters) by fixing grammar, spelling, and awkward phrasing. 입력 텍스트(최대 10만 자)의 문법 오류, 맞춤법·오타, 어색한 표현, 문장 순서를 의미를 유지한 채 자연스럽게 다듬습니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 토큰 수와 무관하게 요청당 고정 포인트가 차감됩니다. [호출당 100포인트]
  - after: Polish a text (up to 100,000 characters) by fixing grammar, spelling, and awkward phrasing. 입력 텍스트(최대 10만 자)의 문법 오류, 맞춤법·오타, 어색한 표현, 문장 순서를 의미를 유지한 채 자연스럽게 다듬습니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 요청당 기본 100포인트이며, 사용량 금액(원가 × 환율 × 1.4)이 더 크면 그 금액이 차감됩니다. [호출당 100포인트]
- 2026-10-15 `text_summary` changed (description)
  - before: Summarize a long text (up to 100,000 characters) into a concise Korean summary. 입력 텍스트(최대 10만 자)의 핵심 내용을 간결하고 정확하게 요약합니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 토큰 수와 무관하게 요청당 고정 포인트가 차감됩니다. [호출당 100포인트]
  - after: Summarize a long text (up to 100,000 characters) into a concise Korean summary. 입력 텍스트(최대 10만 자)의 핵심 내용을 간결하고 정확하게 요약합니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 요청당 기본 100포인트이며, 사용량 금액(원가 × 환율 × 1.4)이 더 크면 그 금액이 차감됩니다. [호출당 100포인트]
- 2026-10-15 `llm_chat` changed (description)
  - before: Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 토큰 사용량에 비례해 포인트가 차감됩니다. [토큰 원가×환율×1.4, 소수점 올림(요청당 기본 5P·2026-11-06부터, 그 전 최소 1P)]
  - after: Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 한 요청 안에서 쓰인 토큰 사용량(긴 대화의 이전 내용을 정리하는 처리 포함)에 비례해 포인트가 차감됩니다. [토큰 원가×환율×1.4, 소수점 올림(요청당 기본 5P·2026-11-06부터, 그 전 최소 1P)]
- 2026-10-12 `llm_chat` changed (inputSchema)
- 2026-10-06 `llm_chat` changed (description)
  - before: Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 토큰 사용량에 비례해 포인트가 차감됩니다. [무료]
  - after: Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 토큰 사용량에 비례해 포인트가 차감됩니다. [토큰 원가×환율×1.4, 소수점 올림(요청당 기본 5P·2026-11-06부터, 그 전 최소 1P)]
- 2026-10-06 `image_batch_create` changed (description, inputSchema, annotations) **meaning changed**
  - before: 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 상한을 예약하고 성공분의 실제 요금을 정산하며, 접수 후에는 취소할 수 없습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]
  - after: 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며 장수만큼 선차감하고 실패한 장은 환급합니다. 같은 요청도 매번 새 작업으로 접수하며, 접수 후에는 취소할 수 없습니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- 2026-10-06 `image_edit` changed (description, inputSchema, annotations) **meaning changed**
  - before: 원본 이미지와 편집 지시로 이미지 한 장을 편집합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]
  - after: 원본 이미지와 편집 지시로 이미지 한 장을 편집합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며, 같은 요청을 다시 보내도 매번 새로 편집하고 과금합니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- 2026-10-06 `image_generate` changed (description, inputSchema, annotations) **meaning changed**
  - before: 텍스트만 사용하거나 참고 이미지와 텍스트를 함께 사용해 이미지 한 장을 생성합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]
  - after: 텍스트만 사용하거나 참고 이미지와 텍스트를 함께 사용해 이미지 한 장을 생성합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며, 같은 요청을 다시 보내도 매번 새로 생성하고 과금합니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- 2026-10-05 `kling_jobs_create` changed (inputSchema)
- 2026-10-04 `image_batch_create` changed (description)
  - before: 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 접수 즉시 장수×40포인트가 선차감되고 실패한 이미지의 포인트는 즉시 환급됩니다. 접수 후에는 취소할 수 없습니다. [이미지당 40포인트]
  - after: 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 상한을 예약하고 성공분의 실제 요금을 정산하며, 접수 후에는 취소할 수 없습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]

Full history: https://api.protogrid.dev/v1/servers/app.apick%2Fai/changes

## Remotes

- https://apick.app/mcp/ai (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (15)

- `image_batch_create`: 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며 장수만큼 선차감하고 실패한 장은 환급합니다. 같은 요청도 매번 새 작업으로 접수하며, 접수 후에는 취소할 수 없습니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- `image_batch_result`: 완료된 대량 작업 결과 중 지정한 한 장을 이미지 콘텐츠로 반환합니다. [무료]
- `image_batch_status`: 대량 이미지 작업의 진행 상태, 선차감·환급·현재 차감 포인트를 조회합니다. [무료]
- `image_edit`: 원본 이미지와 편집 지시로 이미지 한 장을 편집합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며, 같은 요청을 다시 보내도 매번 새로 편집하고 과금합니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- `image_generate`: 텍스트만 사용하거나 참고 이미지와 텍스트를 함께 사용해 이미지 한 장을 생성합니다. 요금은 품질별 장당 고정가(기본 40P·고급 350P·최고급 1,400P)이며, 같은 요청을 다시 보내도 매번 새로 생성하고 과금합니다. [장당 기본 40P · 고급 350P · 최고급 1,400P]
- `kling_jobs_create`: Submit an asynchronous Kling video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Kling 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, kling_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 410포인트가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 410포인트 × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]
- `kling_jobs_status`: Check the status of a Kling video generation job submitted via kling_jobs_create. Kling 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]
- `llm_chat`: Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 한 요청 안에서 쓰인 토큰 사용량(긴 대화의 이전 내용을 정리하는 처리 포함)에 비례해 포인트가 차감됩니다. [토큰 원가×환율×1.4, 소수점 올림(요청당 기본 5P·2026-11-06부터, 그 전 최소 1P)]
- `llm_models`: List available text-generation LLM models with per-token pricing and max context. 텍스트 생성 모델 카탈로그를 반환합니다. 각 모델의 1M 토큰당 input/output 단가(포인트), 계열·크기·멀티모달 여부·태그·추천 용도(use_cases)·max_context 를 한 응답에 포함합니다. llm_chat Tool의 model 입력값을 찾을 때 사용합니다. 무료입니다. [무료]
- `seedance_jobs_create`: Submit an asynchronous Seedance video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Seedance 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, seedance_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 포인트(해상도별로 다름, resolution 참고)가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 480p 560P·720p 1,250P·1080p 2,810P × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]
- `seedance_jobs_status`: Check the status of a Seedance video generation job submitted via seedance_jobs_create. Seedance 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]
- `text_polish`: Polish a text (up to 100,000 characters) by fixing grammar, spelling, and awkward phrasing. 입력 텍스트(최대 10만 자)의 문법 오류, 맞춤법·오타, 어색한 표현, 문장 순서를 의미를 유지한 채 자연스럽게 다듬습니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 요청당 기본 100포인트이며, 사용량 금액(원가 × 환율 × 1.4)이 더 크면 그 금액이 차감됩니다. [호출당 100포인트]
- `text_summary`: Summarize a long text (up to 100,000 characters) into a concise Korean summary. 입력 텍스트(최대 10만 자)의 핵심 내용을 간결하고 정확하게 요약합니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 요청당 기본 100포인트이며, 사용량 금액(원가 × 환율 × 1.4)이 더 크면 그 금액이 차감됩니다. [호출당 100포인트]
- `veo_jobs_create`: Submit an asynchronous Veo video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Veo 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, veo_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 900포인트가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 900포인트 × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]
- `veo_jobs_status`: Check the status of a Veo video generation job submitted via veo_jobs_create. Veo 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]
