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.