{
  "schemaVersion": "1.0",
  "title": "The Ferryman of Floating Gardens",
  "canonical": "https://donatello.studio/gallery/full-video-cartoon-lantern-ferry",
  "scope": "First-party curated finished-script-to-video example made in the Donatello browser editor. Account-credit billing, no private animation or adaptive-motion features, no billing bypass.",
  "publication": {
    "preparedAt": "2026-09-26T23:21:38.753Z",
    "authorization": "Original editorial project created for this task; no pre-existing private projects published.",
    "updatedAt": "2026-09-27T00:04:54.112Z"
  },
  "execution": {
    "startedAt": "2026-09-26T21:43:49.660128+00:00",
    "completedAt": "2026-09-26T23:19:31.404098+00:00",
    "observedEndToEndSeconds": 5741.744,
    "finalGenerationAndExportSeconds": 28.882,
    "elapsedTimeMeaning": "Includes manual image review, prompt changes, retries and other implementation work. Not an unattended speed benchmark or a Relax test.",
    "failedSteps": [
      {
        "operation": "plan"
      },
      {
        "operation": "plan"
      },
      {
        "operation": "plan"
      }
    ],
    "access": "Normal-priority account credits; no top-up or purchase.",
    "automatedImageReview": {
      "reviewCalls": 1,
      "models": [
        "google:gemma@4-31b"
      ],
      "scope": "Automated image-quality review was active on this editorial/admin run; this is not evidence of availability to every account."
    }
  },
  "billing": {
    "creditsCharged": 117,
    "reservedCredits": 211,
    "refundedCredits": 94,
    "providerCostUsd": 0.063501,
    "costBreakdown": [
      {
        "operation": "generation",
        "events": 20,
        "usd": 0
      },
      {
        "operation": "music_generation",
        "events": 1,
        "usd": 0.001098
      },
      {
        "operation": "music_planner",
        "events": 1,
        "usd": 0.000421
      },
      {
        "operation": "voice_generation",
        "events": 7,
        "usd": 0.012315
      },
      {
        "operation": "input_moderation",
        "events": 21,
        "usd": 0.015992
      },
      {
        "operation": "output_moderation",
        "events": 20,
        "usd": 0.014309
      },
      {
        "operation": "story_planning",
        "events": 10,
        "usd": 0.01923
      },
      {
        "operation": "automated_image_quality_review",
        "events": 1,
        "usd": 0.000136
      }
    ],
    "costMeaning": "Recorded and estimated variable provider charges, including planning and moderation. Some image calls are recorded at zero under included quota. Excludes fixed subscriptions, infrastructure, taxes and human review; not a supplier invoice or future price quote. Excludes 1 failed attempts whose supplier price was not recorded; the known sum is not a complete final invoice.",
    "unpricedAttempts": [
      {
        "operation": "input_moderation",
        "successful": false
      }
    ]
  },
  "output": {
    "url": "/gallery/full-video/cartoon-20260927/demo-caption-v2.mp4",
    "byteSize": 7026832,
    "sha256": "cf7f938f6c33981ddeaeb729b3930938775c7d8248b60465997f533618e418f8",
    "durationSeconds": 52.169,
    "width": 1280,
    "height": 720,
    "videoCodec": "h264",
    "audioCodec": "aac",
    "audioChannels": 2,
    "audioSampleRate": 48000
  },
  "settings": {
    "style": "3d-cartoon",
    "language": "en",
    "aspectRatio": "16:9",
    "speed": 1,
    "ducking": true,
    "voiceKind": "builtin",
    "resolution": "720p",
    "transition": "fade",
    "musicPrompt": "Instrumental music children’s story, without vocals, to accompany a narrated story.",
    "musicVolume": 12,
    "musicEnabled": true,
    "subtitleSize": 32,
    "subtitlePreset": "classic",
    "subtitleShadow": true,
    "subtitleOutline": 2,
    "subtitlePosition": "bottom",
    "subtitleOutlineColor": "#000000",
    "subtitleShadowStrength": 6,
    "narrator": "Abby — warm audiobook narrator"
  },
  "script": "In a village of floating gardens, Pip the otter kept a tiny ferry tied beneath an old willow. Every evening, he carried a single amber lantern across the river.\n\nOne misty night, the lantern went dark halfway to the opposite bank. Pip stopped rowing and listened. From the reeds came a soft, answering chirp.\n\nA firefly landed on his empty lantern. Then another arrived, until its glass chamber glowed like a pocketful of stars.\n\nTheir light revealed a young hedgehog stranded on a stepping stone. Pip brought the ferry alongside and lowered a little wooden ramp.\n\nTogether they reached the garden landing, where the village windows were waiting in darkness. Pip lifted the lantern high.\n\nFireflies drifted through the branches, turning the willow into a constellation. The smallest ferry had brought home enough light for everyone.",
  "characters": [
    {
      "name": "Pip",
      "description": "A young, cheerful otter with sleek brown fur, expressive dark eyes, and a small, upturned nose. He wears a simple, weathered blue canvas vest and a small cap, appearing agile and kind-hearted."
    },
    {
      "name": "Hedgehog",
      "description": "A small, timid young hedgehog with light brown quills, a cream-colored belly, and large, anxious eyes. They are wearing a tiny, frayed red scarf around their neck."
    }
  ],
  "scenes": [
    {
      "index": 1,
      "narration": "In a village of floating gardens, Pip the otter kept a tiny ferry tied beneath an old willow.",
      "visualPrompt": "A 3d-cartoon scene of a charming village with small houses built on floating platforms connected by lily pads. Pip, a young brown otter wearing a blue canvas vest and cap, stands on his small wooden ferry tied to a willow tree branch dipping into the water.",
      "motion": "none",
      "startSeconds": 0,
      "durationSeconds": 5.9,
      "narrationDurationSeconds": 5.9,
      "image": "/gallery/full-video/cartoon-20260927/images/001.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/001.mp3",
      "imageRevisions": 0
    },
    {
      "index": 2,
      "narration": "Every evening, he carried a single amber lantern across the river. One misty night, the lantern went dark halfway to the opposite bank.",
      "visualPrompt": "EXTREME CLOSE-UP, polished 3D cartoon film still, 16:9. Fill the frame with the expressive face of Pip, a small brown otter wearing a weathered blue cap. Crop tightly from the top of his cap to his shoulders; no arms, no paws, no lower body or objects in the frame. Pip looks startled and listens intently, mouth slightly open, soft fur and reflective eyes. Behind him only defocused midnight-blue river mist and dark reeds. Pure cool blue moonlight, no yellow or orange anywhere. Intimate emotional reaction shot with a shallow depth of field.",
      "motion": "zoom_in",
      "startSeconds": 5.9,
      "durationSeconds": 8.333333333333334,
      "narrationDurationSeconds": 8.333333333333334,
      "image": "/gallery/full-video/cartoon-20260927/images/002.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/002.mp3",
      "imageRevisions": 4
    },
    {
      "index": 3,
      "narration": "Pip stopped rowing and listened. From the reeds came a soft, answering chirp. A firefly landed on his empty lantern.",
      "visualPrompt": "Tight cinematic side-profile portrait of Pip the little brown otter. Only his head, blue cap, shoulders and upper blue vest are visible; the composition is cropped at chest level. He gazes to the right with wide curious eyes and a gentle open-mouthed smile, listening. Background is completely soft, defocused blue night mist with scattered tiny green glowing specks among blurred reeds. Pure cool moonlight on soft fur. Polished original 3D cartoon animation aesthetic, beautiful shallow depth of field, cinematic 16:9.",
      "motion": "none",
      "startSeconds": 14.233333333333334,
      "durationSeconds": 8.4,
      "narrationDurationSeconds": 8.4,
      "image": "/gallery/full-video/cartoon-20260927/images/003.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/003.mp3",
      "imageRevisions": 4
    },
    {
      "index": 4,
      "narration": "Then another arrived, until its glass chamber glowed like a pocketful of stars. Their light revealed a young hedgehog stranded on a stepping stone.",
      "visualPrompt": "Wide polished 3D cartoon rescue shot on a dark blue moonlit river. LEFT: Pip the brown otter in blue cap and blue vest sits inside a small plain wooden rowboat, holding a brass glass lantern lit by tiny fireflies, no flame. RIGHT: a small hedgehog in a RED SCARF stands on ONE mossy rock surrounded on all sides by river water, OUTSIDE THE BOAT. A clearly visible water gap separates rock and rowboat. Hedgehog is stranded, not yet aboard. No rock inside the boat, no railing or cabin, no other boats. 16:9.",
      "motion": "pan_right",
      "startSeconds": 22.633333333333333,
      "durationSeconds": 8.7,
      "narrationDurationSeconds": 8.7,
      "image": "/gallery/full-video/cartoon-20260927/images/004.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/004.mp3",
      "imageRevisions": 1
    },
    {
      "index": 5,
      "narration": "Pip brought the ferry alongside and lowered a little wooden ramp. Together they reached the garden landing, where the village windows were waiting in darkness.",
      "visualPrompt": "Polished 3D cartoon moonlit river rescue, medium wide side view. Pip the brown otter in blue cap and blue vest stands securely INSIDE a tiny open wooden rowboat with low sides. A short narrow wooden board bridges from the edge of his boat across a small visible water gap to a separate mossy stepping stone OUTSIDE the boat. A small hedgehog in a red scarf is stepping cautiously along that board toward Pip. Brass lantern on the boat bench glows with tiny fireflies, no flame. No harbor, no ship, no cabin, no railing. Dark blue river, 16:9.",
      "motion": "zoom_out",
      "startSeconds": 31.333333333333332,
      "durationSeconds": 8.833333333333334,
      "narrationDurationSeconds": 8.833333333333334,
      "image": "/gallery/full-video/cartoon-20260927/images/005.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/005.mp3",
      "imageRevisions": 1
    },
    {
      "index": 6,
      "narration": "Pip lifted the lantern high. Fireflies drifted through the branches, turning the willow into a constellation.",
      "visualPrompt": "Beautiful polished 3D cartoon film still at blue night. Pip the little brown otter in blue vest and cap and his small hedgehog friend in red scarf stand together on a simple wooden garden landing. Pip raises a small warm glowing brass lantern high. Behind them is an immense WEEPING WILLOW: hundreds of fine slender branches with long narrow leaves droop downward like curtains to the water. Thousands of tiny golden-green fireflies twinkle between these delicate hanging branches. Small cozy floating garden cottages across the river. Whimsical magical finale, clear anatomy, medium wide 16:9.",
      "motion": "pan_up",
      "startSeconds": 40.166666666666664,
      "durationSeconds": 6.833333333333333,
      "narrationDurationSeconds": 6.833333333333333,
      "image": "/gallery/full-video/cartoon-20260927/images/006.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/006.mp3",
      "imageRevisions": 1
    },
    {
      "index": 7,
      "narration": "The smallest ferry had brought home enough light for everyone.",
      "visualPrompt": "A wide shot of the floating garden village at night. The willow tree is glowing intensely with fireflies, casting a warm, magical light over the entire village while Pip and the hedgehog look up from the ferry.",
      "motion": "zoom_out",
      "startSeconds": 47,
      "durationSeconds": 5.166666666666666,
      "narrationDurationSeconds": 3.1666666666666665,
      "image": "/gallery/full-video/cartoon-20260927/images/007.png",
      "voice": "/gallery/full-video/cartoon-20260927/voice/007.mp3",
      "imageRevisions": 0
    }
  ],
  "imageReview": {
    "finalScenesReviewed": 7,
    "imageRevisions": 11,
    "notes": "Reviewed and revised for lantern staging, character continuity, rowboat size, the rescue ramp and clear separation of boat and stepping stone. Reaction shots avoid an inconsistent lantern close-up. These are curated illustrations, not continuously simulated objects. Automated image-quality review was active on this editorial/admin run; availability to every account is not established by this example."
  },
  "qualityChecks": {
    "decode": "Caption-repaired H.264/AAC export decoded fully without errors.",
    "integratedLufs": -16.32,
    "truePeakDbtp": -1.1,
    "captions": "Exact script words preserved. No subsecond orphan cues. VTT, SRT and burned ASS use the same regrouped cues.",
    "audioReview": "Technical stream, duration and loudness checks; no claim of an independent listening review."
  },
  "editing": "Original images, camera paths, transitions and AAC narration/music mix preserved. Captions were regrouped and re-exported locally with the Donatello renderer without provider calls. Both export versions remain publicly available.",
  "limitations": [
    "Reviewed and revised for lantern staging, character continuity, rowboat size, the rescue ramp and clear separation of boat and stepping stone. Reaction shots avoid an inconsistent lantern close-up. These are curated illustrations, not continuously simulated objects. Automated image-quality review was active on this editorial/admin run; availability to every account is not established by this example.",
    "Curated short credit-funded run, not an independent review, representative quality benchmark, Relax timing test or 20-minute demonstration.",
    "Artwork is generated still imagery with camera movement, not continuous character animation or lip-sync.",
    "Commercial use is subject to Terms, input permissions and third-party rights. Gallery evidence is not a separate stock-media licence.",
    "This editorial/admin run included automated image-quality review. Its availability to other accounts is not established by this demo."
  ],
  "files": [
    {
      "url": "/gallery/full-video/cartoon-20260927/demo.mp4",
      "byteSize": 6998340,
      "sha256": "9fbb95db790f9f0978061a1b0275904531c6058bf10c14df64478d1bff8ad875"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/poster.jpg",
      "byteSize": 173161,
      "sha256": "87353ec1b6eca551c7f6f4d648d84d7c784ea99f5354f91c26589d14b148fd38"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/captions.vtt",
      "byteSize": 1455,
      "sha256": "93966818644bc7520921a3d38bafaca157dc9b291fa1e4c2b368754f1be3c64a"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/captions.srt",
      "byteSize": 1498,
      "sha256": "176f84d457490494909655bdaa786ecb59283196bd6df1daf93fbea2e9606815"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/001.png",
      "byteSize": 1244679,
      "sha256": "7b59b5afb9b866e5bbe6f439a49fcd89d519f082a502fd62ef0fccadc0fc1cb0"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/002.png",
      "byteSize": 981055,
      "sha256": "69030ccf5680da35d64f74801f616d3a191e1e2dfb0798281f5bab6d026fc7f1"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/003.png",
      "byteSize": 1008190,
      "sha256": "4a9bdcd5438475166161d1972cdcc0fe15d2ada4fbd2c12b502fea596fb9eec5"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/004.png",
      "byteSize": 997462,
      "sha256": "2b7d25cf5ae1e194f4957fd94be9554222f9325233d8a3ce9224fae577869b20"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/005.png",
      "byteSize": 1043188,
      "sha256": "5ce81fc7335a4cfa2004142bccdcea135146055997611520d51022c07ecf3b55"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/006.png",
      "byteSize": 1227942,
      "sha256": "ea2a20f4add73b24252389a524f8abd268b66d42a783e772128dc77def0e1738"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/images/007.png",
      "byteSize": 1297248,
      "sha256": "72f05064b15d4f25a2fd1d542d374b3e134866409409379b3cd92242748fd18e"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/characters/01.png",
      "byteSize": 1096868,
      "sha256": "5f432ee6b6cf7cceb456f9c4ae6a324760a23dae65a0bfe8888900c6bd2a44c4"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/characters/02.png",
      "byteSize": 1351192,
      "sha256": "05e7df1f9130c7d8f88cdf9d9488845e5fbdf9950360ca05ac4c42fe87100dfc"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/001.mp3",
      "byteSize": 94501,
      "sha256": "a621cf7f95ba65da8a24a43a8f1bbb6267cdfa634e22aeb663ad8ebbf379ef08"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/002.mp3",
      "byteSize": 133372,
      "sha256": "94aaa972cac5e3e933b32cfa367288d10564d20de72be49ede363eb2ef13618a"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/003.mp3",
      "byteSize": 134625,
      "sha256": "50e86c15848c1580408b20f00b9c970684cee9e2e1f712665b5cc9b5b81ec99b"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/004.mp3",
      "byteSize": 139223,
      "sha256": "79578a777dfb80ee744607fcd7fc3f73589ed4f102b44dac3947cec275f0ad9a"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/005.mp3",
      "byteSize": 141313,
      "sha256": "41149163c941ba9d750dcc2181ed500ac38660700651a63434bdf9fb785145e8"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/006.mp3",
      "byteSize": 109548,
      "sha256": "c3d5d6a11ead207670be72c40e57e427e5f22acb31a3dd4c23493707875d8e83"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/007.mp3",
      "byteSize": 51034,
      "sha256": "d2610effc39ce2bcab4d0896cd9978b3489004867d3c6706b7ab5a97688d2601"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/voice/narration.wav",
      "byteSize": 9632078,
      "sha256": "642a90c707c2f9f9e8990f64d2bfcd0ad4722241f5358b5b0520cfaefb01cf69"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/music/original.mp3",
      "byteSize": 1231824,
      "sha256": "681363b010f2aef2ebeecdfb099f2f89cdc0d50fdeb866f11b558faa489aef93"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/music/timeline.wav",
      "byteSize": 10016078,
      "sha256": "1867b1f6037a9ff95042edf5318c406275a80572dd3c77bf94e052ff59c9a04e"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/script.txt",
      "byteSize": 833,
      "sha256": "9cb668bacab1cd1ae38570c61686a4bb5afb5e3fdac3ba9fe28a2c581ac44975"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/demo-caption-v2.mp4",
      "byteSize": 7026832,
      "sha256": "cf7f938f6c33981ddeaeb729b3930938775c7d8248b60465997f533618e418f8"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/poster-caption-v2.jpg",
      "byteSize": 175262,
      "sha256": "f48411fbf85d03a22ff2db5b8dcab5bfe75a4d309afef2f763bd71ec00a1c071"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/captions-v2.vtt",
      "byteSize": 1300,
      "sha256": "57cb2e4413b158a79eedcb10ae1fc93d70b89fc83c83d31c0903c39b36c25b76"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/captions-v2.srt",
      "byteSize": 1328,
      "sha256": "f8cbc7730cc8ccfc3a4860abf9aa17084ec9ff9fb09bf62a650d57a16142745d"
    },
    {
      "url": "/gallery/full-video/cartoon-20260927/captions-v2.ass",
      "byteSize": 2129,
      "sha256": "5c26774955bd4bd9479c7aa1914cafd89beca98bef411b65b6135dd11d6f8959"
    }
  ],
  "captionRepair": {
    "at": "2026-09-27T00:04:54.112Z",
    "method": "Caption-only local re-export using Donatello camera/transition renderer, unchanged source images and original AAC bitstream; no provider calls.",
    "sourceExport": {
      "url": "/gallery/full-video/cartoon-20260927/demo.mp4",
      "byteSize": 6998340,
      "sha256": "9fbb95db790f9f0978061a1b0275904531c6058bf10c14df64478d1bff8ad875",
      "durationSeconds": 52.169,
      "width": 1280,
      "height": 720,
      "videoCodec": "h264",
      "audioCodec": "aac",
      "audioChannels": 2,
      "audioSampleRate": 48000
    },
    "sourceRunRecord": "/gallery/full-video/cartoon-20260927/run.json",
    "providerCalls": 0,
    "creditsCharged": 0,
    "audioBitstreamUnchanged": true,
    "allSourceImagesUnchanged": true,
    "cueCount": 15,
    "minCueSeconds": 1.966666666666667,
    "timing": "Regrouped at sentence/clause boundaries within measured scene clips. Minimum reading time checked; not word-level forced alignment."
  }
}
