Programmable Media

Captioning on upload using the Node.js SDK (video tutorial)

Last updated: Mar-05-2024


Learn how to automatically add a generated caption to an asset's contextual metadata after a successful upload for use as alt text, with the Cloudinary Node.js SDK.

Video tutorial

Tutorial contents

This tutorial presents the following topics. Click a timestamp to jump to that part of the video.


Jump to this spot in the video  0:00 AI can automatically generate captions for your images. To use these captions as alt text, you first need to attach them to the image. This can be achieved by using the on_success handler to save the generated caption to the asset’s contextual metadata. Once saved, this metadata can be accessed to place as alt text in your code.

Auto-generate a caption on upload

Jump to this spot in the video  0:21 Upload an image and include the detection: “captioning” parameter with the upload method to automatically generate an image caption.

Run the script and check the caption in the response

Jump to this spot in the video  0:30 Execute the script by running npm run start. The response will contain the automatically generated caption. You can review the image to make sure the caption accurately describes its content. Your caption should be suitable and ready to use as alt text.

Save the caption as contextual metadata with on_success

Jump to this spot in the video  0:54 Attach the caption to the image as contextual metadata using the on_success handler, which takes a string parameter to define attributes for the asset. Here's what we'll do:
  • Utilize current_asset.update to update the asset upon successful uploads.
  • Set two things for any image we upload:
    • Assign a tag to indicate that the caption was autogenerated: tags:[‘autogenerated’]
    • Retrieve the auto-generated caption from the upload response and attach it to the AI-generated caption onto the image as contextual metadata: context:{caption : e.upload_info?.info.detection?.captioning?.data?.caption}

Run the script and check the on_success handler in the response

Jump to this spot in the video  2:46 Execute the script using npm run start. The on_success handler was triggered upon successful upload, and it returned a successful response as displayed.

View the caption in the asset's contextual metadata

Jump to this spot in the video  3:06 In the Cloudinary Media Library, click the image to view its details in the Preview pane. (If the Preview pane is closed, click the Open Preview button to display it.) Within the Preview pane, navigate to the Metadata tab to find the auto-generated caption in the Contextual metadata section and the autocaption tag in the Tags section. This contextual metadata can now be used as alt text in our code.

Keep learning

Related topics

If you like this, you might also like...

Delete Assets with Node.js
Delete assets using various methods from the Node.js SDK
Trim Videos in Node.js
Trim videos using the Node.js SDK
Splice Videos in Node.js
Splice two videos together using the Node.js SDK


Cloudinary Academy


Check out the Cloudinary Academy for free self-paced Cloudinary courses on a variety of developer or DAM topics, or register for formal instructor-led courses, either virtual or on-site.


✔️ Feedback sent!

Rate this page: