Integration

Eranol integration

Eranol is a pay-per-use FFmpeg media API with social publishing. Merge images into videos, join, cut, trim, reframe, zoom, caption, watermark and overlay videos, add intros, outros, music and progress bars, extract audio, frames and GIFs, convert video, audio and image formats, clean and enhance speech, render infographic images and animated explainers, and publish or schedule posts on the Instagram, LinkedIn, TikTok, YouTube and X accounts connected in the Eranol dashboard. Media jobs are asynchronous: each answers a job_id to poll with get_job_status, then get_job_result. Calls spend prepaid credits (100 free at sign-up, then $5 for 500); the animated explainer costs 10 per request, an upload 1. Not offered: AI image generation and its status route (the vendor answers 'currently disabled'), audio to video (its reference page documents another route) and the chat-assistant connectors. Authentication is an Eranol API key sent in the x-api-key header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Eranol.Built from the 54 Eranol tools below, on the connection you add once.

What you can do with Eranol

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Scheduled post, 10 operations

  • cancel_instagram_scheduled_postCancel instagram scheduled postDELETEAgents: ask firstCancels a pending scheduled Instagram post and refunds the credits charged at scheduling; a post already claimed, posted, failed or canceled answers 409.
  • cancel_linkedin_scheduled_postCancel linkedin scheduled postDELETEAgents: ask firstCancels a pending scheduled LinkedIn post and refunds the credits charged at scheduling; a post already claimed, posted, failed or canceled answers 409.
  • cancel_tiktok_scheduled_postCancel tiktok scheduled postDELETEAgents: ask firstCancels a pending scheduled TikTok post and refunds the credits charged at scheduling; a post already claimed, posted, failed or canceled answers 409.
  • cancel_x_scheduled_postCancel x scheduled postDELETEAgents: ask firstCancels a pending scheduled X post and refunds the credits charged at scheduling; a post already claimed, posted, failed or canceled answers 409.
  • cancel_youtube_scheduled_postCancel youtube scheduled postDELETEAgents: ask firstCancels a pending scheduled YouTube post and refunds the credits charged at scheduling; a post already claimed, posted, failed or canceled answers 409.
  • list_instagram_scheduled_postsList instagram scheduled postsGETAgents: ask firstLists the Instagram posts queued in Eranol with scheduled_for, in every status (pending, processing, posted, failed, canceled), with their original request.
  • list_linkedin_scheduled_postsList linkedin scheduled postsGETAgents: ask firstLists the LinkedIn posts queued in Eranol with scheduled_for, in every status (pending, processing, posted, failed, canceled), with their original request.
  • list_tiktok_scheduled_postsList tiktok scheduled postsGETAgents: ask firstLists the TikTok posts queued in Eranol with scheduled_for, in every status (pending, processing, posted, failed, canceled), with their original request.
  • list_x_scheduled_postsList x scheduled postsGETAgents: ask firstLists the X posts queued in Eranol with scheduled_for, in every status (pending, processing, posted, failed, canceled), with their original request.
  • list_youtube_scheduled_postsList youtube scheduled postsGETAgents: ask firstLists the YouTube posts queued in Eranol with scheduled_for, in every status (pending, processing, posted, failed, canceled), with their original request.

Video, 8 operations

  • compose_videoCompose videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Places videos and images on top of a main video, each between a start and an end time.
  • concat_videosConcat videosPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Joins video clips into one video in the given order, optionally with a fade or slide transition.
  • convert_video_to_mp4Convert video to mp4POSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts a video file (WebM, MOV, AVI...) to MP4.
  • convert_video_to_webmConvert video to webmPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts a video file to WebM (VP9 and Opus).
  • cut_videoCut videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Keeps only the given segments of a video and joins them into one output, for example to remove mistakes from a recording.
  • merge_images_to_videoMerge images to videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Builds a video from a list of images, each shown for a duration, with an optional voice track, background music and transition.
  • reframe_videoReframe videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Reframes a video to a new width and height: the video is scaled to fit inside (keeping its aspect ratio) and the rest is filled with a background color.
  • trim_videoTrim videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Keeps the part of a video between start_sec and end_sec, by stream copy (no re-encoding, fast and lossless).

Audio, 5 operations

  • convert_audio_to_mp3Convert audio to mp3POSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts an audio file (WAV, OGG, FLAC...) to MP3.
  • convert_audio_to_wavConvert audio to wavPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts an audio file (MP3, AAC, OGG...) to WAV.
  • denoise_audioDenoise audioPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Removes background noise from an audio or video file: afftdn (FFT-based, adjustable noise_reduction in dB) or arnndn (neural network).
  • enhance_audioEnhance audioPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Removes noise under speech with DeepFilterNet, applies an EQ voice profile and loudness normalization to an audio or video file; a video comes back as video by default.
  • remove_silenceRemove silencePOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Removes silent gaps from an audio or video file and joins the rest, to tighten pacing.

Image, 2 operations

  • convert_image_to_jpgConvert image to jpgPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts an image file (PNG, WebP, TIFF...) to JPG.
  • convert_image_to_webpConvert image to webpPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Converts an image file (PNG, JPG, animated GIF...) to WebP.

Job, 2 operations

  • delete_jobDelete jobDELETEAgents: ask firstDeletes a job and its output file, if any: cancels a pending job or frees storage once the file is downloaded. The file can no longer be read afterwards.
  • get_job_statusGet job statusGETAgents: ask firstReturns the status of any media job: pending, downloading, processing, completed, failed or cancelled, with progress and, once completed, its result; poll it until a final status.

Animated video, 1 operation

  • animate_videoAnimate videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Renders a 1080x1920 MP4 from a talking-head video with timed infographic scenes (split screen or fullscreen) and optional captions. Costs 10 credits per request.

