Skip to main content

1. Create an API key

First, create an API key from the dashboard or via the API using your JWT token:
curl -X POST https://reelmirror.com/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "My First Key"}'
Save the returned key value securely. It starts with rm_ and is only shown once.

2. Create a persona

curl -X POST https://reelmirror.com/api/v1/personas \
  -H "Authorization: Bearer rm_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Travel Photographer"}'
Note the id from the response.

3. Upload an avatar

Every persona needs an avatar before generating content:
curl -X POST https://reelmirror.com/api/v1/uploads \
  -H "Authorization: Bearer rm_YOUR_KEY" \
  -F "file=@avatar.jpg" \
  -F "category=avatar" \
  -F "persona_id=YOUR_PERSONA_ID"
The upload automatically sets avatar_url on the persona — no separate PATCH needed.

4. Add a source

Link an Instagram account to track:
curl -X POST https://reelmirror.com/api/v1/personas/YOUR_PERSONA_ID/sources \
  -H "Authorization: Bearer rm_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform": "instagram", "username": "natgeo"}'

5. Sync content

Pull content from all tracked sources:
curl -X POST https://reelmirror.com/api/v1/personas/YOUR_PERSONA_ID/sync \
  -H "Authorization: Bearer rm_YOUR_KEY"
This returns job_ids you can poll:
curl https://reelmirror.com/api/v1/sync-jobs/JOB_ID \
  -H "Authorization: Bearer rm_YOUR_KEY"
Wait until status is completed.

6. Generate content

Pick a source post and generate:
curl -X POST https://reelmirror.com/api/v1/generate \
  -H "Authorization: Bearer rm_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source_post_id": "SOURCE_POST_ID", "persona_id": "YOUR_PERSONA_ID"}'

7. Poll for results

curl https://reelmirror.com/api/v1/generated-posts/GENERATED_POST_ID \
  -H "Authorization: Bearer rm_YOUR_KEY"
When status is completed, the media_items array will contain url fields with your generated content.

Quick clone (shortcut)

Skip steps 4-6 and clone directly from an Instagram URL:
curl -X POST https://reelmirror.com/api/v1/clone-url \
  -H "Authorization: Bearer rm_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.instagram.com/p/ABC123/",
    "persona_id": "YOUR_PERSONA_ID"
  }'
This fetches the post and triggers generation in one step.