The Models API returns the model catalog with prices. It needs no API key. The full schema is in the OpenAPI definition and the API reference.
List models
Section titled “List models”GET /v1/models
Query parameters are optional, and filters combine with AND:
modality: return only models whose primary modality (themodalityfield) matches. A video model that also outputs audio is returned forvideo, not foraudio;capabilities.output_modalitieslists every output. One oftext,image,video,audio.task: return only models that support the task. One ofchat,text-to-image,image-edit,text-to-video,image-to-video,reference-to-video,text-to-speech.locale: the language ofsummary,description, and parameter descriptions. One ofen,ja,zh,ko. The default isen.
A value outside these lists returns 400 with invalid_request, and error.details.allowed lists the accepted values.
curl "https://api.sakuranbo.ai/v1/models?modality=image&locale=en"const response = await fetch("https://api.sakuranbo.ai/v1/models?modality=image&locale=en");const data = await response.json();console.log(data);import requests
response = requests.get("https://api.sakuranbo.ai/v1/models?modality=image&locale=en")print(response.json())The response has object: "list" and a data array of models. Each model includes:
id,name,vendor,vendor_name,modality,tasks,status, andendpoint(the generation endpoint that runs the model).released_at(only when the release date is confirmed) andupdated_at.summary,description,capabilities, andparameters(input fields in a JSON Schema style).pricing: one entry per price dimension, withamount_micro_usd(integer),amount_usd(decimal string), andconditions(the input values that select the price).data_policyandlinksto the model page and its Markdown version.
Get a model
Section titled “Get a model”GET /v1/models/{vendor}/{model}
curl "https://api.sakuranbo.ai/v1/models/sakuranbo/cherryimage-1.0-pro"const response = await fetch("https://api.sakuranbo.ai/v1/models/sakuranbo/cherryimage-1.0-pro");const data = await response.json();console.log(data);import requests
response = requests.get("https://api.sakuranbo.ai/v1/models/sakuranbo/cherryimage-1.0-pro")print(response.json())An ID that is not in the catalog returns 404 with model_not_found.
Caching and CORS
Section titled “Caching and CORS”Public GET responses allow any origin, carry a weak ETag, and use Cache-Control: public, max-age=60. Send If-None-Match to receive 304 when the catalog has not changed.
Available models
Section titled “Available models”| Model ID | Modality | Tasks | Upstream status |
|---|---|---|---|
sakuranbo/cherrytext-1.0-flash | text | chat | GA (upstream) |
sakuranbo/cherry-1.0-pro | video | text-to-video, image-to-video, reference-to-video | GA (upstream) |
sakuranbo/cherryimage-1.0-pro | image | text-to-image, image-edit | GA (upstream) |
All prices are in USD. Listed prices include our margin.