Api key, 1 operation

  • verify_api_keyVerify api keyGETAgents: ask firstChecks that the API key is valid and active; the answer can also carry the account with its remaining credits.

Audio highlight, 1 operation

  • extract_audio_highlightsExtract audio highlightsPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Finds the loudest moments of an audio or video file (RMS energy peaks) and joins them into a highlight reel.

Audio track, 1 operation

  • extract_audio_from_videoExtract audio from videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Extracts the audio track of a video as a WAV file, mono by default.

Background audio, 1 operation

  • add_background_audio_to_videoAdd background audio to videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Mixes a background audio track (music) under a video at the given volume.

Email, 1 operation

  • send_email_notificationSend email notificationPOSTAgents: ask firstSends a real email with an HTML body to one recipient through Eranol.

Gif, 1 operation

  • create_gif_from_videoCreate gif from videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Makes an animated GIF from a video segment of at most 60 seconds, with a two-pass palette for quality.

Infographic image, 1 operation

  • render_infographic_imagesRender infographic imagesPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Renders infographic scenes as PNG images, one per scene (portrait, square or story size), for carousels; 1 credit per request. Images are deleted after 24 hours.

Instagram post, 1 operation

  • publish_instagram_postPublish instagram postPOSTAgents: ask firstPublishes a photo or Reel publicly on the Instagram account connected in Eranol, now or at scheduled_for. The media must be hosted on eranol.com, for example a job result.

Job result, 1 operation

  • get_job_resultGet job resultGETAgents: ask firstReturns the output of a completed media job: the file URL with its filename, duration and resolution; answers 202 while it runs and 400 when it failed. Every field of the answer is also passed whole in response.

Linkedin post, 1 operation

  • publish_linkedin_postPublish linkedin postPOSTAgents: ask firstPublishes a post on the LinkedIn profile connected in Eranol (text, up to 9 images, one video, one PDF or a link), now or at scheduled_for; visible to the chosen audience.

Linkedin publish, 1 operation

  • get_linkedin_publish_statusGet linkedin publish statusGETAgents: ask firstReturns the outcome of a LinkedIn publish attempt: submitted (in progress), complete or failed, with the post link.

Media file, 1 operation

  • upload_mediaUpload mediaPOSTAgents: ask firstUploads an image (jpg, jpeg, png, gif or webp, up to 20 MB) to your Eranol Media Library and returns its public URL, which publish_linkedin_post accepts in media_urls. 1 credit per upload; needs an account that has bought credits.

Pdf, 1 operation

  • convert_images_to_pdfConvert images to pdfPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Combines up to 50 images into one PDF, one image per page in order; HEIC, WebP, GIF, BMP and TIFF are converted automatically.

Thumbnail, 1 operation

  • create_video_thumbnailCreate video thumbnailPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Takes the frame at a timestamp of a video, optionally with a text label on a background box, as a thumbnail image.

Tiktok publish, 1 operation

  • get_tiktok_publish_statusGet tiktok publish statusGETAgents: ask firstReturns the status of a TikTok publish: poll until SEND_TO_USER_INBOX (draft delivered), PUBLISH_COMPLETE or FAILED (with fail_reason).

Tiktok video, 1 operation

  • publish_tiktok_videoPublish tiktok videoPOSTAgents: ask firstPosts a video to the TikTok account connected in Eranol (or sends it to its inbox as a draft with as_draft); follow it with get_tiktok_publish_status. The video must be hosted on eranol.com.

Video caption, 1 operation

  • caption_videoCaption videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Transcribes the speech of a video (Vosk) and burns the captions onto it with your styling; the result has the captioned video and an SRT subtitle file.

Video frame, 1 operation

  • extract_frames_from_videoExtract frames from videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Extracts frames of a video between start_sec and end_sec as PNG images (download links in the result), one per second by default.

Video intro, 1 operation

  • add_intro_to_videoAdd intro to videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Puts an intro clip before a video; both are re-encoded to matching parameters and joined.

Video outro, 1 operation

  • add_outro_to_videoAdd outro to videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Puts an outro clip (an end card, a subscribe call to action) after a video; both are re-encoded to matching parameters and joined.

Video overlay, 1 operation

  • overlay_on_videoOverlay on videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Draws a text or an image on a video, at a named position or x/y, for a time range, with opacity and size control; several overlays go in overlays.

Video progress bar, 1 operation

  • add_progress_bar_to_videoAdd progress bar to videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Adds an animated progress bar to a video: grow fills left to right over the video, shrink counts down like a story; the examples also show border_grow and border_shrink.

Video watermark, 1 operation

  • watermark_videoWatermark videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Places a logo or watermark image on a video, sized relative to the video width, at a corner, edge or the center, with opacity.

Video zoom, 1 operation

  • zoom_videoZoom videoPOSTAgents: ask firstAsync job: returns a job_id; poll get_job_status, then read get_job_result. Zooms into a video during the given segments, for example to punch in on a talking head.

X post, 1 operation

  • publish_x_postPublish x postPOSTAgents: ask firstPublishes a post on the X account connected in Eranol, now or at scheduled_for. Costs 1 credit, 20 when the text contains a URL (a URL also needs an account that bought credits).

Youtube video, 1 operation

  • publish_youtube_videoPublish youtube videoPOSTAgents: ask firstUploads and publishes a video on the YouTube channel connected in Eranol, as public, unlisted or private, now or at scheduled_for. The video must be hosted on eranol.com.

Use Eranol from Claude Code, Cursor or Codex

Connect Eranol in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Eranol operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Eranol

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Eranol once

    Add your Eranol connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Eranol integration FAQ

What can you do with the Eranol integration?

LiveContext exposes 54 operations on Eranol, covering scheduled post, video, audio and image.

Popular integrations

Browse the whole catalog