WAN 3.0 is LIVE — 30s in one shot | Try in Video Generator →

wavespeed-ai/

AI Instagram Model generates stunning Instagram-style photos from your image and prompt. Choose from 10 style presets — influencer, street fashion, beach, fitness, luxury, casual chic, night glam, anime, cyberpunk, and vintage retro. Ready-to-use REST inference API, no coldstarts, affordable pricing.

image-to-image
Input

Idle

$0.05per run·~20 / $1

Next:

ExamplesView all

Related Models

README

AI Instagram Model

AI Instagram Model transforms your photos into professional, Instagram-worthy shots in seconds. Upload a photo, describe the look you want, and pick from 10 curated style presets — from influencer glam to cyberpunk vibes — and let AI handle the rest.

Why Choose This?

  • 10 curated style presets Choose from influencer, street fashion, beach, fitness, luxury, casual chic, night glam, anime, cyberpunk, or vintage retro — each with a distinct, polished aesthetic.

  • Prompt-driven creativity Describe exactly what you want and the model brings your vision to life alongside the chosen style.

  • Instant, professional results No editing skills required. Scroll-stopping, photo-ready output in seconds.

Parameters

ParameterRequiredDescription
promptYesText description of the desired photo look and feel.
imageYesInput photo (URL or file upload).
styleNoStyle preset. Default: influencer. See options below.

Style Options

StyleDescription
influencerInfluencer portrait, retouched skin, professional lighting. (default)
street_fashionStreet style, urban background, editorial look.
beachBeach vacation, golden tan, summer vibes.
fitnessFitness model, sportswear, muscle definition.
luxuryLuxury fashion, designer clothing, jewelry.
casual_chicCasual fashion, café setting, natural light.
night_glamEvening gown, night club, neon lighting.
animeAnime-style character, big eyes, cel shading.
cyberpunkNeon sci-fi, cyberpunk aesthetic, futuristic feel.
vintage_retroRetro 60s–70s, film grain, Hollywood look.

How to Use

  1. Upload your photo — a clear, well-lit, front-facing photo works best.
  2. Write a prompt — describe the look, mood, or specific details you want.
  3. Pick a style — choose from 10 presets, or leave as default (influencer).
  4. Submit — download your Instagram-ready result.

Pricing

Just $0.05 per image.

Best Use Cases

  • Social media content — Create scroll-stopping Instagram posts without a photoshoot.
  • Personal branding — Build a consistent, polished aesthetic across your feed.
  • Fashion lookbooks — Generate styled photos in multiple aesthetics from a single source image.
  • Creative exploration — Try anime, cyberpunk, or vintage looks on your own photos.

Pro Tips

  • Clear, well-lit portraits with a visible face and body produce the best results.
  • Be specific in your prompt — describe lighting, mood, outfit details, or setting for more accurate output.
  • Try multiple styles on the same photo to find your perfect look before committing to one.
  • Front-facing photos with a simple background are easiest for the model to work with.

Notes

  • Both prompt and image are required fields.
  • Style defaults to influencer if not specified.
  • Ensure image URLs are publicly accessible if using a link rather than a direct upload.
  • Please ensure your content complies with WaveSpeed AI's usage policies.
Note:This website uses AI models provided by third parties. Documentation prices are for reference and may be outdated. The Generate button shows an estimate; the final task charge prevails.

Ai Instagram Model API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-instagram-model with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Ai Instagram Model below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "style": "influencer"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-instagram-model" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-instagram-model";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
        "style": "influencer"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "style": "influencer"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-instagram-model", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Ai Instagram Model API — Frequently asked questions

What is the Ai Instagram Model API?

Ai Instagram Model is a WaveSpeedAI model for image editing, exposed as a REST API on WaveSpeedAI. AI Instagram Model generates stunning Instagram-style photos from your image and prompt. Choose from 10 style presets — influencer, street fashion, beach, fitness, luxury, casual chic, night glam, anime, cyberpunk, and vintage retro. Ready-to-use REST inference API, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Ai Instagram Model API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/wavespeed-ai/ai-instagram-model.

How much does Ai Instagram Model cost per run?

Ai Instagram Model starts at $0.050 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Ai Instagram Model accept?

Key inputs: `prompt`, `image`, `style`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/wavespeed-ai/ai-instagram-model.

How long does Ai Instagram Model take to generate?

Median end-to-end generation time on WaveSpeedAI is around 24 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Ai Instagram Model outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (WaveSpeedAI). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

AI Instagram Model | Fast Image Editing API on WaveSpeedAI