Releases: mlsapi/mlsapi-python
Release list
v0.1.1
0.1.1
Studio/content methods now send exactly the JSON fields the API reads. Every keyword
argument has the same name as its JSON key (and the JS SDK request type), and arguments
left as None are no longer sent, so the server applies its own defaults.
Fixed
-
staging.stagenow posts to/v1/studio/staging/stage(was/furnish). -
staging.restylesendsstyle(wastarget_style, which the server ignored). Addsretain_layoutandcustom_restyle_instructions. -
staging.replace_furnitureaddstarget_location_notesandpreserve_surroundings.staging.replace_materialaddscustom_finish_notes. -
staging.wall_colorsaddscustom_colorsand no longer always sendspalette_preset.staging.twilightno longer sendsinterior_lighting. -
custom.generatesendsreference_image_urlsand addsphoto_urlandaspect_ratio. -
render.architecturalsendscustom_instructionsand addsrender_type,lighting_environment,weatherandseason. -
video.walkthroughnow takes the Studio spec fieldsphoto_url,motion,duration_secondsandcustom_motion_prompt, plusaspect_ratio,mls_id,photo_urls,voice_idandmusic_mood. -
video.transitionaddstransition_styleandaspect_ratio.duration_secondsnow defaults to unset (the server uses 5); the old default of 3.0 was not a valid value. -
video.tourtakesordered_photosas{"room_name", "photo_url", "highlight"?}dicts and addsduration_seconds,auto_script,shot_script,aspect_ratioandmusic_genre. -
creatives.generate:mls_idis now optional, and the method addsphoto_url,photos,property_details,ad_type,custom_badge,custom_headline,highlights,open_house,include_carousel,agent_headshot_urlandrealtor_photo. It raisesValueErrorif you pass none ofmls_id,photo_urlorphotos. -
social.publishsendsdestinationsas{"platform", "target_type", ...}dicts and addsasset_typeandwebhook_url. -
staging.stageadds the spec fieldaspect_ratio.video.enhanceaddsmls_id. -
Defaults that were always sent are now left unset:
stageroom_type, style and preserve_flooring;restylestyle (was"scandinavian", so the server default"japandi"now applies);upscalescale_factor and enhance_details;floorplanstyle and the boolean flags;creativestrigger, direction and placements (the server default is["square"], not four placements);video.enhancefeatures;content.generateoutputs and tone. -
Result models now parse real server output and no longer raise
ValidationError:RestyleResultaccepts the server'sretyped_photo_urland exposes it asrestyled_photo_url.ReplaceFurnitureResultandReplaceMaterialResultuseupdated_room_photo_url.HouseTourResultusesvideo_url.CustomStudioResultusesimage_urlandprompt_applied.SocialPublishResult.resultsis a list.
Every model also gains the other fields the server returns. Unknown fields are kept rather than dropped.
-
StudioJobgainstype(also read fromjob_type) andestimated_completion_seconds. -
The test environment's base URL was
https://api.mlsapi.dev, which does not resolve. Both environments now usehttps://mlsapi.dev. The environment is sent as thex-key-envheader, as in the JS SDK. -
content.generateURL-encodesmls_id.
Added
TypedDictrequest shapes:WallColorSwatch,HouseTourRoomItem,SocialPublishDestination,CreativeBrandKit,CreativesPropertyDetails,OpenHouse,VideoEnhanceFeatures,SubtitleStyleandContentPropertyDetails.pymlsapi.__version__and theUser-Agentheader now come from one constant.
Deprecated (still accepted; each emits DeprecationWarning)
staging.restyle(target_style=...)→stylestaging.twilight(interior_lighting=...)is ignoredcustom.generate(image_urls=...)→reference_image_urls;negative_promptis ignoredrender.architectural(prompt=...)→custom_instructionsvideo.walkthrough(photos=...), or a list passed as the first argument →photo_urlsvideo.tour(ordered_photos=["url", ...])is converted to{"room_name": "Room N", "photo_url": url}.music_moodis ignored; usemusic_genre.social.publish(destinations=["instagram", ...])is converted to{"platform", "target_type"}dicts with a default target type for each platform. The top-levelcaptionis copied into each destination that has no caption of its own.- 0.1.0 result attribute names are still readable:
result_photo_url,target_furniture,surface_type,target_style,video_tour_url,output_url,prompt_usedandtransition_type.
Breaking (positional arguments only)
-
New and deprecated parameters are keyword-only. A few rarely used optional parameters from 0.1.0 can no longer be passed by position:
twilight:webhook_urlcustom.generate:negative_promptandwebhook_urlsocial.publish:captionandschedule_timevideo.tour:music_moodandwebhook_url
Pass them by keyword.