Recipes —
Loading recipes…
Click any recipe to load its prompt, negative prompt, size, steps, guidance and layout.
Cluster
Account —
—
Weekly GPU quota
- Kaggle
- —
- Agent
- —
- Model
- —
- Load time
- —
- Queue
- —
- Last image
- —
Current job
idleNo active job. Submit a prompt to begin.
0% · step 0
Latest images
Gallery is empty.
Gallery
No images yet. Generate one from the Studio tab.
Jobs
No jobs recorded yet.
Declarative batch
JSON, YAML or JSONL manifest. Each item inherits defaults. Items run 1-by-1 through the Kaggle queue.
Batches
No batches submitted yet.
Kaggle accounts & GPU quota
GPU time is metered per Kaggle account and resets weekly on Saturday 00:00 UTC. New jobs are routed to the least-loaded READY account with more than the “switch below” hours of quota left, so submissions spread evenly across the fleet. The monitor runs every 5 minutes. Tokens are stored in Cloudflare KV and never returned to the browser.
Loading accounts…
Add a Kaggle account
Agent log
Loading…
Events
OpenAI-compatible API
Base URL https://kagglemoss.rpcserve.website
POST /v1/images/generations
curl -X POST "$BASE/v1/images/generations" \
-H "Authorization: Bearer $MOSS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "moss-image-sft",
"prompt": "A cinematic red fox in fresh snow at blue hour",
"size": "1024x1024",
"steps": 28,
"cfg": 3.0,
"seed": -1,
"n": 1
}'
Poll a job
curl "$BASE/v1/jobs/$JOB_ID" \ -H "Authorization: Bearer $MOSS_API_KEY"
Python (openai SDK)
from openai import OpenAI
client = OpenAI(base_url="https://kagglemoss.rpcserve.website/v1",
api_key="YOUR_API_KEY")
resp = client.images.generate(
model="moss-image-sft",
prompt="A hyper-detailed cyberpunk samurai in a neon-lit rainy Tokyo alley",
size="1024x1024",
extra_body={"steps": 28, "cfg": 3.0, "seed": 42},
)
print(resp.data[0].url)
b64_json + retry
# Inline base64 PNG (no S3 round-trip)
curl -X POST "$BASE/v1/images/generations" \
-H "Authorization: Bearer $MOSS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"a paper boat at dawn","size":"512x512","steps":8,
"response_format":"b64_json","wait":true}'
# Retry any failed job or batch
curl -X POST "$BASE/v1/jobs/$JOB_ID/retry" \
-H "Authorization: Bearer $MOSS_API_KEY"
Batch manifests
Up to 100 items per batch. YAML or JSONL accepted.
POST /v1/batches (YAML)
defaults:
steps: 28
cfg: 3.0
pixels: 1M
aspect_ratio: "16:9"
items:
- prompt: "A lone wanderer facing a colossal mechanical titan in a desert sandstorm"
custom_id: "titan"
- prompt: "Seamless panoramic Silk Road scroll painting under starry skies"
custom_id: "silk-road"
aspect_ratio: "8:1"
POST /v1/batches (JSONL)
{"custom_id":"fox","prompt":"A red fox asleep in fresh snow","size":"1024x1024"}
{"custom_id":"owl","prompt":"A clockwork owl on a grimoire","steps":30,"cfg":4.5}
Control-plane endpoints
- GET
/api/statuscluster, agent and GPU state - POST
/api/cluster/startsubmit + run the Kaggle kernel - POST
/api/cluster/stopshutdown agent and cancel the session - GET
/api/cluster/logs?source=kaggleKaggle session log tail - POST
/api/generatestudio-native generation (+/api/generate/submit) - GET
/api/jobslive jobs from the agent - POST
/api/jobs/<id>/retryresubmit a job - POST
/api/batchesdeclarative JSON / YAML / JSONL batch - GET
/api/batches/<id>refresh batch progress - POST
/api/batches/<id>/retryresubmit failed items - GET
/api/galleryS3 object listing + metadata - GET
/api/presetspresets, ratios, pixel budgets - GET
/api/eventsaudit trail
All routes accept Authorization: Bearer <API_KEY>.
Runtime
- Model
- —
- Kernel
- —
- Hardware
- —
- S3 bucket
- —
- S3 prefix
- —
- API key
- required