Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // carbon.js
- const crypto = require("crypto")
- async function codeToImageUrl(code, backgroundColor = '#ADD8E6') {
- const payload = {
- code: code,
- backgroundColor: backgroundColor,
- lineNumbers: true
- };
- const response = await fetch('https://carbonara.solopov.dev/api/cook', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify(payload)
- });
- const buffer = await response.arrayBuffer();
- const fileName = crypto.randomBytes(8).toString('hex') + '.png';
- const visitorId = crypto.randomUUID();
- const boundary = '----WebKitFormBoundary' + crypto.randomBytes(16).toString('hex');
- const body = Buffer.concat([
- Buffer.from(`--${boundary}\r\n`),
- Buffer.from(`Content-Disposition: form-data; name="file"; filename="${fileName}"\r\n`),
- Buffer.from(`Content-Type: image/png\r\n\r\n`),
- Buffer.from(buffer),
- Buffer.from(`\r\n--${boundary}--\r\n`)
- ]);
- const headers = {
- 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36',
- 'Content-Type': `multipart/form-data; boundary=${boundary}`
- };
- const url = `https://api.aceimg.com/api/upload?visitorId=${visitorId}`;
- const uploadResponse = await fetch(url, {
- method: 'POST',
- headers: headers,
- body: body
- });
- const result = await uploadResponse.json();
- if (result.status && result.link) {
- const fileName = result.link.match(/f=([^&]+)/)?.[1];
- if (fileName) {
- return JSON.stringify({
- status: true,
- cdnUrl: `https://cdn.aceimg.com/${fileName}`,
- previewUrl: result.link
- });
- }
- }
- return JSON.stringify({
- status: false,
- error: "Upload failed"
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment