From 7db90424a4aa0cce4e5c69e4baffc24a2a0958e0 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 11 Dec 2025 02:03:37 -0500 Subject: [PATCH] added debugging --- .../api/requests/_metadata/notes_overview.txt | 2 +- .../_metadata/request_flow_4/r1_objects.txt | 35 ++++++++++++++++++- .../_metadata/request_flow_4/r2_objects.txt | 26 +++++++++++++- .../request_flow_4/r3_objects_upload.txt | 16 ++++++++- .../request_flow_4/r5_objects_complete.txt | 19 +++++++++- .../request_flow_4/r6_objects_patch.txt | 32 +++++++++++++++++ .../google_upload/google_upload_image.rs | 4 ++- .../objects/begin_object_image_attachment.rs | 7 +++- .../objects/begin_object_image_upload.rs | 9 +++-- .../src/api/requests/objects/create_object.rs | 7 +++- .../objects/finalize_object_image_upload.rs | 7 +++- 11 files changed, 152 insertions(+), 12 deletions(-) create mode 100644 crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r6_objects_patch.txt diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/notes_overview.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/notes_overview.txt index be4003f8f1..7d2491c6f4 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/_metadata/notes_overview.txt +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/notes_overview.txt @@ -2,7 +2,7 @@ Free accounts start with 7,000 credits This supports "up to 4 world generations" according to the pricing page. -After one gen, credits are at 5,420. +After one gen, credits are at 5,420. (Used 1580 credits.) request_flow_4 - chromium on linux, private browsing diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r1_objects.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r1_objects.txt index fc1240d710..570637c9fe 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r1_objects.txt +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r1_objects.txt @@ -25,5 +25,38 @@ fetch("https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects", { "credentials": "include" }); +Request Body: -{"context":null,"id":"6623842d-3669-49b9-976f-5b239c24e353","display_name":null,"owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"CREATED","created_at":1765433415,"updated_at":1765433415,"object_uri":null,"mime_type":"application/run+json","metadata":{"version":"0.0.1","createdAt":1765433415549,"updatedAt":1765433415549,"useAdvancedEditing":false,"draftMode":false,"nodes":{}}} +{ + "metadata": { + "version": "0.0.1", + "createdAt": 1765433415549, + "updatedAt": 1765433415549, + "useAdvancedEditing": false, + "draftMode": false, + "nodes": {} + }, + "mime_type": "application/run+json" +} + +Response: + +{ + "context":null, + "id":"6623842d-3669-49b9-976f-5b239c24e353", + "display_name":null, + "owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1", + "status":"CREATED", + "created_at":1765433415, + "updated_at":1765433415, + "object_uri":null, + "mime_type":"application/run+json", + "metadata":{ + "version":"0.0.1", + "createdAt":1765433415549, + "updatedAt":1765433415549, + "useAdvancedEditing":false, + "draftMode":false, + "nodes":{} + } +} diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r2_objects.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r2_objects.txt index d6aa7f01f4..8cf7824083 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r2_objects.txt +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r2_objects.txt @@ -25,4 +25,28 @@ fetch("https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects", { "credentials": "include" }); -{"context":null,"id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e","display_name":"uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg","owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"CREATED","created_at":1765433415,"updated_at":1765433415,"object_uri":null,"mime_type":"image/jpeg","metadata":null} \ No newline at end of file +Request Payload: + +{ + "display_name": "uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg", + "mime_type": "image/jpeg" +} + +Response: + +{"context":null,"id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e","display_name":"uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg","owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"CREATED","created_at":1765433415,"updated_at":1765433415,"object_uri":null,"mime_type":"image/jpeg","metadata":null} + +Response Printed: + +{ + "context": null, + "id": "ee33d03e-b153-4d56-a7cb-a08bf86bd20e", + "display_name": "uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg", + "owner_id": "hdYte3rVrWbswJZEglL5CdmKfxv1", + "status": "CREATED", + "created_at": 1765433415, + "updated_at": 1765433415, + "object_uri": null, + "mime_type": "image/jpeg", + "metadata": null +} diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r3_objects_upload.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r3_objects_upload.txt index fd7d2a23ec..eade0be834 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r3_objects_upload.txt +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r3_objects_upload.txt @@ -24,4 +24,18 @@ fetch("https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects/ee33d03e-b153-4d5 "credentials": "include" }); -{"upload_id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg","upload_url":"https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa","required_headers":{"Content-Type":"image/jpeg","x-goog-content-length-range":"0,1048576000"},"curl_example":"curl -X PUT -H 'Content-Type: image/jpeg' -H 'x-goog-content-length-range: 0,1048576000' --upload-file my-file 'https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa'"} \ No newline at end of file +Response: + +{"upload_id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg","upload_url":"https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa","required_headers":{"Content-Type":"image/jpeg","x-goog-content-length-range":"0,1048576000"},"curl_example":"curl -X PUT -H 'Content-Type: image/jpeg' -H 'x-goog-content-length-range: 0,1048576000' --upload-file my-file 'https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa'"} + +Response Pretty Printed: + +{ + "upload_id": "ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg", + "upload_url": "https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa", + "required_headers": { + "Content-Type": "image/jpeg", + "x-goog-content-length-range": "0,1048576000" + }, + "curl_example": "curl -X PUT -H 'Content-Type: image/jpeg' -H 'x-goog-content-length-range: 0,1048576000' --upload-file my-file 'https://storage.googleapis.com/wlt-training-gsc-marble-assets-prod/temp/objects/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=wlt-training-gsc-sa%40wlt-training-gsc.iam.gserviceaccount.com%2F20251211%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251211T061016Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=content-type%3Bhost%3Bx-goog-content-length-range&X-Goog-Signature=8c494d7afd19eea9820fc1d629d8b10cc76410c34f98c440665a0e2a7bf6980e6fadaa4a271c335de485780ee645dfb8b2f956cd8cc17fb1878581f5b39331208197579f9976bc6d21e75df1828c3bd5aba5bf21b91100f3c583b76ab2f0ce5fba32c671eaac860cfd43d4ecc31f509a83b1c30a8336d81fd1c9cd9fc9283ed4e8978c7a6418dc3ac3da51384041a5e3b7255b7bd67bdbbad5f65e87ef883d0dac9018caded615be46914b0d298fdc651bf1a77bef1d44d23ab416446c9dab42d9d82dc78ceab67379ad143dd99173fdfbbd7997a5b47673fc960cf511b76a6d1f941274a8bce456a16809c4f2752517f468611f67bf9eb1fab35e0d3280bdaa'" +} diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r5_objects_complete.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r5_objects_complete.txt index 3b8bdf0be8..98a4aa960f 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r5_objects_complete.txt +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r5_objects_complete.txt @@ -24,4 +24,21 @@ fetch("https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects/ee33d03e-b153-4d5 "credentials": "include" }); -{"context":null,"id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e","display_name":"uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg","owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"READY","created_at":1765433416,"updated_at":1765433417,"object_uri":"https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg","mime_type":"image/jpeg","metadata":null} \ No newline at end of file +Response: + +{"context":null,"id":"ee33d03e-b153-4d56-a7cb-a08bf86bd20e","display_name":"uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg","owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"READY","created_at":1765433416,"updated_at":1765433417,"object_uri":"https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg","mime_type":"image/jpeg","metadata":null} + +Response Pretty Print: + +{ + "context": null, + "id": "ee33d03e-b153-4d56-a7cb-a08bf86bd20e", + "display_name": "uploaded_image_f21c0e52-5202-43eb-ba46-121860ae8265.jpeg", + "owner_id": "hdYte3rVrWbswJZEglL5CdmKfxv1", + "status": "READY", + "created_at": 1765433416, + "updated_at": 1765433417, + "object_uri": "https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg", + "mime_type": "image/jpeg", + "metadata": null +} diff --git a/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r6_objects_patch.txt b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r6_objects_patch.txt new file mode 100644 index 0000000000..b7872c7adc --- /dev/null +++ b/crates/api_clients/world_labs_client/src/api/requests/_metadata/request_flow_4/r6_objects_patch.txt @@ -0,0 +1,32 @@ +https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects/6623842d-3669-49b9-976f-5b239c24e353 + +fetch("https://marble2-kgw-prod-iac1.wlt-ai.art/api/v1/objects/6623842d-3669-49b9-976f-5b239c24e353", { + "headers": { + "accept": "*/*", + "accept-language": "en-US,en;q=0.9", + "authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ijk1MTg5MTkxMTA3NjA1NDM0NGUxNWUyNTY0MjViYjQyNWVlYjNhNWMiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiVm9jb2RlcyBWb2NvZGVzIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0x6Mi0yT2FBbTBNUXhSNmo4Q05yLVBvOF9Yci1hcnlBVGlDbjRjMGlfVHVEbUxfZz1zOTYtYyIsImlzcyI6Imh0dHBzOi8vc2VjdXJldG9rZW4uZ29vZ2xlLmNvbS93bHQtdHJhaW5pbmctZ3NjIiwiYXVkIjoid2x0LXRyYWluaW5nLWdzYyIsImF1dGhfdGltZSI6MTc2NTQzMzEwOCwidXNlcl9pZCI6ImhkWXRlM3JWcldic3dKWkVnbEw1Q2RtS2Z4djEiLCJzdWIiOiJoZFl0ZTNyVnJXYnN3SlpFZ2xMNUNkbUtmeHYxIiwiaWF0IjoxNzY1NDMzMTA4LCJleHAiOjE3NjU0MzY3MDgsImVtYWlsIjoidm9jb2RlczIwMjBAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZ29vZ2xlLmNvbSI6WyIxMTMxMDE5Njc2MTIzOTY3OTM3NzciXSwiZW1haWwiOlsidm9jb2RlczIwMjBAZ21haWwuY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiZ29vZ2xlLmNvbSJ9fQ.Q5yHeLfkTZb6DigaHmjwcejZNPw4byf0QAo-5z7FnZ2UJKfQINcwSQlXRTpDj-t4J8I5WlVBmqX9CM3UtSlQ4lJyc5UI2r5MPUri7Djl8NItKF0QEZhf-MO10crXuEG2IMNsiePrMjy9fDgHzOywA2HNpyJluZu9vgZqZxT4Nol11gcsxBssk7k-YWJR7Ig-pUgRzqkM0BgdX2HRad_gI2Fe7oH6s1cw1lJ157wYL-ltAH-diVWLuwlxolc7BeRDOEuqLlHtQgd4zVvVPrcOOSwwxOSPChgAaafERLBwaTBbFe3M0xqbdvPb7IU58LA-E3HlXyFsXcDf6m5anOyhrQ", + "baggage": "sentry-environment=prod,sentry-release=rel-5f2dd5e,sentry-public_key=3779934420ee57f00d05e5fb1e57f79d,sentry-trace_id=59eba427c8e042aaae0b9d30f7f3aa4f,sentry-org_id=4509005975388160,sentry-replay_id=ada67eaa105f47049ac59d52f38232dd,sentry-transaction=%2F(auth)%2Fonboarding,sentry-sampled=true,sentry-sample_rand=0.7143690752789659,sentry-sample_rate=1", + "cache-control": "no-cache", + "content-type": "application/json", + "pragma": "no-cache", + "priority": "u=1, i", + "sec-ch-ua": "\"Not_A Brand\";v=\"99\", \"Chromium\";v=\"142\"", + "sec-ch-ua-mobile": "?0", + "sec-ch-ua-platform": "\"Linux\"", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "sentry-trace": "59eba427c8e042aaae0b9d30f7f3aa4f-b681b158a45c6f06-1" + }, + "referrer": "https://marble.worldlabs.ai/", + "body": "{\"object\":{\"metadata\":{\"version\":\"0.0.1\",\"createdAt\":1765433415549,\"updatedAt\":1765433417487,\"useAdvancedEditing\":false,\"draftMode\":false,\"nodes\":{\"9b864e10-5a9b-46a1-8a94-2b571649a60d\":{\"id\":\"9b864e10-5a9b-46a1-8a94-2b571649a60d\",\"type\":\"input\",\"parentId\":null,\"source\":{\"type\":\"image\",\"image_url\":\"https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg\"},\"createdAt\":1765433417487},\"22b9587b-2b4d-49c2-a6eb-e985d890e7db\":{\"id\":\"22b9587b-2b4d-49c2-a6eb-e985d890e7db\",\"type\":\"pano\",\"parentId\":\"9b864e10-5a9b-46a1-8a94-2b571649a60d\",\"source\":{\"type\":\"generate_world\",\"world_id\":\"pending\",\"status\":\"pending\"},\"createdAt\":1765433417487},\"8e63a168-0c85-470d-b655-b185e0e13fee\":{\"id\":\"8e63a168-0c85-470d-b655-b185e0e13fee\",\"type\":\"world\",\"parentId\":\"22b9587b-2b4d-49c2-a6eb-e985d890e7db\",\"source\":{\"type\":\"generate_world\",\"world_id\":\"pending\",\"posed_cubemaps_url\":\"\",\"minimap_url\":\"\",\"minimap_metadata\":\"\",\"status\":\"pending\"},\"createdAt\":1765433417487}}}},\"update_mask\":[\"metadata\"]}", + "method": "PATCH", + "mode": "cors", + "credentials": "include" +}); + +{"context":null,"id":"6623842d-3669-49b9-976f-5b239c24e353","display_name":null,"owner_id":"hdYte3rVrWbswJZEglL5CdmKfxv1","status":"CREATED","created_at":1765433415,"updated_at":1765433417,"object_uri":null,"mime_type":"application/run+json","metadata":{"version":"0.0.1","createdAt":1765433415549,"updatedAt":1765433417487,"useAdvancedEditing":false,"draftMode":false,"nodes":{"9b864e10-5a9b-46a1-8a94-2b571649a60d":{"id":"9b864e10-5a9b-46a1-8a94-2b571649a60d","type":"input","parentId":null,"source":{"type":"image","image_url":"https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg"},"createdAt":1765433417487},"22b9587b-2b4d-49c2-a6eb-e985d890e7db":{"id":"22b9587b-2b4d-49c2-a6eb-e985d890e7db","type":"pano","parentId":"9b864e10-5a9b-46a1-8a94-2b571649a60d","source":{"type":"generate_world","world_id":"pending","status":"pending"},"createdAt":1765433417487},"8e63a168-0c85-470d-b655-b185e0e13fee":{"id":"8e63a168-0c85-470d-b655-b185e0e13fee","type":"world","parentId":"22b9587b-2b4d-49c2-a6eb-e985d890e7db","source":{"type":"generate_world","world_id":"pending","posed_cubemaps_url":"","minimap_url":"","minimap_metadata":"","status":"pending"},"createdAt":1765433417487}}}} + +The URL is accessible in the browser: + +https://cdn.marble.worldlabs.ai/object/ee33d03e-b153-4d56-a7cb-a08bf86bd20e/asset.jpg diff --git a/crates/api_clients/world_labs_client/src/api/requests/google_upload/google_upload_image.rs b/crates/api_clients/world_labs_client/src/api/requests/google_upload/google_upload_image.rs index 658b124177..90f1d93ce1 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/google_upload/google_upload_image.rs +++ b/crates/api_clients/world_labs_client/src/api/requests/google_upload/google_upload_image.rs @@ -13,7 +13,7 @@ use http_headers::values::pragma::PRAGMA_NO_CACHE; use http_headers::values::priority::{PRIORITY_6}; use http_headers::values::sec::{SEC_FETCH_DEST_EMPTY, SEC_FETCH_MODE_CORS, SEC_FETCH_SITE_CROSS_SITE}; use http_headers::values::te::TE_TRAILERS; -use log::error; +use log::{debug, error}; use serde::{Serialize}; use std::time::Duration; use wreq::header::{ACCEPT, ACCEPT_ENCODING, ACCEPT_LANGUAGE, AUTHORIZATION, CACHE_CONTROL, CONNECTION, CONTENT_LENGTH, CONTENT_TYPE, ORIGIN, PRAGMA, REFERER, TE}; @@ -39,6 +39,8 @@ pub async fn google_upload_image(args: GoogleUploadImageArgs<'_>) -> Result<(), let content_type = args.upload_mime_type.content_type(); + debug!("Requesting URL: {}", args.upload_url); + let mut request_builder = client.put(args.upload_url) .header(ACCEPT, ACCEPT_ALL) .header(ACCEPT_LANGUAGE, "en-US,en;q=0.5") diff --git a/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_attachment.rs b/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_attachment.rs index 5b753cefba..4317af66d2 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_attachment.rs +++ b/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_attachment.rs @@ -17,7 +17,7 @@ use http_headers::values::pragma::PRAGMA_NO_CACHE; use http_headers::values::priority::PRIORITY_4; use http_headers::values::sec::{SEC_FETCH_DEST_EMPTY, SEC_FETCH_MODE_CORS, SEC_FETCH_SITE_CROSS_SITE}; use http_headers::values::te::TE_TRAILERS; -use log::error; +use log::{debug, error, info}; use serde::{Deserialize, Serialize}; use std::time::Duration; use uuid::Uuid; @@ -47,6 +47,8 @@ pub async fn begin_object_image_attachment(args: BeginObjectImageAttachmentArgs< .build() .map_err(|err| WorldLabsClientError::WreqClientError(err))?; + debug!("Requesting URL: {}", URL); + let mut request_builder = client.post(URL) .header(ACCEPT, ACCEPT_ALL) .header(ACCEPT_LANGUAGE, "en-US,en;q=0.5") @@ -98,8 +100,11 @@ pub async fn begin_object_image_attachment(args: BeginObjectImageAttachmentArgs< if !status.is_success() { error!("Request returned an error (code {}) : {:?}", status.as_u16(), response_body); //return Err(classify_general_http_status_code_and_body(status, response_body)); + return Err(WorldLabsGenericApiError::UncategorizedBadResponseWithStatusAndBody { status_code: status, body: response_body}.into()) } + debug!("Response body (200): {}", response_body); + let response : RawResponse = serde_json::from_str(&response_body) .map_err(|err| WorldLabsGenericApiError::SerdeResponseParseErrorWithBody(err, response_body.to_string()))?; diff --git a/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_upload.rs b/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_upload.rs index eeb666fe11..c72ac68c14 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_upload.rs +++ b/crates/api_clients/world_labs_client/src/api/requests/objects/begin_object_image_upload.rs @@ -17,7 +17,7 @@ use http_headers::values::pragma::PRAGMA_NO_CACHE; use http_headers::values::priority::PRIORITY_4; use http_headers::values::sec::{SEC_FETCH_DEST_EMPTY, SEC_FETCH_MODE_CORS, SEC_FETCH_SITE_CROSS_SITE}; use http_headers::values::te::TE_TRAILERS; -use log::{error, info}; +use log::{debug, error, info}; use serde::{Deserialize, Serialize}; use std::time::Duration; use uuid::Uuid; @@ -53,6 +53,8 @@ pub async fn begin_object_image_upload(args: BeginObjectImageUploadArgs<'_>) -> .map_err(|err| WorldLabsClientError::WreqClientError(err))?; let url = get_url(args.upload_id); + + debug!("Requesting URL: {}", url); let mut request_builder = client.post(url) .header(ACCEPT, ACCEPT_ALL) @@ -104,9 +106,10 @@ pub async fn begin_object_image_upload(args: BeginObjectImageUploadArgs<'_>) -> if !status.is_success() { error!("Request returned an error (code {}) : {:?}", status.as_u16(), response_body); //return Err(classify_general_http_status_code_and_body(status, response_body)); + return Err(WorldLabsGenericApiError::UncategorizedBadResponseWithStatusAndBody { status_code: status, body: response_body}.into()) } - - info!("Ready for Google upload: {:?}", &response_body); + + debug!("Response body (200) (ready for Google upload): {}", response_body); let response : RawResponse = serde_json::from_str(&response_body) .map_err(|err| WorldLabsGenericApiError::SerdeResponseParseErrorWithBody(err, response_body.to_string()))?; diff --git a/crates/api_clients/world_labs_client/src/api/requests/objects/create_object.rs b/crates/api_clients/world_labs_client/src/api/requests/objects/create_object.rs index 38ffef5eab..e93e3ade4f 100644 --- a/crates/api_clients/world_labs_client/src/api/requests/objects/create_object.rs +++ b/crates/api_clients/world_labs_client/src/api/requests/objects/create_object.rs @@ -15,7 +15,7 @@ use http_headers::values::pragma::PRAGMA_NO_CACHE; use http_headers::values::priority::PRIORITY_HIGHEST; use http_headers::values::sec::{SEC_FETCH_DEST_EMPTY, SEC_FETCH_MODE_CORS, SEC_FETCH_SITE_CROSS_SITE}; use http_headers::values::te::TE_TRAILERS; -use log::error; +use log::{debug, error}; use serde::{Deserialize, Serialize}; use std::time::Duration; use wreq::header::{ACCEPT, ACCEPT_ENCODING, ACCEPT_LANGUAGE, AUTHORIZATION, CACHE_CONTROL, CONNECTION, CONTENT_TYPE, ORIGIN, PRAGMA, REFERER, TE}; @@ -43,6 +43,8 @@ pub async fn create_object(args: CreateObjectArgs<'_>) -> Result) -> Result