Turn ideas into rendered faceless videos from your own code. Plain REST, JSON in and out, one token.
Scripts, brand profiles, voices, visual styles, characters, credits, and full renders. Everything the dashboard does, callable from any language.
Generate a script, render it, and poll until the MP4 is ready. Then read the video back scene by scene: redraw one, add or upload one, retime the cuts, animate a still, or rewrite a line of narration, and export when it is right.
API renders spend the same credits as the dashboard and show up in My Videos. One personal access token works for both the API and the MCP server.
curl https://api.channel.farm/v1/account \
-H "Authorization: Bearer cf_live_..." curl -X POST https://api.channel.farm/v1/videos \
-H "Authorization: Bearer cf_live_..." \
-H "Content-Type: application/json" \
-d '{
"brand_profile_id": "<id>",
"script_id": "<id>",
"pacing": "dynamic"
}' /account Plan, credits, quotas, and limits GET /credits Credit balance for this billing period GET /brand-profiles List brand profiles POST /brand-profiles Create a brand profile PATCH /brand-profiles/:id Update a brand profile GET /brand-profiles/:id Every setting of one brand profile DELETE /brand-profiles/:id Delete a brand profile for good POST /brand-profiles/:id/characters Set a profile’s cast of characters GET /brand-profiles/:id/voice-tags The voice tags a profile’s voice performs GET /characters List recurring characters GET /voices Browse narration voices POST /voices/preview Hear a voice POST /voices Design or clone a voice of your own DELETE /voices/:id Delete one of your own voices GET /visual-styles List visual styles POST /visual-styles Create a custom visual style PATCH /visual-styles/:id Change one of your own styles DELETE /visual-styles/:id Delete one of your own styles POST /scripts Generate a script from an idea GET /scripts/:id Fetch a generated script POST /scripts/validate Estimate length and credit cost GET /scripts List your saved scripts DELETE /scripts/:id Delete a saved script POST /scripts/voice-tags Have AI add voice tags or cues to a script POST /visual-directions Draft a visual direction GET /visual-directions/:id Poll a visual direction draft POST /videos Render a video GET /videos List recent videos GET /videos/:id Poll a video render GET /videos/:id/scenes List a video’s scenes GET /videos/:id/narration List a video’s narration lines POST /videos/:id/open Open a finished video for editing POST /videos/:id/export Render your edits POST /videos/:id/scenes/regenerate Draw a scene again GET /videos/:id/scenes/versions A scene’s earlier pictures POST /videos/:id/scenes/versions Go back to an earlier picture POST /videos/:id/scenes/split Cut a scene into two POST /videos/:id/scenes/remove Take a scene out POST /videos/:id/scenes/blank Black out a scene PATCH /videos/:id/scenes One scene’s motion, transition, fades PATCH /videos/:id/style The whole video’s cuts and motion POST /videos/:id/scenes/animate Turn a still into a moving clip POST /videos/:id/scenes/unanimate Back to the still picture POST /videos/:id/scenes/add Draw a new picture into the video POST /videos/:id/scenes/upload Put your own image in a scene POST /videos/:id/scenes/cut Move the cut between two scenes POST /videos/:id/scenes/reorder Move a scene somewhere else POST /videos/:id/narration/rewrite Say a line again, or differently POST /videos/:id/narration/insert Add a spoken line POST /videos/:id/narration/delete Cut a spoken line out POST /videos/:id/narration/mute Silence a line, keep its pause GET /videos/:id/metadata Title, description, tags, thumbnail POST /videos/:id/metadata Write the title, description or tags again POST /videos/:id/thumbnail Draw the thumbnail again GET /videos/:id/versions Earlier titles, tags and thumbnails POST /videos/:id/versions Put an earlier one back PATCH /videos/:id Rename a video POST /videos/:id/archive Hide a video, or bring it back POST /videos/:id/published Mark a video as published PATCH /videos/:id/captions One video’s captions DELETE /videos/:id Delete a video for good POST /characters Draw a recurring character POST /characters/describe Reword a character, free POST /characters/:id/approve Save a character DELETE /characters/:id Throw a character away PATCH /characters/:id Rename a character GET /youtube/channels Your connected YouTube channels POST /youtube/posts Publish a video to YouTube GET /youtube/posts Your YouTube posts PATCH /youtube/posts/:id Change, cancel or retry a post GET /youtube/analytics Channel and video analytics OpenAPI spec at api.channel.farm/v1/openapi.json
Claude Code, Codex, and other MCP-aware agents get the same tools through our hosted MCP server. No HTTP client needed.