import requests
import json
def get_crop_task_info(workspace_id, file_id, app_id, secret_code):
"""
Get multi-image crop task information, including parent task ID and child file information
"""
url = "https://docflow.textin.ai/api/app-api/sip/platform/v2/file/fetch"
headers = {
"x-ti-app-id": app_id,
"x-ti-secret-code": secret_code
}
params = {
"workspace_id": workspace_id,
"file_id": file_id
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
files = data.get("result", {}).get("files", [])
if files:
file_data = files[0]
task_id = file_data.get("task_id")
task_type = file_data.get("task_type")
child_files = file_data.get("child_files", [])
# Extract child file information
crop_children = []
for child in child_files:
if child.get("task_type") == 3: # Child files generated by multi-image crop
crop_children.append({
"crop_child_task_id": child.get("task_id"),
"category": child.get("category"),
"name": child.get("name"),
"from_parent_position_list": child.get("from_parent_position_list", []),
"crop_info": child.get("crop_info", {})
})
return {
"parent_task_id": task_id,
"parent_task_type": task_type,
"crop_children": crop_children
}
return None
# Usage example
WORKSPACE_ID = "1234567890"
FILE_ID = "202412190001"
APP_ID = "<your-app-id>"
SECRET_CODE = "<your-secret-code>"
task_info = get_crop_task_info(WORKSPACE_ID, FILE_ID, APP_ID, SECRET_CODE)
if task_info:
print("Parent task ID:", task_info["parent_task_id"])
print("Parent task type:", task_info["parent_task_type"])
print("Child file information:")
for child in task_info["crop_children"]:
print(json.dumps(child, indent=2, ensure_ascii=False))