# Spaces sebagai Alat Agen

Setiap Gradio Space mengekspos `agents.md` teks polos yang dapat dipanggil langsung oleh agen coding (Claude Code, Codex, OpenCode, Pi, dll.). Temukan salah satunya melalui pencarian semantik di [huggingface.co/spaces](https://huggingface.co/spaces) (misalnya "audio transcription"), coba dulu di UI jika diperlukan, lalu arahkan agen Anda ke `agents.md` tersebut. Responsnya menyediakan semua yang dibutuhkan untuk memanggil Space dalam satu langkah: URL skema, template panggilan dan polling, instruksi unggah file, serta petunjuk autentikasi.

Hal ini menjadi semakin kuat saat **menghubungkan Spaces**. Agen dapat mengubah prompt menjadi aset 3D dengan memanggil [`black-forest-labs/flux-klein-9b-kv`](https://huggingface.co/spaces/black-forest-labs/flux-klein-9b-kv) untuk gambar, lalu meneruskan gambar yang dihasilkan ke [`microsoft/TRELLIS.2`](https://huggingface.co/spaces/microsoft/TRELLIS.2) untuk model 3D. Tanpa pustaka klien, tanpa integrasi yang dikodekan secara tetap.

Yang Anda butuhkan hanyalah [HF_TOKEN](https://huggingface.co/settings/tokens) yang disetel di lingkungan Anda untuk memulai.

## Dari UI

Setiap halaman Space yang kompatibel memiliki tombol **Agents** di header. Klik tombol tersebut untuk menyalin perintah `curl` untuk `agents.md` Space tersebut, lalu tempelkan ke agen Anda.

## Endpoint agents.md

```
https://huggingface.co/spaces/<namespace>/<repo>/agents.md
```

Contoh:

```bash
curl https://huggingface.co/spaces/microsoft/TRELLIS.2/agents.md
```

Mengembalikan:

```
To use this application (microsoft/TRELLIS.2: Create 3D model from a single image):
API schema: GET https://microsoft-trellis-2.hf.space/gradio_api/info
Call endpoint: POST https://microsoft-trellis-2.hf.space/gradio_api/call/v2/{endpoint} {"param_name": value, ...}
Poll result: GET https://microsoft-trellis-2.hf.space/gradio_api/call/{endpoint}/{event_id}
File inputs: POST https://microsoft-trellis-2.hf.space/gradio_api/upload -F "files=@file.ext", use as: {"path": "<returned-path>", "meta": {"_type": "gradio.FileData"}, "orig_name": "file.ext"}
Auth: Bearer $HF_TOKEN (https://huggingface.co/settings/tokens)
```

## Input file

Ketika sebuah endpoint menerima file (gambar, audio, video, dll.), unggah terlebih dahulu dan gunakan path yang dikembalikan dalam panggilan Anda. Unggah ke `/gradio_api/upload` dan gunakan kembali path yang dikembalikan:

```bash
# 1. Upload the file
curl -H "Authorization: Bearer $HF_TOKEN" \
  https://microsoft-trellis-2.hf.space/gradio_api/upload \
  -F "files=@chair.png"
# → ["/tmp/gradio/.../chair.png"]

# 2. Reference the returned path as a FileData object in your call
curl -H "Authorization: Bearer $HF_TOKEN" \
  https://microsoft-trellis-2.hf.space/gradio_api/call/v2/predict \
  -d '{"image": {"path": "/tmp/gradio/.../chair.png", "meta": {"_type": "gradio.FileData"}, "orig_name": "chair.png"}}'
```

Input yang menerima URL publik (bukan file yang diunggah) dapat diteruskan langsung tanpa langkah pengunggahan.

## Autentikasi dan ZeroGPU

Spaces yang paling populer berjalan di [ZeroGPU](./spaces-zerogpu), yang menggunakan kuota harian pemanggil. Agen harus selalu meneruskan `$HF_TOKEN` agar panggilan ditagihkan ke akun Anda, bukan ke pool anonim yang dibatasi. Token yang sama juga diperlukan untuk Spaces privat. Buat satu di [huggingface.co/settings/tokens](https://huggingface.co/settings/tokens) (baris autentikasi `agents.md` langsung menautkan ke halaman ini).

```bash
curl -H "Authorization: Bearer $HF_TOKEN" \
  https://microsoft-trellis-2.hf.space/gradio_api/call/v2/predict \
  -d '{"image": {"path": "https://example.com/chair.png"}}'
```

## Bagaimana agen akan menggunakan ini

1. Agen `curl` `/agents.md` untuk Space.
2. Ini mengambil `/gradio_api/info` untuk mengetahui nama endpoint dan input.
3. Untuk input file, ia mengirim file ke `/gradio_api/upload` dan menyimpan path yang dikembalikan.
4. Itu melakukan POST ke `/gradio_api/call/v2/<endpoint>`, lalu melakukan GET ke URL poll untuk streaming hasil.

