Manage checkpoints generated by fine-tune jobs: list, export, query validation results, and Checkpoint object reference.
Prerequisites
-
Supported region: The features described in this document are only available in the China (Beijing) region. You must use an API Key from this region.
-
Account permissions: If you use a China site sub-account (RAM user), you need to grant the sub-account model invocation, training, and deployment permissions.
-
Configure environment variables: You have successfully obtained an API Key and configured it as an environment variable.
-
Supported fine-tuned model types per API:
-
List Checkpoints: Text generation, Video generation, Image generation, Speech synthesis
-
Export Checkpoint: Text generation, Video generation, Image generation, Speech synthesis
-
List Checkpoint Validations: Video generation, Image generation
-
Query Checkpoint Validation Results: Video generation, Image generation
-
List checkpoints
List all checkpoints and their status, model information, etc. for a specified fine-tune job.
Request interface
GET https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/checkpoints
Input parameters
|
Parameter |
Location |
Type |
Required |
Description |
Example |
|
job_id |
Path |
string |
Yes |
Fine-tune job ID. You can obtain it from the Create fine-tune job or List fine-tune jobs API. |
ft-202511111122-xxxx |
Response parameters
|
Parameter |
Type |
Description |
Example |
|
request_id |
string |
Unique identifier for the request. |
aa4b0229-b1db-9afa-bb6e-xxxxxxxxx |
|
output |
array[object] |
Array of checkpoints, sorted by step in descending order. For speech synthesis models (such as CosyVoice), the step is derived from the combination of LM epoch and FM epoch. Checkpoints are sorted by the product of LM epoch × FM epoch in descending order (a higher product indicates more thorough fine-tuning on both sides). |
- |
|
output[].checkpoint_id |
string |
Unique checkpoint identifier. Format: |
ft-202605271743-dd2a:checkpoint-00040004 |
|
output[].full_name |
string |
Same as |
ft-202605271743-dd2a:checkpoint-00040004 |
|
output[].checkpoint |
string |
Checkpoint name. Format: For speech synthesis models (such as CosyVoice), the step is a combination of LM epoch and FM epoch. For example,
|
checkpoint-00040004 |
|
output[].job_id |
string |
The fine-tune job ID that this checkpoint belongs to. |
ft-202605271743-dd2a |
|
output[].step |
integer |
Training step number for this checkpoint. For speech synthesis models (such as CosyVoice), the step is calculated as
|
40004 |
|
output[].status |
string |
Status of this checkpoint. Common values: |
SUCCEEDED |
|
output[].model_name |
string |
Model ID for this checkpoint. Can be used as the |
cosyvoice-v3-flash-ft-202605271743-dd2a |
|
output[].model_display_name |
string |
Model display name (shown in the console). Only returned when |
ft-202605271743-dd2a |
|
output[].create_time |
string |
Creation time of this checkpoint in ISO 8601 format. |
2026-05-27T18:07:16 |
|
output[].expire_time |
string |
Expiration time of this checkpoint in ISO 8601 format. |
2026-06-11T18:07:16 |
Request example
Replace <your-fine-tune-job-id> in the URL with the job_id value from the Create fine-tune job response.
For Windows CMD, replace${DASHSCOPE_API_KEY}with%DASHSCOPE_API_KEY%. For PowerShell, use$env:DASHSCOPE_API_KEY
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<your-fine-tune-job-id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'Response example
{
"request_id": "aa4b0229-b1db-9afa-bb6e-3b3e9ee1489b",
"output": [
{
"create_time": "2026-05-27T18:07:16",
"full_name": "ft-202605271743-dd2a:checkpoint-00040004",
"job_id": "ft-202605271743-dd2a",
"checkpoint_id": "ft-202605271743-dd2a:checkpoint-00040004",
"checkpoint": "checkpoint-00040004",
"model_name": "cosyvoice-v3-flash-ft-202605271743-dd2a",
"model_display_name": "ft-202605271743-dd2a",
"status": "SUCCEEDED",
"expire_time": "2026-06-11T18:07:16",
"step": 40004
},
{
"create_time": "2026-05-27T18:07:16",
"full_name": "ft-202605271743-dd2a:checkpoint-00030004",
"job_id": "ft-202605271743-dd2a",
"checkpoint_id": "ft-202605271743-dd2a:checkpoint-00030004",
"checkpoint": "checkpoint-00030004",
"status": "PENDING",
"expire_time": "2026-06-11T18:07:16",
"step": 30004
}
]
}
Export Checkpoint
Export a specified checkpoint as a deployable model. After successful export, call the corresponding Deploy API based on the model type (different model types use different deploy APIs).
Request interface
GET https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/export/{checkpoint}?model_name={model_name}
Input parameters
|
Parameter |
Location |
Type |
Required |
Description |
Example |
|
job_id |
Path |
string |
Yes |
Fine-tune job ID. You can obtain it from the Create fine-tune job or List fine-tune jobs API. |
ft-202511111122-xxxx |
|
checkpoint |
Path |
string |
Yes |
Checkpoint name. You can obtain it from the List Checkpoints API. |
checkpoint-160 |
|
model_name |
Query parameter |
string |
Yes |
The exported model name displayed in the console. This name must be globally unique. We recommend using letters, digits, underscores (_), and hyphens (-). Note: This parameter is only for console display. The actual exported model name is the |
wan2.5-i2v-preview-ft-202511111122-xxxx |
Response parameters
|
Parameter |
Type |
Description |
Example |
|
request_id |
string |
Unique identifier for the request. |
0eb05b0c-02ba-414a-9d0c-xxxxxxxxx |
|
output |
boolean |
Whether the export request was submitted successfully.
|
true |
Request example
-
<your-fine-tune-job-id>: Replace with thejob_idvalue from the Create fine-tune job response. -
<checkpoint-to-export>: Replace with the checkpoint value, e.g., “checkpoint-160”. -
<export-model-display-name>: Replace with your custom model name (for console display only).
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<your-fine-tune-job-id>/export/<checkpoint-to-export>?model_name=<export-model-display-name>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"Response example
{
"request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
"output": true
}
List checkpoint validations
This API is not supported for text generation models.
Retrieve the list of checkpoints that successfully generated preview videos or images via the validation set. Checkpoints that fail validation are not listed.
Usage restriction: This API must be called after model fine-tuning is completed; otherwise, an empty list is returned.
Request interface
GET https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/validation-results
Input parameters
|
Parameter |
Location |
Type |
Required |
Description |
Example |
|
job_id |
Path |
string |
Yes |
Fine-tune job ID. You can obtain it from the Create fine-tune job or List fine-tune jobs API. |
ft-202511111122-xxxx |
Response parameters
|
Parameter |
Type |
Description |
Example |
|
request_id |
string |
Unique identifier for the request. |
0eb05b0c-02ba-414a-9d0c-xxxxxxxxx |
|
output |
array[string] |
List of checkpoints. |
- |
|
output[].checkpoint |
string |
Checkpoint name. |
checkpoint-160 |
Request example
Replace <your-fine-tune-job-id> in the URL with the job_id value from the Create fine-tune job response.
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<your-fine-tune-job-id>/validation-results' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' Response example
{
"request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
"output": [
{
"checkpoint": "checkpoint-160"
},
{
"checkpoint": "checkpoint-20"
},
{
"checkpoint": "checkpoint-40"
},
{
"checkpoint": "checkpoint-60"
}
]
}
Query checkpoint validation results
This API is not supported for text generation models.
Query the validation result details for a specified checkpoint (e.g., "checkpoint-160") by checkpoint, including the generated preview videos or images.
Request interface
GET https://dashscope.aliyuncs.com/api/v1/fine-tunes/{job_id}/validation-details/{checkpoint}?page_no=1&page_size=10
Input parameters
|
Parameter |
Location |
Type |
Required |
Description |
Example |
|
job_id |
Path |
string |
Yes |
Fine-tune job ID. You can obtain it from the Create fine-tune job or List fine-tune jobs API. |
ft-202511111122-xxxx |
|
checkpoint |
Path |
string |
Yes |
Checkpoint name. You can obtain it from the List Checkpoints or List Checkpoint Validations API. |
checkpoint-160 |
|
page_no |
Query parameter |
integer |
No |
Page number. Defaults to 1. |
1 |
|
page_size |
Query parameter |
integer |
No |
Page size. Defaults to 10. |
10 |
Response parameters
|
Parameter |
Type |
Description |
Example |
|
request_id |
string |
Unique identifier for the request. |
375b3ad0-d3fa-451f-b629-xxxxxxx |
|
output |
object |
Output result. |
- |
|
output.page_no |
integer |
Page number. |
1 |
|
output.page_size |
integer |
Page size. |
10 |
|
output.total |
integer |
Total number of validation items. |
1 |
|
output.list |
array[object] |
List of validation items. |
- |
|
output.list[].video_path |
string |
Video generated by the checkpoint. The video_path URL is valid for 24 hours. Please download the video promptly. |
https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.mp4?Expires=xxxx |
|
output.list[].prompt |
string |
Prompt for the validation data. Obtained from the dataset annotation file data.jsonl. |
The video begins with a scene of a young man sitting in a cafe... |
|
output.list[].first_frame_path |
string |
Image URL for validation. The system reads the image from the dataset and generates a public URL. |
https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.jpeg |
Request example
-
<your-fine-tune-job-id>: Replace with thejob_idvalue from the Create fine-tune job response. -
<selected-checkpoint>: Replace with the selected checkpoint name, e.g., “checkpoint-160”.
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<your-fine-tune-job-id>/validation-details/<selected-checkpoint>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"Response example
The video_path URL is valid for 24 hours. Please download the video promptly.
{
"request_id": "375b3ad0-d3fa-451f-b629-xxxxxxx",
"output": {
"page_no": 1,
"page_size": 10,
"total": 1,
"list": [
{
"video_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.mp4?Expires=xxxx",
"prompt": "The video begins with a young man sitting in a cafe. He wears a beige polo shirt with a focused, slightly contemplative expression, fingers lightly resting on his chin. In front of him is a steaming cup of coffee, with a wooden striped wall and a decorative sign in the background. Then the money rain effect begins, with countless oversized dollar bills pouring down like a storm, densely falling around him. As bills continue to fall, he stretches his arms upward, tilts his head back, and looks delighted, completely immersed in this wild money rain.",
"first_frame_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.jpeg"
}
]
}
}
Checkpoint object
The Checkpoint API is currently only available in the China (Beijing) region. If you are using other regions, manage checkpoints through the Model Studio console of that region.
The Checkpoint object represents an intermediate model state saved during fine-tuning. It is returned by the List Checkpoints API.
Field description
The following fields are from the List Checkpoints API response.
|
Parameter |
Type |
Description |
|
request_id |
String |
Request ID for this call. |
|
output |
Array |
Array of checkpoints, sorted by step in descending order. For speech synthesis models (such as CosyVoice), the step is derived from the combination of LM epoch and FM epoch. Checkpoints are sorted by the product of LM epoch × FM epoch in descending order (a higher product indicates more thorough fine-tuning on both sides). |
|
output[*].checkpoint_id |
String |
Unique checkpoint identifier. Format: |
|
output[*].full_name |
String |
Same as |
|
output[*].checkpoint |
String |
Checkpoint name. Format: For speech synthesis models (such as CosyVoice), the step is a combination of LM epoch and FM epoch. For example,
|
|
output[*].job_id |
String |
The fine-tune job ID that this checkpoint belongs to. |
|
output[*].step |
Integer |
Training step number for this checkpoint. For speech synthesis models (such as CosyVoice), the step is calculated as
|
|
output[*].status |
String |
Status of this checkpoint. Common values: |
|
output[*].model_name |
String |
Model ID for this checkpoint. Can be used as the |
|
output[*].model_display_name |
String |
Model display name (shown in the console). Only returned when |
|
output[*].create_time |
String |
Creation time of this checkpoint in ISO 8601 format. |
|
output[*].expire_time |
String |
Expiration time of this checkpoint in ISO 8601 format. |