Skip to main content

Models

List models without a key

Every model an app can call, with its lab and modalities and no prices. Needs no API key.

gethttps://api.pre.dev/v1/models/publicTry it
curl -X GET "https://api.pre.dev/v1/models/public"
fetch("https://api.pre.dev/v1/models/public", {  method: "GET"})
package mainimport (  "fmt"  "net/http"  "io/ioutil")func main() {  url := "https://api.pre.dev/v1/models/public"  req, _ := http.NewRequest("GET", url, nil)  res, _ := http.DefaultClient.Do(req)  defer res.Body.Close()  body, _ := ioutil.ReadAll(res.Body)  fmt.Println(res)  fmt.Println(string(body))}
import requestsurl = "https://api.pre.dev/v1/models/public"response = requests.request("GET", url)print(response.text)
import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.http.HttpResponse.BodyHandlers;import java.time.Duration;HttpClient client = HttpClient.newBuilder()  .connectTimeout(Duration.ofSeconds(10))  .build();HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()  .uri(URI.create("https://api.pre.dev/v1/models/public"))  .GET()  .build();try {  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());  System.out.println("Status code: " + response.statusCode());  System.out.println("Response body: " + response.body());} catch (Exception e) {  e.printStackTrace();}
using System;using System.Net.Http;using System.Text;var client = new HttpClient();var response = await client.GetAsync("https://api.pre.dev/v1/models/public");var responseBody = await response.Content.ReadAsStringAsync();
use reqwest::{Result, Client};async fn main() -> Result<()> {  let client = Client::new();  let url = "https://api.pre.dev/v1/models/public";  let res = client    .get(url)    .send()    .await?    .text()    .await?;  println!("{}", res);  Ok(())}
{  "object": "list",  "updated_at": "2026-09-27T19:34:01.315Z",  "total": 2,  "counts": {    "text": 1,    "image": 0,    "video": 0,    "embeddings": 1  },  "labs": [    {      "id": "anthropic",      "name": "Anthropic",      "models": 1    },    {      "id": "openai",      "name": "OpenAI",      "models": 1    }  ],  "data": [    {      "id": "anthropic/claude-sonnet-5",      "name": "Claude Sonnet 5",      "lab": "anthropic",      "type": "text",      "input": [        "text",        "image",        "file"      ],      "output": [        "text"      ],      "context_length": 1000000,      "created": 1782843083    },    {      "id": "openai/text-embedding-3-small",      "name": "Text Embedding 3 Small",      "lab": "openai",      "type": "embeddings",      "input": [        "text"      ],      "output": [        "embeddings"      ],      "context_length": 8192,      "created": 1761857455    }  ]}
GET
/v1/models/public

Header Parameters

If-None-Match?string

The ETag from an earlier response.

Response Body

application/json

The model directory.

TypeScript Definitions

Use the response body type in TypeScript.

application/json

application/json

Was this page helpful?