I have about 500 photos and all i want to do is either download them so I can get them into gcp or find a way to get them into there without downloading them. I’ve read all the labelbox documents and followed the steps to export using the python scripts but I can’t get it to work and the gcp integration only works to get photos into labelbox not out of it. If someone could just explain how they did it that would be great.
Hi @saxon123 ,
Thanks for your message.
In the Labelbox platform, the “export” functionality retrieves labels and annotations.
The export contains the field row_data
that, generally, contains the URL of the asset. If you have access to the URL, you can simply download it with a package like requests
for example.
Basic example based on a project export:
Note: For other type of exports, check Export overview
import requests
LB_API_KEY = "<YOUR API KEY>"
PROJECT_ID = "<YOUR PROJECT ID>"
# Connect to the project
client = lb.Client(LB_API_KEY)
project = client.get_project(PROJECT_ID)
# Export the project
task = project.export_v2()
task.wait_till_done()
if task.errors:
print(task.errors)
else:
# dr_export is a list of dictionaries (NDJSON)
dr_export = task.result
for index, dr in enumerate(dr_export):
# Retrieve the URL of the data row
url = dr["data_row"]["row_data"]
response = requests.get(url)
if response.status_code == 200:
# In this basic example, assets are all saved as PNG images with a forced name
with open(f"{index}.png", "wb") as handler:
handler.write(response.content)
else:
print(response.status_code, index, dr["data_row"]["id"])
Let me know if this helps.
Best regards,
Paul N
Labelbox Support