Production API gateway for generative media

Build video and image products with one API.

MakeFun API Hub gives developers a clean entry point for Seedance2 video generation, Nano Banana image generation, file uploads, job polling, and result delivery through the same origin.

2
Core generation families for video and image workflows.
4
API groups for auth, upload, generation, and polling.
1
Same-origin gateway for browser and server clients.
0
GPU setup steps before your first generation request.

Model APIs ready for product teams.

Use these endpoints as building blocks for consumer apps, internal creative tools, automated content pipelines, and custom media workflows.

text-to-video

Seedance2 Video

Create cinematic text-to-video jobs with duration, resolution, aspect ratio, and audio controls.

POST startbatch detaildelete
image-to-video

Seedance2 First Frame

Upload a reference frame to R2, then animate it with motion prompts and generation settings.

R2 uploadimage_urlpolling
text-to-image

Nano Banana Image

Generate or guide images with optional reference uploads, image size, aspect ratio, and search grounding.

Nano Bananareferencesresult URLs

Use the API from any client.

Send requests to this Worker origin. The gateway forwards /api/* to the MakeFun backend while preserving auth headers and request bodies.

POST/api/v1/seedance2Video/start

Submit text-to-video or image-to-video generation jobs.

GET/api/v1/seedance2Video/allRecords

List recent video jobs for the authenticated account.

POST/api/v1/userNanoBanana/start

Submit Nano Banana image generation or edit jobs.

POST/api/v1/r2/upload-presigned-url

Create presigned upload URLs for reference images and first frames.

curl -X POST "https://cheapvideoapi.com/api/v1/userNanoBanana/start" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product concept",
    "prompt": "studio photo of a translucent orange running shoe",
    "model": "nano-banana-pro",
    "image_size": "2K",
    "aspect_ratio": "1:1"
  }'
const response = await fetch("/api/v1/seedance2Video/start", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Launch clip",
    prompt: "macro shot of a product reveal with clean motion",
    model_version: "standard",
    duration: 5,
    resolution: "720p",
    aspect_ratio: "16:9",
    generate_audio: true
  })
});

const result = await response.json();
const detail = await fetch("/api/v1/seedance2Video/batchDetail", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ ids: ["JOB_ID"] })
});

const jobs = await detail.json();
const mediaUrl = jobs.data?.[0]?.url_show;

A simple production workflow.

The gateway is designed around the common lifecycle for media generation: prepare assets, submit jobs, then poll until result URLs are ready.

1

Authenticate

Attach your API token in the Authorization header for generation, upload, list, detail, and delete requests.

2

Submit

Post a JSON payload to the video or image start endpoint. Upload reference assets first when a URL is required.

3

Poll results

Use batch detail endpoints to refresh job status and read final media URLs when jobs complete.