Migrate from JSON2Video
5 minutesPhantomFlow uses the same JSON schema and HTTP API conventions as JSON2Video. Migration is a one-line change: update your base URL.
1Change your base URL
Replace the JSON2Video API endpoint with PhantomFlow. That is the only required change.
Before (JSON2Video)
https://api.json2video.com/v2/moviesAfter (PhantomFlow)
https://api.phantomflow.dev/api/render2Use the same x-api-key header
PhantomFlow uses the same x-api-key header for authentication. Get your PhantomFlow API key from the dashboard and swap it in.
# Same header, new key
curl -X POST https://api.phantomflow.dev/api/render \
-H "Content-Type: application/json" \
-H "x-api-key: ve_live_your_key_here" \
-d '{
"width": 1920,
"height": 1080,
"scenes": [{
"background-color": "#000000",
"elements": [{
"type": "text",
"text": "Migrated to PhantomFlow!",
"font_size": 64,
"color": "#06b6d4",
"position": "center"
}]
}]
}'3Same JSON schema
Your existing JSON scripts work with PhantomFlow. The schema is compatible: same element types, same property names, same structure. Use width and height (not a resolution object).
4Test with a ve_test_ key first
Use a test API key (prefixed ve_test_) to verify your integration without consuming credits. Test keys behave identically to live keys but cost nothing.
Settings Mapping
Property names that differ between JSON2Video and PhantomFlow:
| JSON2Video | PhantomFlow | Notes |
|---|---|---|
| font-family | font | Same values |
| font-size | font_size | Same values |
| font-color | color | Hex color string |
| background-color | background-color | Identical |
| font-weight | font_weight | Same values |
| font-style | font_style | Same values |
| text-align | text_align | Same values |
| line-height | line_height | Same values |
| letter-spacing | letter_spacing | Same values |
| text-decoration | text_decoration | Same values |
| opacity | opacity | 0-1 float |
Compatibility Checklist
Features supported in the PhantomFlow compatibility layer:
Ready to migrate?
Get your PhantomFlow API key and test with a ve_test_ key before switching production traffic.