authustle
API v1

Put a face into any Reel, from one HTTP call

Send a public Instagram or TikTok link, get back a vertical MP4 with your avatar in it. Reading a source and quoting its price is free; generating spends prepaid credits.

Quickstart

Create a key at /settings — it is shown once — then export it as AUTOHUSTLE_KEY.

# 1. Check the key and the balance
curl -H "Authorization: Bearer $AUTOHUSTLE_KEY" \
  https://autohustle.me/api/v1/me

# 2. Analyze a source — free, spends nothing
curl -X POST https://autohustle.me/api/v1/analyses \
  -H "Authorization: Bearer $AUTOHUSTLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source_url":"https://www.instagram.com/reel/XXXXXXXXX/"}'

# 3. Generate — debits credits, returns an id to poll
curl -X POST https://autohustle.me/api/v1/generations \
  -H "Authorization: Bearer $AUTOHUSTLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source_url":"https://www.instagram.com/reel/XXXXXXXXX/"}'

# 4. Poll until status is "completed", then read video_url
curl -H "Authorization: Bearer $AUTOHUSTLE_KEY" \
  https://autohustle.me/api/v1/generations/GENERATION_ID

Endpoints

POST/api/v1/analysesRead a source, return the scene breakdown and the exact price. Free.
POST/api/v1/generationsStart a generation. Debits credits, returns an id immediately.
GET/api/v1/generations/{id}Poll a run. `video_url` appears when `status` is `completed`.
GET/api/v1/pricingMachine-readable price list. No key required.
GET/api/v1/avatarsAvatars available in the workspace.
GET/api/v1/meKey identity, credit balance, top-up URL.

Connect it as an MCP server

If your assistant speaks the Model Context Protocol, there is no HTTP code to write. Point it at https://autohustle.me/api/mcp — Streamable HTTP transport, authenticated with the same API key — and the tools below appear in the session. They wrap the same endpoints, so the routing, the prices and the refund rules are identical either way.

Claude Code

claude mcp add --transport http autohustle https://autohustle.me/api/mcp \
  --header "Authorization: Bearer $AUTOHUSTLE_KEY"

Clients configured with a JSON file

{
  "mcpServers": {
    "autohustle": {
      "type": "http",
      "url": "https://autohustle.me/api/mcp",
      "headers": {
        "Authorization": "Bearer ah_live_…"
      }
    }
  }
}

In a client that adds connectors through its own UI, paste the URL and set the Authorization header to Bearer plus your key from /settings. Connecting and listing tools works without a key; calling one without a valid key returns an error saying so.

analyze_reelRead a public Instagram Reel or TikTok video and report what it would take to recreate it with the user's avatar in it. Free — this spends no credits and commits to nothing.
generate_videoStart recreating a public Reel or TikTok with the user's avatar in it. **This debits prepaid credits and cannot be undone** — get the user's agreement on the price from `analyze_reel` first.
get_generationPoll a generation started by `generate_video`. `status` is one of `queued`, `processing`, `completed`, `failed`; `video_url` is filled in once it is `completed`.
get_pricingThe machine-readable price list: credits per model, what credit packs cost in dollars, and the subscription. Needs no API key — an agent can read this before the user has an account. For the price of one specific video, use `analyze_reel` instead, which quotes the actual source.
get_meConfirm the API key works and report the workspace's credit balance, plan and top-up URL. Worth calling once at the start of a session so a shortfall is discovered before a generation is attempted rather than during one.

Only generate_video spends credits, and it is annotated as destructive so a client can ask before it runs. Everything else is free to call.

What a call costs

Prices are in credits. The routing is automatic — the analysis endpoint tells you which model a source resolved to and the exact number of credits a generation will debit, before you spend any.

RouteCreditsMax length
Face replace (HappyHorse)4 / second15s
Motion copy, outfit-accurate (Kling, image orientation)24 flat10s
Motion copy, full length (Kling, video orientation)70 flat30s
Scene render without a face (Seedance)40 flat30s

Credits are bought in packs from $10 (50 credits) — see /pricing. Analysis costs 0 credits.

Errors and payment

Every failure is application/problem+json (RFC 9457) with a stable code to branch on. Running out of credits is an HTTP 402 carrying everything needed to recover:

HTTP/1.1 402 Payment Required
Content-Type: application/problem+json

{
  "type": "https://autohustle.me/problems/insufficient_credits",
  "title": "Not enough credits",
  "status": 402,
  "code": "insufficient_credits",
  "detail": "This generation costs 60 credits, the workspace has 12.",
  "required_credits": 60,
  "balance_credits": 12,
  "missing_credits": 48,
  "topup_url": "https://autohustle.me/billing"
}

Questions

What does the AutoHustle API do?

It takes a public Instagram Reel or TikTok URL and returns a vertical MP4 of the same video with your avatar's face in it. Analysis (what the source is, what it would cost) is free; generation spends prepaid credits.

How do I authenticate?

With an API key created at https://autohustle.me/settings, sent as `Authorization: Bearer ah_live_…`. Keys are workspace-scoped and can be revoked at any time.

Is it synchronous?

No. A generation takes roughly 25 minutes. POST /api/v1/generations returns immediately with an id; poll GET /api/v1/generations/{id} until status is completed and read video_url.

What happens when the workspace runs out of credits?

The API returns HTTP 402 with a problem+json body carrying required_credits, balance_credits and topup_url, so an agent can stop cleanly and hand its owner a link.

What happens if a generation fails?

Credits are returned automatically when the failure is on our side. Sources we cannot use — private posts, photo carousels, audio-only Reels — are rejected before anything is debited.

Does it publish to social accounts?

No. The API returns a file. AutoHustle never asks for social credentials and has no access to any account.

Is there an MCP server?

Yes. https://autohustle.me/api/mcp speaks the Model Context Protocol over Streamable HTTP, with the same API key sent as an Authorization header. It exposes five tools — analyze_reel, generate_video, get_generation, get_pricing, get_me — which are the same endpoints, so pricing and refunds are identical whichever way you connect.

Create an API key

Analyzing a link is free — you can try the API before buying credits.