Retrieves the details of a specific fine-tuning job.
Get fine-tuning job details
In Windows CMD, replace${DASHSCOPE_API_KEY}with%DASHSCOPE_API_KEY%. In PowerShell, use$env:DASHSCOPE_API_KEYinstead.
curl --location --request GET "https://dashscope.aliyuncs.com/api/v1/fine-tunes/<your_fine_tuning_job_id>" \
--header "Authorization: Bearer ${DASHSCOPE_API_KEY}" \
--header 'Content-Type: application/json'
Request parameters
|
Parameter |
Type |
Location |
Required |
Description |
|
job_id |
String |
Path |
Yes |
The ID of the fine-tuning job to retrieve. This is the |
Response examples
Text generation model
{
"request_id": "c59b2145-a93c-4e00-b610-4d7cc5c521a2",
"output": {
"job_id": "ft-202410291653-1c7f",
"job_name": "ft-202410291653-1c7f",
"status": "SUCCEEDED",
"finetuned_output": "qwen3-14b-suffix-ft-202410291653-1c7f",
"model": "qwen3-14b",
"base_model": "qwen3-14b",
"training_file_ids": [
"976bd01a-f30b-4414-86fd-50c54486e3ef"
],
"validation_file_ids": [],
"hyper_parameters": {
"n_epochs": 3,
"batch_size": 32,
"max_length": 8192,
"learning_rate": "1.6e-5",
"lr_scheduler_type": "linear",
"split": 0.9
},
"training_type": "sft",
"create_time": "2024-10-29 16:53:53",
"workspace_id":"llm-v71tlv***",
"user_identity": "1396993924585947",
"modifier": "1396993924585947",
"creator": "1396993924585947",
"end_time": "2024-10-29 17:11:26",
"group": "llm",
"usage": 279808
}
}
Video generation model
Note the output.status, where SUCCEEDED indicates that the training is complete, and output.usage, which is the total number of tokens consumed during training.
{
"request_id": "9bbb953c-bef2-4b59-9fc5-xxxxxxxxx",
"output": {
"job_id": "ft-202511111122-xxxx",
"status": "SUCCEEDED",
"finetuned_output": "wan2.5-i2v-preview-ft-202511111122-xxxx",
"model": "wan2.5-i2v-preview",
"base_model": "wan2.5-i2v-preview",
"training_file_ids": ["xxxxxxxxxxxx"],
"validation_file_ids": [],
"hyper_parameters": {
"n_epochs": 400,
"learning_rate": 2.0E-5,
"split": 0.9,
"eval_epochs": 50
},
"training_type": "efficient_sft",
"create_time": "2025-11-11 11:22:22",
"end_time": "2025-11-11 16:49:01",
"usage": 432000,
"output_cnt": 8
}
}
Image generation model
{
"request_id": "03d738f5-3720-90b0-9c7b-xxxxxxxxx",
"output": {
"job_id": "ft-202606030110-xxxx",
"status": "SUCCEEDED",
"finetuned_output": "wan2.7-image-pro-ft-202606030110-xxxx",
"model": "wan2.7-image-pro",
"base_model": "wan2.7-image-pro",
"training_file_ids": ["xxxxxxxxxxxx"],
"validation_file_ids": [],
"hyper_parameters": {
"max_steps": 800,
"learning_rate": 3.0E-5,
"eval_steps": 200,
"max_token_length": "2k",
"max_pixels": "2k",
"val_img_size": "2k",
"generation_type": "t2i",
"lora_rank": 32,
"lora_alpha": 32
},
"training_type": "efficient_sft",
"create_time": "2026-06-03 01:10:47",
"end_time": "2026-06-03 01:38:53",
"usage": 10273216,
"output_cnt": 1
}
}
Response parameters
|
Parameter |
Type |
Description |
|
request_id |
String |
The unique ID for this request. |
|
output |
Object |
The details of the fine-tuning job. |
|
output.job_id |
String |
The ID of the fine-tuning job, used to query its status. Generation rule: |
|
output.job_name |
String |
Same as |
|
output.status |
String |
The task status of this fine-tuning job. |
|
output.finetuned_output |
String |
This field is returned only when the task status is SUCCEEDED. |
|
output.model |
String |
The ID of the model used for the fine-tuning job. |
|
output.base_model |
String |
The ID of the base model used for this fine-tuning job. For example, the fine-tuning job |
|
output.training_file_ids |
Array |
A list of training file IDs. |
|
output.validation_file_ids |
Array |
A list of validation file IDs. |
|
output.hyper_parameters |
Object |
A map of explicitly specified hyperparameters. |
|
output.training_type |
String |
The fine-tuning method. |
|
output.create_time |
String |
The creation time of the fine-tuning job. |
|
output.workspace_id |
String |
The ID of the workspace that contains the fine-tuning job. |
|
output.user_identity |
String |
The UID of the main account that owns this fine-tuning job. |
|
output.modifier |
String |
The UID of the account that last modified this fine-tuning job. For example, if a sub-account cancels the job, the UID of that sub-account is displayed here. |
|
output.creator |
String |
The UID of the account that created this fine-tuning job. |
|
output.end_time |
String |
The time the fine-tuning job ended. This field is returned when the task status is |
|
output.group |
String |
The type of the fine-tuning job. |
|
output.usage |
Integer |
The number of tokens consumed by the fine-tuning job. For the billing formula, see billable items. This field is returned when the task status is SUCCEEDED or CANCELED. |
|
output.output_cnt |
Integer |
The number of checkpoints generated so far. This parameter is returned only for models that support multiple checkpoint outputs (for example, |
|
output.max_output_cnt |
Integer |
The maximum number of checkpoints that can be produced in a single task. The part of |
Error codes
Returned when the request fails.
|
Field |
Type |
Description |
Example value |
|
code |
String |
The error code. |
NotFound |
|
request_id |
String |
The system-generated unique ID of the request. |
6332fb02-3111-43f0-bf79-f9e8c5ffa7f9 |
|
message |
String |
The error message. |
Not Found! |
Example error response
{
"code": "NotFound",
"request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
"message": "Not Found!"
}
Error code list
|
HTTP status code |
Error code |
Example message |
Description |
Solution |
|
400 |
InvalidParameter |
Missing training files |
A parameter is invalid, missing, or in the wrong format. |
Check the error message and correct the parameters in your request. |
|
400 |
UnsupportedOperation |
The fine-tuning job cannot be deleted because its status is SUCCEEDED, FAILED, or CANCELED. |
The operation cannot be performed because the resource is in a specific state. |
Wait until the resource reaches an actionable state before retrying the operation. |
|
404 |
NotFound |
Not found! |
The requested resource does not exist. |
Verify that the ID of the resource you are trying to access is correct. |
|
409 |
Conflict |
Model instance 'xxxxx' already exists. Please specify a suffix. |
A deployment instance with the name 'xxxxx' already exists. You must specify a suffix to make the name unique. |
Specify a unique suffix for the deployment. |
|
429 |
Throttling |
|
The request was denied due to platform limits. |
|
|
500 |
InternalError |
Internal server error! |
An internal server error occurred. |
Record the request_id and submit a ticket for assistance. |