---
title: "Send input to a model and receive a response"
method: POST
path: "/responses"
tags: ["Responses"]
---

# Send input to a model and receive a response

`POST /responses`

## Request body

- CreateResponseRequest
  - `model` string, required — Model identifier from the ZeroGPU dashboard (e.g. summarization or IAB classify).
  - `input` union, required — Model-dependent input. Many production models accept a **plain string**. Others accept a **chat-style message list** (`role` + `content`). Use the shape required by your model; see [docs](https://docs.zerogpu.ai/api-reference/endpoint/responses).
    - string — Plain text prompt or document text.
    - InputMessage[]
      - `role` 'user' | 'system', required — Message author role
      - `content` string, required — Message text
  - `text` TextResponseConfig
    - `format` object
      - `type` string — Response format type (e.g. `text`)
  - `metadata` object — Optional model-specific parameters (e.g. PII `mask`, `usecase`). Omit when not required.

## Response `200`

Success

- Response
  - `id` string, required
  - `object` string, required
  - `created` integer, required — Unix timestamp when the response was created
  - `model` string, required
  - `output` OutputMessage[], required
    - `type` string
    - `role` string
    - `content` OutputContentBlock[]
      - `type` string
      - `text` string — Generated model output
  - `usage` TokenUsage
    - `input_tokens` integer
    - `output_tokens` integer
    - `total_tokens` integer

## Other responses

- `400` — Bad request — invalid body
- `401` — Unauthorized — invalid or missing API key
- `403` — Forbidden — invalid project ID or permissions
- `420` — Input exceeds model token limit (context_length_exceeded)
- `500` — Internal server error

---

[API](https://skmtc.net/zerogpu/apis/zerogpu-api.md) · [All operations](https://skmtc.net/zerogpu/apis/zerogpu-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerogpu/zerogpu-api/versions/7d52cb055bba/schema)
