---
# System prepended metadata

title: Untitled

---

### lib functions from carousel ad 

## Get Image Hash
```
import axios from 'axios';
import imageToBase64 from 'image-to-base64';
export const getImageHashFromAdAccount = async ({
	accessToken,
	adAccountId,
	imageUrl,
}) => {
	try {
		console.log(` ---- generating  image-hash from ad account ----`);

		const bytes = await imageToBase64(imageUrl);
		// console.log(bytes)
		const res: any = await axios.post(
			`https://graph.facebook.com/v12.0/act_${adAccountId}/adimages`,
			{
				access_token: accessToken,
				bytes,
			}
		);
		console.log(
			`-------------------------- returning image hash -----------------------------`
		);
		console.log(res?.data?.images?.bytes?.hash);
		return {
			success: true,
			data: {
				imageHash: res?.data?.images?.bytes?.hash,
			},
		};
	} catch (error) {
		console.log(
			` --- an error occurred while getting image hash from ad account ---`
		);
		console.log(error);
		console.log(error?.response?.data);
		return {
			success: false,
			data: null,
		};
	}
};

```

##  Get Video id 


```

export const getVideoIdFromFacebookGraph = async ({
	accessToken,
	adAccountId,
	videoUrl,
}) => {
	try {
		console.log(` ---- getting video-id from facebook graph -----`);
		const request: any = await axios.post(
			`https://graph.facebook.com/v12.0/act_${adAccountId}/advideos`,
			{
				access_token: accessToken,
				file_url: videoUrl,
				transport: 'cors',
			}
		);
		console.log(`----------- uploaded video id ------------`);
		console.log(request?.data?.id);
		return {
			success: true,
			data: {
				videoId: request?.data?.id,
			},
		};
	} catch (error) {
		console.log(
			` --- an error occurred while getting image hash from ad account ---`
		);
		console.log(error);
		console.log(error?.response?.data);
		return {
			success: false,
			data: null,
		};
	}
};

```