List models
GET /v1/models
Returns the image and video models currently available. Only models with configured credentials and an enabled status show up, so the list can change — fetch it at startup rather than hardcoding ids.
Request
bash
curl https://open.pikpikgo.com/v1/models \
-H "Authorization: Bearer $PIKPIK_API_KEY"Response
json
{
"object": "list",
"data": [
{
"id": "img-std-1",
"object": "model",
"type": "image",
"credits": 10,
"max_reference_images": 4,
"specs": [
{ "key": "2k", "name": "2K", "resolution": "2k", "quality": "2k", "credits": 10, "min_sec": 0, "max_sec": 0 }
]
}
]
}Fields
| Field | Description |
|---|---|
| id | Model identifier. Pass this as model when submitting; an id not in this list is rejected rather than silently swapped for the default |
| type | image, video or text |
| credits | Model-level price. Image and video billing uses specs[].credits; tiers priced at 0 are omitted |
| max_reference_images | How many reference images are accepted. 0 means unsupported |
| aspect_ratios | Video only. Aspect ratios this model accepts; an empty array means no restriction. Anything outside the list is rejected |
| supports_last_frame | Video only. false means the model takes a first frame only — passing image_last is rejected |
| max_reference_videos | Video only. How many reference videos are accepted. 0 means unsupported |
| max_reference_audios | Video only. How many reference audio files are accepted. 0 means unsupported |
| specs | Available tiers. When spec is passed, resolution and price come from the tier |
| billing | Video only. per_sec bills by duration; per_unit is a flat per-request price |
| specs[].credits | Tier price. For video, multiply by duration only when billing is per_sec |
| specs[].min_sec / max_sec | Allowed duration range in seconds. Out-of-range values are clamped |
For images and video, omitting model falls back to the platform default, which may change over time — pin it explicitly if you need stability. Entries with type text are for /v1/chat/completions, where model is required and has no default.

